音视频技术小分享
阿亮
共 1896字,需浏览 4分钟
·
2022-02-09 17:35
直播技术剖析
直播流程
直播流程: 录制->编码->网络传输->解码->播放 (中间还会有转码的过程,转成不同分辨率的流)
Ucloud 直播技术分享连载:http://blog.ucloud.cn/archives/694
- 网络接入部分,实现对用户位置的判断。(通过用户访问的dns进行判断用户所在的网络地址)
- 视频传输协议的选择
- 缓存策略
- I帧(important)表示关键帧。你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成。(因为包含完整画面) GOP表示 多少秒一个I帧
- P帧表示这一帧跟之前的一个关键帧(或P帧)的差别。解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据)
- B帧是双向差别帧。**B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况)。换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。
视频流知识
视频质量概念
音视频计划博客 : https://juejin.im/entry/59422a015c497d006bc15b1d
- 码率
编码器每秒编出的数据大小,一般单位是kbps,比如800kbps代表编码器每秒产生800kb(或100KB)的数据。
基本的算法是:【码率】(kbps)=【文件大小】x8 x 1024/【时间】(秒)
CBR(Constant BitRate)
固定码率。
VBR(Variable BitRate)
动态码率,目前obs开播基本为动态码率
- 帧率
FPS(每秒钟要多少帧画面); 以及Gop(表示多少秒一个I帧) ,人体帧率24 FPS已经看不出区别
帧率×分辨率=压缩前的每秒数据量(这里可以算出一个字节大小)
压缩比=压缩前的每秒数据量/码率
- 码率影响体积,与体积成正比:码率越大,体积越大;码率越小,体积越小。
- 帧率影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。如果码率为变量,则帧率也会影响体积,帧率越高,每秒钟经过的画面越多,需要的码率也越高,体积也越大。
- 分辨率影响图像大小,与图像大小成正比:分辨率越高,图像越大;分辨率越低,图像越小。
简单的比喻: 码率是自来水管的谁呀,分辨率720p/1080p就是水管网的直径,分辨率可能就是自来水龙头的粗细。最重要的是水源地的水源是否充足,即视频的源头信息是否满足
FPS: 每秒钟要多少帧画面
视频码率规格建议:
视频流协议
常见的视频流协议有 RTMP、HTTP-FLV、HLS
考虑三种协议的时延以及适用场景
详细解析:https://www.jianshu.com/p/4c89b2c83e59
- RTMP 工作于TCP上的应用层协议,默认为1935端口
RTMP协议比较全能,既可以用来推送又可以用来直播,其核心理念是将大块的视频帧和音频帧“剁碎”,然后以小数据包的形式在互联网上进行传输,而且支持加密,因此隐私性相对比较理想,但拆包组包的过程比较复杂,所以在海量并发时也容易出现一些不可预期的稳定性问题。 - FLV HTTP-FLV
HTTP-FLV协议由Adobe公司主推,格式极其简单,只是在大块的视频帧和音视频头部加入一些标记头信息,由于这种极致的简洁,在延迟表现和大规模并发方面都很成熟。唯一的不足就是在手机浏览器上的支持非常有限,但是用作手机端APP直播协议却异常合适,延迟低 - HLS
HLS协议:苹果推出的解决方案,将视频分成5-10秒的视频小分片,然后用m3u8索引表进行管理,由于客户端下载到的视频都是5-10秒的完整数据,故视频的流畅性很好,但也同样引入了很大的延迟(HLS的一般延迟在10-30s左右)。相比于FLV, HLS在iPhone和大部分android手机浏览器上的支持非常给力,所以常用于QQ和微信朋友圈的URL分享
适用于赛事等情况
H5 原生仅支持 mp4/webm, 不支持flv,但是flash支持flv却资源开销巨大
所以b站针对这个情况 推出了 : https://github.com/Bilibili/flv.js/
H264 编码格式
refer to :https://juejin.im/entry/5833dc86570c35006c22cfb1
优秀的编码技术能够实现 以更低的码率传递更优质的视频流。
核心技术: 一张图片经H.264编码器之后,被编码成一个或者多个片
评论
音视频剪辑软件分享
下面,咱们就把国内外比较好的音视频剪辑软件给大家罗列一下,大家想用的就可以去下载应用起来。这些软件的特点除了应用简单之外,剪辑效果也很棒。
1、迅捷音频转换器
支持转换mp3、ogg、flac、wav等音频格式,转换效率也是一般的音频转换器无法比拟的,另外,此软件还支持音频剪切、音频合并、音频提取等编辑功能
2、davinci resolve
实现超像素级处理,是一款超级强大的视频处理软件,好用到爆,谁用谁知道,目前也有中文版可以下载。
3、vsdc video editor
它比较出彩的一个特点就是非线性视频编辑软件,有知道什么叫非线性的不?
4、shotcut
属于一个功
阎老头
0
音视频开发之旅(32)-音视频学习资料
目录
1. 为什么要学习音视频?
2. 如何学习系统性音视频?
3. 音视频相关的资料
4. 学习实践的输出文章分类聚合
5. 收获
最近有朋友问想学习音视频,应该怎么学,有什么资料吗?
这个问题也困扰我很久,几年前就想开始音视频相关的学习,但是一直找不到门道,坚持不过两周。回看这个系列文章,到目前写了30+篇,虽还不敢说已入门,因为越学越发现 不会的知识、需要学的东西就越多。但为什么相比过去几年的几次尝试,这次持续时间更长、不断有文章输出呢?
这篇文章就和对自己进行检视反思,希望对想学习音视频的朋友也有所帮助。
为什么要学习音视频?
我是做android应用开发,android本身也是有很多需要深入学习的内容
yabin小站
0
音视频字幕平台
音视频字幕平台(AIT)是一套高效优质的字幕解决方案,能够覆盖音视频转写、翻译、编辑、压制的字幕生产全流程,为企业节省字幕处理成本,提升字幕处理效率,优化字幕质量,简化工作流程。
腾讯云
0
实时音视频 TRTC
实时音视频(Tencent RTC)主打低延时互动直播和多人音视频两大解决方案,支持低延时直播观看、实时录制、屏幕分享、美颜特效、立体声等能力,还能和直播 CDN 无缝对接,适用于互动连麦、跨房PK、语音电台、K 歌、小班课、大班课、语音聊天、视频聊天、在线会议等业务场景。
腾讯云
0
音视频学习笔记1--音视频基础知识(1)
1 音视频开发是什么?
随着5G时代的到来和人们生活中对于音视频的需求,音视频已经迎来了春天,那么音视频指的是什么呢?音视频是一个描述比较宽泛的领域,从音视频信息的采集到编码到流媒体的传输,再到客户端进行拉流直至解码并播放出来,都属于音视频开发的范畴,也因此音视频开发虽说没有算法那么高的门槛,但是其知识多而杂,加上国内音视频开发的书籍资料较少,所以入门较难。 那么音视频简单来说具有那些领域呢?作者将其分为以下几种: 1.Android、IOS、Windows客户端开发,这部分主要针对音视频采集、编解码与客户端开发技术栈相结合,实现音视频采集、传输等操作,开发人员需要对ffmpeg、webrtc等开源项目熟悉。 2.流媒体服务器开发
GuanMX
0
音视频测试实战——记音视频测试那些事
2020年一开年,疫情打乱了人们的节奏。买东西不能出门了,学校也不开学了,上班也home office了,在这种情况下,直播带货、在线教学、视频会议都被推上了风口浪尖。但是假如直播过程中突然听不到主播声音或者画面,抑或者声音和画面效果很差,这肯定是影响体验的。那么一款产品怎么才能在测试阶段尽可能发现问题和解决问题呢?通过这篇文章,期望让大家了解到音视频关注的指标,对音视频的评测过程有一个基本的了解。本篇文章来自网易智企研发叶绍秋,转载请注明作者和出处。
推荐好友奖励升级,现在推荐好友使用网易云信,最低拿3000元京东卡奖励,立即推荐>>
知乎画报
本文主要从三个方面展开,一是音视频测试的目的,主要说音视频测试能解决的问题,比较
网易云信
0