前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >音视频学习 - 编解码器 (Codec)

音视频学习 - 编解码器 (Codec)

作者头像
不会跳舞的鸟
发布2022-11-16 09:55:59
7120
发布2022-11-16 09:55:59
举报
文章被收录于专栏:不会跳舞的鸟

视频编解码器 (Video Codec)

常用的编解码器

  • libx264: H.264(AVC) 的实现
  • libx265: H.265(HEVC) 的实现,Chromium 不支持硬解
  • libvpx-vp9: Google 家的
  • libaom-av1: AOMedia 出的开源免费 AV1 编码器,主要 Google 维护
  • libdav1d: VideoLAN、VLC、FFmpeg 联合开发,AOMedia 资助

使用

以 libx264 在 FFmpeg 命令行使用为例

代码语言:javascript
复制
ffmpeg -i input.mp4 -c:v libx264 -x264-params threads=1:br:1000:maxrate=1000:minrate=1000:bufsize=1000 out.mp4
  • -x264-params 编码器私有参数要通过类似这样的字段传入,每个编码器的不同

libx264

  • x264-params

libx265

  • x265-params

libaom-av1

  • aom-params

杂谈

相同参数转码结果不一定相同

编码器在编码时,开启多线程会导致编码效果不稳定,常常出现相同参数两次编码结果,PSNR 可能会相差 1dB。 请教过编码器专家,给出的原因是:

  1. 多线程编码时,可能会产生编码顺序的竞争关系,导致区块面积不同
  2. 多帧多线程编码时,vbv 码控的每帧编码速度不同,导致码控点看到编码状态有差异,做出不同的编码策略

所以在做测评的时候,要保证单线程转码

References

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 视频编解码器 (Video Codec)
    • 常用的编解码器
      • 使用
        • libx264
          • libx265
            • libaom-av1
              • 杂谈
                • 相同参数转码结果不一定相同
            • References
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档