Bash 使用mkvmerge检查音频和视频曲目的数量
我写了这个小剧本:Bash 使用mkvmerge检查音频和视频曲目的数量,bash,scripting,Bash,Scripting,我写了这个小剧本: subliminal -l en -- *.mp4 subliminal -l es -- *.mp4 for i in *".mp4"; do i=${i%.mp4} mkvmerge -o "$i.mkv" \ --language 1:eng -a 1 -d 0 -S -T "$i.mp4" \ --language 0:eng -s 0 -D -A -T "$i.en.srt" \ --language 0:spa -s 0 -D -A
subliminal -l en -- *.mp4
subliminal -l es -- *.mp4
for i in *".mp4"; do
i=${i%.mp4}
mkvmerge -o "$i.mkv" \
--language 1:eng -a 1 -d 0 -S -T "$i.mp4" \
--language 0:eng -s 0 -D -A -T "$i.en.srt" \
--language 0:spa -s 0 -D -A -T "$i.es.srt" \
--track-order 0:0,0:1,1:0,2:0
done
它使用subliminal将英语和西班牙语字幕下载到一个包含电视节目.mp4章节的文件夹中。
之后,mkvmerge将把所有这些文件.mp4和.srt放在一个.mkv文件中
问题是,有时.mp4文件的音频轨迹不在位置1-A1,视频轨迹也不在位置0-D0
我的问题是如何在bash中实现cases?例如,首先检查.mp4文件,如果音频和视频曲目分别为1和0,请执行。。。
但是,如果音频和视频曲目分别为0和1,请执行其他操作
关于你能举个例子,以mkvinfo为例,说明位置问题吗