gpt4 book ai didi

ffmpeg - 使用 FFmpeg 编码 H.264 CBR 视频

转载 作者:行者123 更新时间:2023-12-04 01:02:59 26 4
gpt4 key购买 nike

我正在尝试将带有 ffmpeg 的视频编码为具有恒定比特率的 H.264(通过 libx264 库)。我知道,我知道,VBR 通常是首选,但对于这个特定的工作,我需要使用 CBR(只要它每秒这么多千字节;它不必是每帧的精确千字节,afaik) .我用来测试的示例视频来自这里:http://a1408.g.akamai.net/5/1408/1388/2005110403/1a1a1ad948be278cff2d96046ad90768d848b41947aa1986/sample_iTunes.mov.zip (来自 http://support.apple.com/kb/HT1425 )

使用 MPEG-4 视频(使用命令 ffmpeg -i sample_iTunes.mov -b 819968 -minrate 819968 -maxrate 819968 out.mov )对视频进行编码时,我可以获得恒定的比特率,并且比特率符合预期。通过 QuickTime Inspector 阅读视频的规范,它的数据速率为 844.94 kbit/s。凉爽的。

但是,当我将编解码器更改为 libx264 时,它似乎完全忽略了我的比特率请求!我正在尝试的命令是“ffmpeg -i sample_iTunes.mov -vcodec libx264 -vpre medium -b 819968 -vb 819968 -minrate 819968 -maxrate 819968 -bufsize 400000 test.mov”。但是当我通过 QuickTime Inspector 检查视频规范时,它的数据速率为 254.74 kbit/s。怎么回事?这甚至不接近!

我试过改变这么多参数并添加大量不同的东西,我花了 2 天时间在谷歌上搜索,但我似乎无法让它工作。如果我使用 MainConcept H.264 编码器对视频进行编码,我可以获得恒定的比特率,但我需要它才能与 ffmpeg 一起使用。

如果有人能帮我弄清楚如何用 FFmpeg 进行 CBR H.264 编码,我会永远爱你!

最佳答案

我也一直在努力尝试让 CBR 脱离 x264。我找到了这个博客 post Dark Shakari 相当有趣。

这是我将低延迟 CBR 视频转换为 MPEG 传输流的内容:

ffmpeg -i sintel_trailer-720p.mp4 -an -tune zerolatency \
-x264opts bitrate=4000:vbv-maxrate=4000:vbv-bufsize=166 \
-vcodec libx264 -f mpegts -muxrate 4000K -y trailer.ts

根据您设置的 x264 开发者博客:
  • vbv-maxrate = 比特率 = B = 目标比特率
  • vbv-bufsize = B/fps(在本视频中为 24 fps)

  • 最后,为 -tune zerolatency 的 x264 设置 ffmpeg 开关。

    希望这会有所帮助。而且,如果有人对此有改进,请告诉我!

    关于ffmpeg - 使用 FFmpeg 编码 H.264 CBR 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7125446/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com