前些时间,我在常识星球上创建了一个音视频技术社群:关键帧的音视频开发圈,在这里群友们会一同做一些打卡使命。比方:周期性地收拾音视频相关的面试题,汇集一份音视频面试题集锦,你能够看看这个合集:音视频面试题集锦。再比方:循序渐进地概括总结音视频技术常识,绘制一幅音视频常识图谱,你能够看看这个合集:音视频常识图谱。

下面是 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

2022.12 常识图谱新增内容


如果你也对音视频技术感兴趣,比方,契合下面的状况:

  • 在校大学生 → 学习音视频开发
  • iOS/Android 客户端开发 → 转入音视频范畴
  • 直播/短视频事务开发 → 深入音视频底层 SDK 开发
  • 音视频 SDK 开发 → 提高技术,解决优化瓶颈

vx 搜索『gjzkeyframe』 重视『关键帧Keyframe』。发送消息『常识星球』来取得常识星球二维码