【问题标题】:Targeting a specific file size in vp8+vorbis encoding using ffmpeg使用 ffmpeg 在 vp8+vorbis 编码中定位特定文件大小
【发布时间】:2021-10-07 01:06:23
【问题描述】:

我有几个视频要编码为 vp8 的视频和 Vorbis 的音频。这是我目前正在使用的 FFmpeg 命令:

ffmpeg -y -i input.mp4 -map 0:v:0 -s 640x360 -filter:v fps=20 -c:v libvpx -crf 10 -b:v 200k -map 0:a:0 -b:a 48k -c:a libvorbis output.webm

我想控制输出文件的大小并将其限制为 3MB 而不剪辑视频,但反而会降低质量。所以我不能使用-fs 3MB

如何根据视频和音频比特率和持续时间确定文件大小?

如何在不裁剪的情况下限制文件大小?

【问题讨论】:

  • 任何帮助将不胜感激...

标签: ffmpeg


【解决方案1】:

10 秒输入的示例,输出略低于 3 MB:

3 MB * 8000 / 10 seconds - 48kb audio bitrate - 1% muxing overhead = -b:v 2328k

针对特定输出文件大小时使用两遍编码:

ffmpeg -y -i input.mp4 -map 0:v:0 -filter:v "scale=640:360,fps=20" -c:v libvpx -b:v 2328k -pass 1 output.webm
ffmpeg -y -i input.mp4 -map 0:v:0 -filter:v "scale=640:360,fps=20" -c:v libvpx -b:v 2328k -map 0:a:0 -c:a libvorbis -b:a 48k -pass 2 output.webm

见:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 2014-02-05
    • 2013-12-14
    • 2018-06-06
    相关资源
    最近更新 更多