philn / glide

Linux/macOS media player based on GStreamer and GTK
https://philn.github.io/glide/
MIT License
244 stars 21 forks source link

No subtitles shown on this video sample #118

Closed nekohayo closed 2 months ago

nekohayo commented 3 months ago

Unlike Clapper with GStreamer 1.22.x, it seems Glide (from flathub) with GStreamer 1.24.0 does not show the subtitles from the "anime" sample from this folder. The image plays smoothly, and you can somehow turn on the sound track by switching between the audio tracks (not sure that's expected, I thought all audio tracks had sound), but subtitles will not show no matter what I try to pick in the Glide menus.

I am not sure if this is a Glide-specific issue, or if the fix for https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3171 broke something; I don't have an easy way to test GStreamer 1.24.x on Fedora 39 other than Glide...

Troubleshooting info

{
  "dependencies": [
    {
      "name": "GTK",
      "version": "4.14.1"
    },
    {
      "name": "GStreamer",
      "version": "GStreamer 1.24.0"
    }
  ],
  "playbin3_enabled": true,
  "audio_decoders": [
    {
      "name": "MP3",
      "gst_element_name": "mpg123audiodec",
      "rank": 256,
      "hardware": false
    },
    {
      "name": "MP3",
      "gst_element_name": "avdec_mp3",
      "rank": 64,
      "hardware": false
    },
    {
      "name": "AAC",
      "gst_element_name": "fdkaacdec",
      "rank": 64,
      "hardware": false
    },
    {
      "name": "AC3",
      "gst_element_name": "avdec_ac3",
      "rank": 64,
      "hardware": false
    },
    {
      "name": "Flac",
      "gst_element_name": "flacdec",
      "rank": 256,
      "hardware": false
    },
    {
      "name": "Flac",
      "gst_element_name": "avdec_flac",
      "rank": 64,
      "hardware": false
    },
    {
      "name": "Opus",
      "gst_element_name": "opusdec",
      "rank": 256,
      "hardware": false
    }
  ],
  "video_decoders": [
    {
      "name": "H.264",
      "gst_element_name": "vah264dec",
      "rank": 257,
      "hardware": true
    },
    {
      "name": "H.264",
      "gst_element_name": "avdec_h264",
      "rank": 256,
      "hardware": false
    },
    {
      "name": "H.264",
      "gst_element_name": "openh264dec",
      "rank": 64,
      "hardware": false
    },
    {
      "name": "H.265",
      "gst_element_name": "avdec_h265",
      "rank": 256,
      "hardware": false
    },
    {
      "name": "AV1",
      "gst_element_name": "av1dec",
      "rank": 128,
      "hardware": false
    },
    {
      "name": "VP8",
      "gst_element_name": "vp8alphadecodebin",
      "rank": 266,
      "hardware": false
    },
    {
      "name": "VP8",
      "gst_element_name": "vp8dec",
      "rank": 256,
      "hardware": false
    },
    {
      "name": "VP8",
      "gst_element_name": "avdec_vp8",
      "rank": 64,
      "hardware": false
    },
    {
      "name": "VP9",
      "gst_element_name": "vp9alphadecodebin",
      "rank": 266,
      "hardware": false
    },
    {
      "name": "VP9",
      "gst_element_name": "vp9dec",
      "rank": 256,
      "hardware": false
    },
    {
      "name": "VP9",
      "gst_element_name": "avdec_vp9",
      "rank": 64,
      "hardware": false
    }
  ],
  "features": [
    "wayland",
    "x11egl",
    "x11glx"
  ]
}
philn commented 3 months ago

The first audio track is encoded in AC3 "TrueHD" for which the GStreamer bundled in the flatpak has no decoder.

The subtitles are in "PGS" format, no idea what that is :) Is that supposed to be rendered with the "ass" plugin? Because that's not bundled either.

Note to self: Somehow list subtitle renderers in json debug info.

philn commented 3 months ago

The dvdspu element should be able to accept those pgs caps and it is available in the runtime... It is plugged by decodebin3, the pipeline looks ok actually. Might be a bug in the gtk4paintable sink, not handling overlay composition meta? 0 00 11 455051505-glide dot

philn commented 2 months ago

I don't think this is actionable here. Reported https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/526

philn commented 2 months ago

I couldn't reproduce this issue with GStreamer main. I suspect the update to 1.24.1 will fix this, I've updated the devel/release flatpak manifests, updates should show up soon.

nekohayo commented 2 months ago

Thanks for that packaged update, I tried it out now:

image

…but Glide still doesn't show subtitles on that video, no matter what I select. Some other bug going on?

philn commented 2 months ago

Well with GStreamer main it works, so... unless the upcoming 1.24.2 comes with the right backports, someone will need to look for the non-backported patches.