我想创建一个脚本来自动复用视频(flv)字幕(.ass)而无需用户干预
为例 该脚本检测两个具有相同名称(.flv)(。。)
的文件~/Vidéos/vidéo numbre 1.mp4
~/Vidéos/vidéo numéro 1.ass
~/Vidéos/vidéo numbre 2.mp4
~/Vidéos/vidéo numéro 2.ass
~/Vidéos/vidéo numbre x.ass
~/Vidéos/vidéo numbre x.mp4
~/Vidéos/vidéo numbre zz.mp4
~/Vidéos/vidéo numbre xy.ass
得到这个
~/Vidéos/vidéo numbre 1.mkv
~/Vidéos/vidéo numbre 2.mkv
~/Vidéos/vidéo numbre x.mkv
~/Vidéos/vidéo numbre zz.mkv
...
如何使用扩展名.flv .ass使用相同的脚本文件夹和带有我的命令行的多路复用器来查找文件的名称
ffmpeg -i "${name}.flv" -vcodec copy -acodec copy mkvtemp.mkv
mkvmerge -v -o "${name}.mkv" --default-track 0 --language 0:fre "${name}.ass" mkvtemp.mkv
tx为您提供帮助
答案 0 :(得分:0)
for name in `ls | rev | cut -f2- -d. | rev | sort | uniq`; do
ffmpeg -i "${name}.flv" -vcodec copy -acodec copy mkvtemp.mkv
mkvmerge -v -o "${name}.mkv" --default-track 0 --language 0:fre "${name}.ass" mkvtemp.mkv
done
将ls
替换为您用于输出文件列表的任何内容。
答案 1 :(得分:0)
试试这个
find . -name "*.mp4" | while read line
do
name=`basename "$line" .mp4`
ffmpeg -i "${name}".flv -vcodec copy -acodec copy mkvtemp.mkv
mkvmerge -v -o "${name}".mkv --default-track 0 --language 0:fre "${name}".ass mkvtemp.mkv
done
这应该适用于包含空格的文件名。