Тема: Профиль Фильмы (оптимальный) не цепляет внешнюю аудиодорожку
Прошу помощи.
Понравилась мне концепция универсального профиля для транскодирования в зависимости от возможностей конечного устройства воспроизведения. Здорово ведь. Построил один раз таблицу совместимости и забыл. И все правки можно вносить в один единственный профиль, если что-то захочется доработать.
Здорово еще и то, что в этом профиле четко считается соотношение сторон фильма и устройства воспроизведения и можно забыть про допилку и прочие костыли с перехватом командной строки ffmpeg. Здесь же можно и все параметры кодеков и аппаратное ускорение обработки вставить. В-общем лепота.
И все бы хорошо, только сразу наткнулся на косяк, справиться с которым пока не получается. Суть в следующем:
Есть фильм, к нему отдельно скачал английскую аудиодорожку. Подцепил. Выбрал ее. В карточке все выглядит культурно.
Видеодорожка, аудиодорожка с русской озвучкой и ниже внешняя аудиодорожка с англ озвучкой.
Установил профиль - Фильмы (оптимальный). Настроил таблицу для телика.
Запускаю фильм на телике - фигвам. Запускаю выборочно другие - работает все чудесно.
Делаю тестовое транскодирование - получаю ошибку в параметре -map.
Смотрю на строку транскодирования и вижу косяк. Там нет упоминания о файле с внешней аудиодорожкой. Вот так она выглядит (взял из дебага):
probesize 7000000 -analyzeduration 10000000 -i "G:\download!video\Practical.Magic.1998.HDRip.All.Films.RG\Practical.Magic.1998.HDRip.All.Films.RG.avi" -f dvd -vcodec mpeg2video -q:v 0 -pix_fmt yuv420p -vf "scale=1280:540,pad=1280:720:0:90:0x000000,setdar=16:9" -threads 4 -acodec ac3 -ab 448000 -ar 48000 -ac 6 -map 0:0 -map 0:2 "
А вот так выглядит строка после профиля Фильмы (дополнительный), да и после основного:
-probesize 7000000 -analyzeduration 10000000 -probesize 7000000 -analyzeduration 10000000 -i "G:\download!video\Practical.Magic.1998.HDRip.All.Films.RG\Practical.Magic.1998.HDRip.All.Films.RG.avi" -i "G:\download!video\Practical.Magic.1998.HDRip.All.Films.RG\Practical.Magic.1998.HDRip.All.Films.RG.Eng.ac3" -f dvd -vcodec mpeg2video -q:v 0 -pix_fmt yuv420p -acodec ac3 -ab 448000 -ar 48000 -ac 6 -vf "scale=1280:540,pad=1280:720:0:90:0x000000,setdar=16:9" -map 0:0 -map 1:0 -threads 4
Да, там два раза -probesize 7000000 -analyzeduration 10000000, но это не мешает. А вот отсутствие упоминания о файле с внешней дорожкой режет глаз не только мне, но и самому HMS, ибо транскодировать он это отказывается. Обратите внимание на мапы видео и аудио. Аудио различается.
Моих познаний хватило для того, чтобы понять, что при обработке аудиодорожки в профиле Фильмы оптимальный, скрипт считает, что аудио упаковано в том же файле, и формирует строку для транскода, исходя из этой уверенности. При этом параметры кодека, кол-ва каналов и проч он вполне замечательно получает из недр HMS.
Очень прошу знатоков и профи помочь с доработкой профиля для корректного взаимодействия с внешними аудио дорогами и субтитрами. Да и разработчику потом отправим, пусть чинит.
Заранее благодарю.