Bug 217580 - [GStreamer] Peertube videos don't play
Summary: [GStreamer] Peertube videos don't play
Status: RESOLVED DUPLICATE of bug 165394
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-11 08:47 PDT by hoboprimate
Modified: 2020-10-15 07:23 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description hoboprimate 2020-10-11 08:47:48 PDT
Videos from peertube websites don't play, tested on Epiphany 3.38.

From https://peer.tube/ :
"PeerTube, a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular."
Comment 1 hoboprimate 2020-10-11 08:48:47 PDT
Example video link:

https://peer.tube/videos/watch/5a370009-1868-46de-a5c2-2b34405fc5c7
Comment 2 hoboprimate 2020-10-11 08:50:20 PDT
Correction, audio plays but not video, as seen in the following video:

https://peer.tube/videos/watch/f3cb1945-a8f7-481f-a465-946c6f884e50
Comment 3 Adrian Perez 2020-10-12 05:49:26 PDT
(In reply to hoboprimate from comment #2)
> Correction, audio plays but not video, as seen in the following video:
> 
> https://peer.tube/videos/watch/f3cb1945-a8f7-481f-a465-946c6f884e50

This one plays fine for me, both with current stable (WebKitGTK 2.30.1)
and a recent build from “trunk”; the video seems to be encoded with
H.264 (and AAC for the audio), so I suspect your system maybe does not
have a GStreamer plug-in installed to decode H.264.

For example here I have the following in my system

  % gst-inspect-1.0 | grep -i '264.*dec'
  va:  vah264dec: VA-API H.264 Decoder
  libav:  avdec_h264: libav H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 decoder
  %

The fist one is provided by gstreamer-vaapi [1] (hardware accelerated,
works will with Intel GPUs, but YMMV with others) and the second comes
from gst-libav [2], which should work everywhere (as it's software based).
There is also a decode based on OpenH264 included as part of the
gst-plugins-bad package (which I do not have installed). You may want to
check which packages include those in your distribution, and install them.

If after that, the video still doesn't play, please let us know —  we may
need to ask you for a GStreamer debug log to figure out what the exact
problem is.


---
[1] https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi
[2] https://gitlab.freedesktop.org/gstreamer/gst-libav
Comment 4 Adrian Perez 2020-10-12 05:54:35 PDT
(In reply to hoboprimate from comment #1)
> Example video link:
> 
> https://peer.tube/videos/watch/5a370009-1868-46de-a5c2-2b34405fc5c7

OTOH for this one I get the video, but not the audio… Downloading the
video I see that the audio codec is also AAC — same as for the other
one which played fine; puzzling!

Leaving this here as a hint, in case it helps the multimedia savvy people:
checking from the Web Inspector the <video> element has a VideoTrack
associated, but there is no AudioTrack; the player seems to be using MSE.
Comment 5 Adrian Perez 2020-10-12 05:59:09 PDT
Adding [GStreamer] tag: The missing audio issue for the first
video linked also affects WPE.
Comment 6 hoboprimate 2020-10-12 08:10:18 PDT
(In reply to Adrian Perez from comment #4)
> (In reply to hoboprimate from comment #1)
> > Example video link:
> > 
> > https://peer.tube/videos/watch/5a370009-1868-46de-a5c2-2b34405fc5c7
> 
> OTOH for this one I get the video, but not the audio… Downloading the
> video I see that the audio codec is also AAC — same as for the other
> one which played fine; puzzling!

After installing all gstreamer codecs (I was missing a "bad" package) I'm now getting the same results as you :) The first link plays correctly, and this one doesn't play audio.
Comment 7 Philippe Normand 2020-10-13 02:47:20 PDT
Here with MiniBrowser from trunk:

(In reply to hoboprimate from comment #1)
> Example video link:
> 
> https://peer.tube/videos/watch/5a370009-1868-46de-a5c2-2b34405fc5c7

Video plays, no audio.

(In reply to hoboprimate from comment #2)
> Correction, audio plays but not video, as seen in the following video:
> 
> https://peer.tube/videos/watch/f3cb1945-a8f7-481f-a465-946c6f884e50

Video and audio play fine.
Comment 8 Philippe Normand 2020-10-15 05:10:08 PDT
(In reply to Philippe Normand from comment #7)
> Here with MiniBrowser from trunk:
> 
> (In reply to hoboprimate from comment #1)
> > Example video link:
> > 
> > https://peer.tube/videos/watch/5a370009-1868-46de-a5c2-2b34405fc5c7
> 
> Video plays, no audio.
> 

I've checked this, the issue is that the same SourceBuffer exposes a video and an audio track, which is not supported in the GStreamer backend yet. See https://bugs.webkit.org/show_bug.cgi?id=165394

So I'd close this bug if nobody opposes.
Comment 9 Adrian Perez 2020-10-15 07:23:24 PDT
(In reply to Philippe Normand from comment #8)
> (In reply to Philippe Normand from comment #7)
> > Here with MiniBrowser from trunk:
> > 
> > (In reply to hoboprimate from comment #1)
> > > Example video link:
> > > 
> > > https://peer.tube/videos/watch/5a370009-1868-46de-a5c2-2b34405fc5c7
> > 
> > Video plays, no audio.
> > 
> 
> I've checked this, the issue is that the same SourceBuffer exposes a video
> and an audio track, which is not supported in the GStreamer backend yet. See
> https://bugs.webkit.org/show_bug.cgi?id=165394
> 
> So I'd close this bug if nobody opposes.

In comment 6 the reporter has confirmed that installing the needed
GStreamer elements H.264 video decoding works as expected, so I agree
that we can keep tracking the remaining issue in bug #165394 and close
this one as duplicate.

With this bug report we have now a good publicly available reproducer
for multiple streams issue, so thanks to the reporter for that! 🤘️

*** This bug has been marked as a duplicate of bug 165394 ***