【发布时间】:2013-03-18 07:35:23
【问题描述】:
假设我在/home/user/videos/awaiting_conversion 目录中有一堆视频,我将如何使用 cron 运行类似于此脚本的脚本,将每个视频批量转换为不同的格式?
/bin/sh -c $'nice /usr/bin/ffmpeg -i \044'\'$'/home/user/videos/awaiting_conversion/video_file_1.mp4'\'$' -s \044'\'$'480x320'\'$' -vcodec libx264 -acodec libmp3lame -ab \044'\'$'64k'\'$' -vpre fast -crf \044'\'$'30'\'$' -ar \044'\'$'22050'\'$' -f flv -y \044'\'$'/home/user/videos/converted/video_file_1.flv'\'$''
上述脚本对于单次转换工作正常,但是:
- 它假定视频的名称是静态的/已知的(批量转换时不是这种情况)。
- 它假定只有一个视频要转换(可能是也可能不是),即没有“循环”。
- 它将原始文件保留在原处,而不是删除它(我希望这样做以防止重复转换)。
最终的问题是如何为/home/user/videos/awaiting_conversion 中存在的每个视频运行该脚本,并将文件名作为变量传递?
【问题讨论】:
标签: bash shell batch-file ffmpeg file-conversion