FFmpeg MOV 到 MP4,我还需要 .OGG 、 .WEBM 文件吗?

问题描述 投票:0回答:1

我是 FFmpeg 的新手,我才刚刚开始。我有以下两个命令来上传

.mov
并缩小其大小并将其另存为
.mp4
。我还制作了相同的缩略图版本。

我在这里所做的似乎效果很好,我设法将

.mov
文件从 12.5mb 缩小到大约 1mb
.mp4

我的问题是,我可以只为源视频提供

.mp4
,还是还需要提供额外的
.ogg
和/或
.webm
文件?如果是这样,如何最好地实现这一目标?我是否必须再次循环 FFmpeg 命令才能输出新的
.ogg
.webm
文件?

exec("ffmpeg -i src.mov -ss 00 -to 60 -vf scale=700:-1 -crf 30 -an -movflags +faststart output.mp4");

exec("ffmpeg -i src.mov -ss 00 -to 10 -vf 'scale=128:128:force_original_aspect_ratio=increase, crop=128:128' -crf 30 -an tn_output.mp4");

ffmpeg html5-video
1个回答
1
投票

我可以只为源视频提供 .mp4,还是还需要提供额外的 .ogg 和/或 .webm 文件?

我不太精通 webdev,但您希望您的

<video>
内容拥有多个来源以实现浏览器兼容性。例如,IIRC,Chromium 本身不支持 mp4。

如果是这样,如何最好地实现这一目标?我是否必须再次循环 FFmpeg 命令才能输出新的 .ogg 和 .webm 文件?

FFmpeg 可以从一个源同时生成多个视频文件:

ffmpeg -i src.mov -ss 00 -to 60 \
  -filter_complex [v:0]scale=700:-1,split=3[v1][v2][v3] \
  -map [v1] output.mp4 \
  -map [v2] output.webm \
  -map [v3] output.ogg

您需要使用

split
过滤器来复制视频流,因为一个流只能由一个输出文件使用。

我不确定这是否比调用 FFmpeg 3 次更快(最有可能,但我自己从未尝试过)。

© www.soinside.com 2019 - 2024. All rights reserved.