Unable to play dash with ttml subtitles
Hi. I'm trying to play a dash mpd file which contains subtitles, as a first step, just trying to get those subtitles into fakesink for now: (Using gstreamer 1.18.4 on Ubuntu)
gst-launch-1.0 playbin uri=https://livesim.dashif.org/dash/vod/testpic_2s/multi_subs.mpd \
text-sink="fakesink dump=true"
gstreamer logs the following:
WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No decoder available for type 'application/ttml+xml'.
I've made sure to install pango & cairo and rebuild gstreamer, and ttmlparse and ttmlrender can be found:
#gst-inspect-1.0 | grep ttml
typefindfunctions: application/ttml+xml: ttml+xml
ttmlsubs: ttmlparse: TTML subtitle parser
ttmlsubs: ttmlrender: TTML subtitle renderer
I've also googled about this ttml plugin, and I believe it even supposed to work with gst-play, but it also doesn't work:
gst-play-1.0 https://livesim.dashif.org/dash/vod/testpic_2s/multi_subs.mpd
Press 'k' to see a list of keyboard shortcuts.
Now playing https://livesim.dashif.org/dash/vod/testpic_2s/multi_subs.mpd
WARNING No decoder available for type 'application/ttml+xml'.
WARNING debug information: ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin.c(957): unknown_type_cb (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0
WARNING No decoder available for type 'application/ttml+xml'.
WARNING debug information: ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin.c(957): unknown_type_cb (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0
WARNING No decoder available for type 'application/ttml+xml'.
WARNING debug information: ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin.c(957): unknown_type_cb (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0
WARNING No decoder available for type 'application/ttml+xml'.
WARNING debug information: ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin.c(957): unknown_type_cb (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0
WARNING No decoder available for type 'application/ttml+xml'.
WARNING debug information: ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin.c(957): unknown_type_cb (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0
(Video & Audio are played fine).
I've also tried with playbin3, and this case the pipeline is not even linked and nothing is being played at all
USE_PLAYBIN3=1 gst-play-1.0 https://livesim.dashif.org/dash/vod/testpic_2s/multi_subs.mpd
Press 'k' to see a list of keyboard shortcuts.
Now playing https://livesim.dashif.org/dash/vod/testpic_2s/multi_subs.mpd
ERROR Your GStreamer installation is missing a plug-in. for https://livesim.dashif.org/dash/vod/testpic_2s/multi_subs.mpd
ERROR debug information: ../subprojects/gst-plugins-base/gst/playback/gstparsebin.c(3479): gst_parse_bin_expose (): /GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin1:
no suitable plugins found:
Missing parser: application/ttml+xml (application/ttml+xml)
Reached end of play list.
Kindly help me, I wonder if something is messed up with my build and I might need additional plugins (e.g. something else wasn't built due to missing packages) to get it to work.
I've also tried the Windows installation, same issue, and in addition, windows build doesn't seem to have the ttmlparse and ttmldump plugins at all.