ffmpeg 多重转换视频并将它们放在同一路径中

ffmpeg 多重转换视频并将它们放在同一路径中

我在 Ubuntu 上使用 FFMPEG 将 MOV 转换为 FLV。

我的问题是我有 10 个文件夹和子文件夹包含这些视频,我想要一个命令行或 WinFF GUI 中的一种方式来一次性转换它们,而不是一个接一个地转换它们并将它们放回文件夹中,以便每个转换目标都与正在转换的视频相同。

此外,我对我得到的答案存在一个疑问,那就是它无法转换非英文视频,甚至无法转换路径不是用英文写的,例如阿拉伯语。

答案1

在 bash (即 ubuntu) 中你可以这样做

for file in $(cat filelist.txt)
do
    ffmpeg -i $file $(echo $file|sed 's/\.[^.]*$//').flv
done

或者如果子目录位于同一棵树中

find . -type f -name \*mov|
while read file
do
    ffmpeg -i $file $(echo $file|sed 's/\.[^.]*$//').flv
done

嗯,写完 Windows 部分后才看到您使用的是 Ubuntu :-) 在 Windows 上,您可以使用以下命令for

makeflv.bat:

setlocal
set file=%1
for %%f in (%file%) do (
  set name=%%~nf
  set directory=%%~pf
  ffmpeg -i %file% %directory%%name%.flv
)

然后对要转换的每个文件调用它,即makeflv test.mov 如果你在文件中有一个列表,那么它将是

for /f %f in ('type filelist.txt') do makeflv %f

相关内容