代码之家  ›  专栏  ›  技术社区  ›  Ramesh Navi

在MPEG破折号清单中指定曲目标题或语言

  •  0
  • Ramesh Navi  · 技术社区  · 6 年前

    我正在使用DASH创建一个清单来播放自适应WebM。一切都很好,但我需要的是语言名/音轨名,而不是比特率。支持吗?如何更新/优化以支持此类功能?

    清单创建:

    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 回复  |  直到 6 年前
        1
  •  2
  •   Ramesh Navi    5 年前

    最后,在更换了两个DASH播放器和编码器之后,我就这样解决了这个问题。

    问题不在清单创建中,而是在输入文件准备中。我在输入文件中添加了元数据,如下所示,效果很好。 在沙卡玩家身上测试,效果很有魅力。

    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 language codes