音视频知识图谱 2022.12

2023-02-14 16:50:24 浏览数 (2)

前些时间,我在知识星球上创建了一个音视频技术社群:关键帧的音视频开发圈,在这里群友们会一起做一些打卡任务。比如:周期性地整理音视频相关的面试题,汇集一份音视频面试题集锦,你可以看看这个合集:音视频面试题集锦。再比如:循序渐进地归纳总结音视频技术知识,绘制一幅音视频知识图谱,你可以看看这个合集:音视频知识图谱

下面是 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 的基础上增加了 8x8 内部预测、自定义量化、无损视频编码和更多的 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 知识图谱新增内容

0 人点赞