我在 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