gpt4 book ai didi

ffmpeg - 递归地将 .mp4 文件重新编码为 .mp4 的新副本,并使用 ffmpeg 将 .mp4 转换为 .webm 和 .ogg

转载 作者:行者123 更新时间:2023-12-04 23:27:34 27 4
gpt4 key购买 nike

我在 .mp4 中有大约 300 个视频我需要重新编码为新的文件 .mp4文件并将它们转换为 .webm.ogg文件。

我想在命令行使用 ffmpeg ,并且我有以下命令可以转换 .mp4变成 .webm .

find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -vcodec libvpx -acodec libvorbis -cpu-used 5 -threads 8 "${0%%.mp4}.webm"' {} \;

谁能帮我将此命令修改为两个单独的命令,一个用于 .mp4 -> .mp4 (用 -2 为文件名添加后缀)和另一个为 .mp4 -> .ogg ?

谢谢你。

最佳答案

好吧,因为我没有得到任何回复,我自己找到了答案。

因此,为了其他希望做同样事情的人的利益,以下是我整理的各种命令:

webm
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -vcodec libvpx -acodec libvorbis -vf scale=-1:480 -cpu-used 5 -threads 8 "${0%%.mp4}.webm"' {} \;
ogv
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -vcodec libtheora -acodec libvorbis -vf scale=-1:480 -cpu-used 5 -threads 8 "${0%%.mp4}.ogv"' {} \;
flv
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -c:v libx264 -ar 22050 -crf 28 -vf scale=-1:480 -cpu-used 5 -threads 8 "${0%%.mp4}.flv"' {} \;
mp4
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -vcodec libx264 -vf scale=-1:480 -cpu-used 5 -threads 8 "${0%%.mp4}-2.mp4"' {} \;
jpg
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" -ss 00:00:10 -vframes 1 -r 1 -vf scale=-1:480 -f image2 "${0%%.mp4}.jpg"' {} \;

请注意,我添加了标志 -vf scale=-1:480它按比例缩放视频。我已将高度设置为 480px 并自动计算宽度。

另外,请注意,我还包含了每个视频的屏幕截图导出。在视频的第 10 秒进行捕获并保存为 jpeg 文件。

如果您想保留原始文件的日期,以便新版本(.webm、.ogv、.mp4、.flv)具有相同的修改日期,您可以使用 touch命令如下:
touch -r oldfile newfile

关于ffmpeg - 递归地将 .mp4 文件重新编码为 .mp4 的新副本,并使用 ffmpeg 将 .mp4 转换为 .webm 和 .ogg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38372780/

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