FFmpeg MOV 到 MP4,我还需要 .OGG , .WEBM 文件吗?
FFmpeg MOV to MP4, do I also need .OGG , .WEBM files too?
我是 FFmpeg 的新手,我才刚刚开始。我有以下两个命令来进行 .mov
上传和缩小,并将其保存为 .mp4
。我也制作了相同的缩略图版本。
我在这里所做的似乎很有效,我设法将 .mov
文件从 12.5mb 减少到大约 1mb .mp4
。
我的问题是,我可以只为源视频提供 .mp4
吗?还是我需要提供额外的 .ogg
and/or .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");
can I get away with only providing a .mp4 for the source video, or do I need to provide additional .ogg and/or .webm files too?
我不是 webdev 中的 well-versed,但您希望 <video>
内容具有多个来源以实现浏览器兼容性。例如,IIRC,Chromium 本身不支持 mp4。
An if so, how is that best achieved? Would I have to loop that FFmpeg command again to output new .ogg and .webm files?
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.egg
您需要使用 split
过滤器来复制视频流,因为一个流只能由一个输出文件使用。
我不确定这是否比调用 FFmpeg 3 次更快(很有可能,但我自己从未尝试过)。
我是 FFmpeg 的新手,我才刚刚开始。我有以下两个命令来进行 .mov
上传和缩小,并将其保存为 .mp4
。我也制作了相同的缩略图版本。
我在这里所做的似乎很有效,我设法将 .mov
文件从 12.5mb 减少到大约 1mb .mp4
。
我的问题是,我可以只为源视频提供 .mp4
吗?还是我需要提供额外的 .ogg
and/or .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");
can I get away with only providing a .mp4 for the source video, or do I need to provide additional .ogg and/or .webm files too?
我不是 webdev 中的 well-versed,但您希望 <video>
内容具有多个来源以实现浏览器兼容性。例如,IIRC,Chromium 本身不支持 mp4。
An if so, how is that best achieved? Would I have to loop that FFmpeg command again to output new .ogg and .webm files?
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.egg
您需要使用 split
过滤器来复制视频流,因为一个流只能由一个输出文件使用。
我不确定这是否比调用 FFmpeg 3 次更快(很有可能,但我自己从未尝试过)。