[英]Bash shell linux how to detect name of the extention files (flv) (ass)
我想創建一個腳本來自動多路復用視頻(flv)字幕(.ass),而無需用戶干預
例如,腳本檢測到兩個具有相同名稱(.flv)(.ass)的文件
~/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和腳本的相同文件夾來檢測文件名,並使用我的命令行對mux進行檢測
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
發送給您幫助
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
替換為用於輸出文件列表的任何內容。
嘗試這個
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
這應該與包含空格的文件名一起使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.