前些时间,我在常识星球上创建了一个音视频技术社群:关键帧的音视频开发圈,在这里群友们会一同做一些打卡使命。比方:周期性地收拾音视频相关的面试题,汇集一份音视频面试题集锦,你能够看看这个合集:音视频面试题集锦。再比方:循序渐进地概括总结音视频技术常识,绘制一幅音视频常识图谱,你能够看看这个合集:音视频常识图谱。
下面是 2022.12 月常识图谱新增的内容节选:
1)图谱途径:视频出产及编辑/视频质量/目标优化
编码质量优化:
- 挑选适宜的视频码率
-
- 经验公式:Bitrate = width * height * frameRate * factor,factor = 0.15
- 区分场景(外景拍照/人像拍照+低运动/中等运动/高运动)测试手机的编码质量来挑选指定分辨率、帧率时对应的码率甜点
- 挑选适宜的码率分配模式
-
- CBR:Constant Bitrate,固定比特率。编码内容的质量不稳定,简略产生马赛克。算法优先考虑码率(带宽),合适在流式播映中运用。
- VBR:Variable Bitrate,动态比特率。确保了质量,又统筹带宽限制。合适图画内容改变幅度较大的状况,合适的运用场景是媒体存储,但因为码率不均衡不合适网络传输。
- ABR:Average Bitrate,均匀比特率,是 VBR 的一种插值参数。在 CBR 和 VBR 两者之间的一种权衡,即设定一段时间的均匀码率,在此时间内,对简略、静态的图画分配低于均匀码率的码率,关于复杂的、很多运动的图画分配高于均匀码率的码流。码率分配比较均衡,比较合适网络传输。
- CRF:Constant Rate Factor,稳定码率系数。把某一个视觉质量作为输出方针。经过降低那些耗费码率可是又难以用肉眼察觉的帧(高速运动或者纹理丰富)的质量提高那些静态帧的码率来达到此意图。
- 设置 B 帧优化码率
-
- P 帧巨细相当于 I 帧巨细的 1/10 ~ 1/20。B 帧是双向猜测图画帧,B 帧巨细约是 I 帧巨细的 1/50。
- 设置了 B 帧了,有更大的操作空间来调高码率,完成提高明晰度的方针。
- 或许带来一些编码推迟。
- 调整 GOP 长度优化码率
-
- 因为 I 帧较大,当设置 GOP 长度越长时,I 帧就较少,占用码率就越少,这样咱们也能够取得更多的空间来相应地调大码率提高明晰度。
- GOP 太长在直播场景会增大推迟。
- 挑选适宜的 Profile
-
- Baseline Profile:基本画质。支撑 I/P 帧,只支撑无交织(Progressive)和 CAVLC。
- Extended Profile:进阶画质。支撑 I/P/B/SP/SI 帧,只支撑无交织(Progressive)和 CAVLC。
- Main Profile:干流画质。提供 I/P/B 帧,支撑无交织(Progressive)和交织(Interlaced),也支撑 CAVLC 和 CABAC。
- High Profile:高档画质。在 Main Profile 的基础上增加了 8×8 内部猜测、自定义量化、无损视频编码和更多的 YUV 格局。
- Baseline、Extended、Main 都是针对 8 位样本数据、YUV 4:2:0 格局的视频序列。
- 在相同装备状况下,High Profile 能够比 Main Profile 降低 10% 的码率。
- Baseline Profile 多运用于实时通信范畴,Main Profile、High Profile 多运用于流媒体范畴。
- 尽量运用 HEVC 编码
-
- HEVC 对比 H.264 可降低 30% 以上码率,能够为咱们发明更多的空间来提高码率优化画面。
- 合理运用软编和硬编优化编码
-
- 软编码相关于硬件编码画质更好,设备适配更好,但功能较差。
- 关于功能要求不高的场景更合适软件编码,例如短视频录制;功能要求较高的场景则挑选硬件编码。
画面质量优化:
- 锐化
-
- 图画锐化是补偿图画的概括,增强图画的边缘及灰度跳变的部分,使图画变得明晰。
- USM(Unsharpen Mask)锐化
- 拉普拉斯(Laplace)锐化
- 高通滤波
- 降噪
-
- 均值滤波(Mean Filter)
- 高斯滤波(Gauss Filter)
- 中值滤波(Medium Filter)
- 双方滤波(Bilateral Filter)
- 导向滤波(Guided Filter)
- 防抖
-
- 传统电子防抖
- 光学防抖
- 陀螺仪电子防抖
- 光学 + 电子混合防抖
- 微云台防抖
- 传感器防抖
- 超分
-
- 指经过机器学习地方式重建图画,达到提高图画分辨率的效果。
- 现在比较老练的超分技术是 Real-ESRGAN,根据 BasicSR,采用 ESRGAN 算法,利用机器学习的优势对图片和视频进行去含糊、Resize、降噪、锐化等处理,重建图片,完成对图片的超分辨率处理。
- 对焦优化
-
- 自动对焦
- 人像对焦
- 场景切换对焦
- 色彩优化
-
- 色彩调整
- HDR 兼容
- 含糊检测
2)图谱途径:播映器/播映成功率/目标优化
- 网络传输问题优化
-
- HTTPDNS
- 网络重连
- 视频格局问题优化
-
- 兼容更多的 Demuxer
- 视频格局统一
- 视频编码问题优化
-
- 兼容更多的编码格局
- 编码格局收敛
- 解码方式兜底
- 视频同步问题优化
-
- 音视频交织处理
- 视频渲染问题优化
-
- 视频色差问题优化
- 视频画面视点兼容
- 视频画面比例兼容
3)图谱途径:播映器/播映秒开/目标优化
- 事务侧结合优化
-
- 客户端事务侧提早获取流地址
- 运用 URL 替代 VID 方式
- 上下滑短视频场景提早加载播映器
- 封面图明晰度降级
- DNS 解析
-
- 优化 DNS 解析进程
- 提高 HTTP DNS 的有效率
- TCP 衔接
-
- 优化 TCP 建连耗时
- 经过 TCP Fast Open 优化 TCP 建连时长
- 经过 TCP 预衔接和衔接复用优化建连时长
- 防止首帧网络带宽争抢
- HTTP 呼应
-
- 优化 HTTP 呼应耗时
- 提高 CDN 边缘节点命中率
- 优化短视频第一次 Get 恳求
- 音视频勘探
-
- 优化音视频流勘探耗时
- 短视频前置 moov box
- 提早创建解码器
- 音视频解码
-
- 提早创建解码器
- 优化解码器刷新操作
- 缓冲和起播战略
-
- 优化 Buffer 填充耗时
- 流媒体服务器侧 GOP 缓存
- 服务端快速下发战略
- 提高 HLS 的播映秒开
- 优化 IJKPlayer 在设置 Surface 时重置解码器的等候时长
- 视频预加载
- 视频本地缓存
- 渲染
-
- 播映器预渲染
- 预渲染首帧代替封面图
4)图谱途径:播映器/播映卡顿/目标优化
- 码率调控
-
- 码率适配
- H.265 降码率
- 软编降码率
- 播映器战略
-
- 运用音频缓冲区水位线来驱动起播
- 动态缓冲战略
- 低缓冲时低倍速播映
- 短视频缓存和预加载
- 设置卡顿超时
- 推流端战略
-
- 推流端支撑退后台持续推流
- CDN 战略
-
- 运营商效应和百秒卡顿时长的联系
- CDN 的吐数据战略
- 推流断开后的 CDN 状况优化
5)图谱途径:播映器/直播延时/目标优化
- 播映战略
-
- 高缓冲高倍速播映
- 丢帧
- CDN 战略
-
- CDN 吐数据操控
- 传输协议优化
-
- 根据 WebRTC 完成直播推拉流
下面是 2022.12 月的常识图谱新增内容快照(图片被渠道紧缩不行明晰,能够加文章后边微信索要明晰原图):
2022.12 常识图谱新增内容
如果你也对音视频技术感兴趣,比方,契合下面的状况:
- 在校大学生 → 学习音视频开发
- iOS/Android 客户端开发 → 转入音视频范畴
- 直播/短视频事务开发 → 深入音视频底层 SDK 开发
- 音视频 SDK 开发 → 提高技术,解决优化瓶颈
vx 搜索『gjzkeyframe』 重视『关键帧Keyframe』。发送消息『常识星球』来取得常识星球二维码