gpt4 book ai didi

windows - 如何使用 Batch For Loop 执行 ffmpeg

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

FOR %%A IN (%*) DO ffmpeg -y -i %%A -c:v prores_ks -profile:v 3 -c:a pcm_s16le "%%~dpA%%~nA.mov"

该批处理文件旨在获取多个拖放到其上的文件,并使用 ffmpeg 对其进行转码。该命令导致一大堆与该命令相似的打印输出,但它不执行。我也尝试过使用 start cmd.exe/c,但这会导致打开许多窗口,需要重新启动计算机。

编辑: Squash 手已经明确表示,这个解决方案无论如何都行不通(谢谢!)。但是,我已编辑脚本以一次仅对单个文件执行操作,但它仍然无法按预期执行并导致循环打印输出。
ffmpeg -y -i %%1 -c:v prores_ks -profile:v 3 -c:a pcm_s16le "%%~dp1%%~n1.mov"

如何修改此脚本以正确执行 ffmpeg?

编辑2:通过将文件夹拖放到批处理脚本上来解决。
cd /d %1
md output
FOR /F %%A IN ('dir /B %1') do ffmpeg -y -i %%A -c:v prores_ks -profile:v 3 -c:a pcm_s16le "output/%%~nA.mov"
pause

最佳答案

期望所有 .mov 文件都驻留在当前目录中。如果没有,请将路径添加到“*.mov”和“%%~A.mov”中。

FOR /F "tokens=1,2 delims=." %%A IN ('dir /B *.mov') do ffmpeg -y -i %%A -c:v prores_ks -profile:v 3 -c:a pcm_s16le "%%~A.mov"

另一种方法是使用 PPX http://www.pirosa.co.uk/demo/wxargs/wxargs.html并利用所有 CPU 内核加速整个过程
dir /b *.%required_file_extension% |ppx2 -P 4 -L 1 ffmpeg -y -i %%A -c:v prores_ks -profile:v 3 -c:a pcm_s16le "{}.mov"

关于windows - 如何使用 Batch For Loop 执行 ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60310563/

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