Жесткое кодирование субтитров с использованием mkvmerge рекурсивно

Жесткое кодирование субтитров с использованием mkvmerge рекурсивно

У меня 24 сезона 9, в папке есть эпизоды и арабские субтитры. Хочу автоматизировать хардкодинг субтитров с помощью скрипта. выглядит так

24.903.hdtv-lol.mp4и24.903.hdtv-lol_ar.srt

До сих пор я делал это вручную с помощью mkvmerge-gui, выбирал набор символов: ara (арабский), кодировку WINDOWS-1256, назначение:newfolder/S9E3.mkv

как все это автоматизировать? чтобы он искал субтитры, соответствующие эпизоду, жестко закодировать это, используя параметры, указанные выше?

решение1

Вы можете отметить доступные файлы .mp4 и вызвать для них mkvmerge.

for f in *.mp4; do
    mkvmerge "$f" "${f%.*}_ar.srt" -o "${f%.*}.mkv"
done

Я не уверен, нужна ли кодировка, но есть --sub-charset TID:character-setаргумент. TID — это номер трека, который, как я предполагаю, равен 0 или 1. Попробуйте сначала без нее, но если не получится, попробуйте добавить --sub-charset 0:WINDOWS-1256к команде.

Связанный контент