Указание названия трека или языка в MPEG DASH MANIFEST - PullRequest
0 голосов
/ 07 декабря 2018

Я создаю манифест для воспроизведения Adaptive WebM с использованием DASH.Все работает довольно хорошо, но мне нужно имя языка / трека вместо битрейта.Это поддерживается?Как обновить / оптимизировать для поддержки такой функции?

Создание манифеста:

ffmpeg \
-f webm_dash_manifest -i webm240.webm \
-f webm_dash_manifest -i webm360.webm \
-f webm_dash_manifest -i webm480.webm \
-f webm_dash_manifest -i webm720.webm \
-f webm_dash_manifest -i audio1.webm \
-f webm_dash_manifest -i audio2.webm \
-f webm_dash_manifest -i audio3.webm \
-f webm_dash_manifest -i audio4.webm \
-c copy -map 0 -map 1 -map 2 -map 3 -map 4 -map 5 -map 6  -map 7 \
-f webm_dash_manifest \
-adaptation_sets "id=0,streams=0,1,2,3 id=1,streams=4,5,6,7" \
manifest.mpd

Выбор звуковой дорожки плеера:

enter image description here

1 Ответ

0 голосов
/ 10 февраля 2019

Наконец, после замены нескольких DASH-плееров и кодировщиков, я решил это так.

Проблема была не в создании манифеста, а в подготовке входного файла.Я добавил метаданные во входные файлы, как показано ниже, и это сработало.Протестировано в Shaka-player, работает как шарм.

ffmpeg -i input.mp4 -y -vn -acodec aac -ab 96k -dash 1 -metadata:s:a:0 language=hin audiohindi.mp4
ffmpeg -i input.mp4 -y -vn -acodec aac -ab 96k -dash 1 -metadata:s:a:0 language=tam audiotamil.mp4
ffmpeg -i input.mp4 -y -vn -acodec aac -ab 96k -dash 1 -metadata:s:a:0 language=kan audiokannada.mp4
ffmpeg -i input.mp4 -y -vn -acodec aac -ab 96k -dash 1 -metadata:s:a:0 language=tel audiotelugu.mp4

Используются языковые коды ISO 639-2, такие как: Wiki: языковые коды ISO 639-2

...