ファイルの場合は、次のことができます(マイビデオとサブファイルは同じディレクトリにあります)。
mkvmerge -o output-file.mkv --default-track 0 --language 0:es subtitle-file.ass video-file.mkv
しかし、50個のファイルで同じことをどのように実行できますか?私のビデオと字幕のファイル名は同じです:
ビデオ-1.mkv
ビデオ-2.mkv
ビデオ-3.mkv
ビデオ-1.ass
ビデオ-2.ass
ビデオ-3.ass
私の出力ファイルはvideo-1-sub-mkv、video-2-sub-mkvなどに似ているはずです。
答え1
XYZ.mkv
それぞれに対応するものがあれば、ループをXYZ.ass
使用できます。for
for i in *.mkv; do
if [ -f "${i%.*}".ass ] && [ ! -e "${i%.*}"-sub.mkv ]; then
mkvmerge -o "${i%.*}"-sub.mkv "$i" --default-track 0 --language 0:es "${i%.*}".ass
fi
done
- 注:入力ファイルの順序を並べ替えました
ass
。mkv