如何通过命令行或批处理脚本与ffmpeg转换整个目录/文件夹?
当前回答
如果您想要一个图形界面来使用ffmpegX进行批处理,请尝试Quick Batcher。它是免费的,并将使用您最后的ffmpegX设置来转换您放入其中的文件。
注意,不能将文件夹拖放到Quick Batcher上。所以选择文件,然后把他们通过快速批处理。
其他回答
如果你有GNU并行,你可以将vid_dir以下的所有。avi文件并行转换为mp4,使用你的CPU内核
find vid_dir -type f -name '*.avi' -not -empty -print0 |
parallel -0 -j -1 ffmpeg -loglevel fatal -i {} {.}.mp4
要从/转换为不同的格式,请更改'*。Avi '或。mp4。GNU parallel在大多数Linux发行版的存储库中以一个通常称为parallel的包的形式列出。
在Windows上:
FOR /F "tokens=*" %G IN ('dir /b *.flac') DO ffmpeg -i "%G" -acodec mp3 "%~nG.mp3"
为了逗你笑,这里有鱼壳的解决方案:
for i in *.avi; ffmpeg -i "$i" (string split -r -m1 . $i)[1]".mp4"; end
这是我用来批量转换avi到1280x mp4
FOR /F "tokens=*" %%G IN ('dir /b *.avi') DO "D:\Downloads\ffmpeg.exe" -hide_banner -i "%%G" -threads 8 -acodec mp3 -b:a 128k -ac 2 -strict -2 -c:v libx264 -crf 23 -filter:v "scale=1280:-2,unsharp=5:5:1.0:5:5:0.0" -sws_flags lanczos -b:v 1024k -profile:v main -preset medium -tune film -async 1 -vsync 1 "%%~nG.mp4"
作为一个cmd文件,运行它,循环找到该文件夹中的所有avi文件。
调用MY(更改为您的)ffmpeg,传递输入名称,设置为缩放锐化。我可能不需要CRF和“-b:v 1024k”…
输出文件是减去扩展名的输入文件,mp4作为新的ext。
如果您想要一个图形界面来使用ffmpegX进行批处理,请尝试Quick Batcher。它是免费的,并将使用您最后的ffmpegX设置来转换您放入其中的文件。
注意,不能将文件夹拖放到Quick Batcher上。所以选择文件,然后把他们通过快速批处理。
推荐文章
- 使用ffmpeg添加文本字幕
- ffmpeg输出的含义(tbc, tbn, tbr)
- 最快的方法提取帧使用ffmpeg?
- 哪个HTTP状态代码表示“尚未准备好,稍后再试”?
- Android上的FFmpeg
- 实时http流到HTML5视频客户端的最佳方法
- 如何添加一个新的音频(不混合)到一个视频使用ffmpeg?
- ffmpeg、libav和avconv之间有什么不同和相似之处?
- Ffmpeg覆盖输出文件,如果存在
- 如何安装和运行phpize
- 使用ffmpeg将音频文件转换为mp3
- FFMPEG (libx264)高度不能被2整除
- 操作系统检测生成文件
- 如何创建一个视频从图像与FFmpeg?
- 如何用ffmpeg转换整个目录?