Videos from https://m.youtube.com do not play in browser. Bug: If you click on YouTube video, you see RTSP URL and unable to display error. Expected outcome: Video playback occurs Hardware: PinePhone Braveheart edition Software: PureOS (Debian buster derivative)
Questions for multimedia devs: (a) do we support RTSP? and (b) is it supposed to be a main resource URI? (If it's intended to be used as the main resource, then we have to whitelist it in Epiphany as as a web scheme. If it's not intended to be used as a main resource, then it'd be good to figure out why it's happening.) (In reply to Alex R from comment #0) > Videos from https://m.youtube.com do not play in browser. How do you get to m.youtube.com without it redirecting you to the desktop website? Even if I shrink Epiphany down to mobile size and toggle the hidden mobile user agent setting, it still redirects me to desktop YouTube. We need clear instructions in order to reproduce the issue.
try this? gsettings set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ user-agent "Mozilla/5.0 (Linux; Android 8.0.0; XT1635-02) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36"
> How do you get to m.youtube.com without it redirecting you to the desktop > website? Even if I shrink Epiphany down to mobile size and toggle the hidden > mobile user agent setting, it still redirects me to desktop YouTube. We need > clear instructions in order to reproduce the issue. try this: gsettings set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ user-agent "Mozilla/5.0 (Linux; Android 8.0.0; XT1635-02) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36"
I can't reproduce this with MiniBrowser from trunk. Here videos from m.yt.com play fine with the MSE backend, no RTSP involved. Please provide a log file... GST_DEBUG="3,webkit*:6" GST_DEBUG_FILE="gst.log" epiphony.... Then compress gst.log and attach it here.
(In reply to Alex R from comment #3) > try this: > > gsettings set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ user-agent > "Mozilla/5.0 (Linux; Android 8.0.0; XT1635-02) AppleWebKit/537.36 (KHTML, > like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36" This does allow me to access mobile YouTube. But, like Phil, the videos play perfectly fine for me.
Created attachment 400266 [details] console output from running epiphany from command line
it looks like the Gdk-WARNING line shows up when the youtube video tries to open and bug appears. i couldn't get the GST_DEBUG_FILE to work. please send further instructions on that if necessary.
(In reply to Alex R from comment #7) > it looks like the Gdk-WARNING line shows up when the youtube video tries to > open and bug appears. I doubt this is related with the issue you're having. > i couldn't get the GST_DEBUG_FILE to work. please send > further instructions on that if necessary. I don't have further instructions. What makes you say this didn't work? Anyway, this looks like an issue with your OS and availability of GStreamer plugins. My guess is that some elements are missing (decoders, demuxers) which trick decoding errors in the player and YT falls back to RTSP, for some reason. Without debug log I can't say. So if you can't provide a debug log, I'll have to close this bug as WORKSFORME. :(
I did this: GST_DEBUG="3,webkit*:6" GST_DEBUG_FILE=/home/purism/gst.log GST_DEBUG_DUMP_DOT_DIR=/home/purism epiphany and managed to get this in the gst log: 0:00:00.052245439 3001 0xaaaae9f4ff50 WARN GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "fdkaacdec"! Hope it helps.
The log contains only one line?
yes
This doesn't make sense... How many tests pass on this page? https://w3c-test.org/media-source/mediasource-is-type-supported.html
Harness status: OK Found 47 tests 25 Pass 22 Fail
Which ones fails? Anyway this doesn't explain the almost-empty log. Seems like your OS disabled gst debug log support perhaps?
(In reply to Alex R from comment #9) > 0:00:00.052245439 3001 0xaaaae9f4ff50 WARN GST_ELEMENT_FACTORY > gstelementfactory.c:456:gst_element_factory_make: no such element factory > "fdkaacdec"! I think you're missing gst-plugins-bad?
Please share the output of `gst-inspect-1.0` too.
(In reply to Philippe Normand from comment #14) > Which ones fails? > > Anyway this doesn't explain the almost-empty log. Seems like your OS > disabled gst debug log support perhaps? Test invalid MIME format "video/webm" assert_equals: supported expected false but got true Test invalid MIME format "video/webm;codecs" assert_equals: supported expected false but got true Test invalid MIME format "video/webm;codecs=" assert_equals: supported expected false but got true Test invalid MIME format "video/webm;codecs=""" assert_equals: supported expected false but got true Test invalid MIME format "audio/webm;aaacodecsbbb=" assert_equals: supported expected false but got true Test invalid mismatch between MIME type and codec ID "audio/webm;codecs="vp8"" assert_equals: supported expected false but got true Test invalid mismatch between MIME type and codec ID "audio/webm;codecs="vorbis"" assert_equals: supported expected false but got true Test invalid mismatch between MIME type and codec ID "audio/webm;codecs="mp4a 40.2"" assert_equals: supported expected false but got true Test invalid mismatch between MIME type and codec ID "video/webm;codecs="mp4a 40.2"" assert_equals: supported expected false but got true Test invalid mismatch between MIME type and codec ID "audio/mp4;codecs="mp4a"" assert_equals: supported expected false but got true Test invalid mismatch between MIME type and codec ID "audio/mp4;codecs="mp4a.40"" assert_equals: supported expected false but got true Test invalid mismatch between MIME type and codec ID "audio/mp4;codecs="mp4a.40."" assert_equals: supported expected false but got true Test invalid mismatch between MIME type and codec ID "audio/mp4;codecs="mp4a.67.3"" assert_equals: supported expected false but got true Test valid WebM type "audio/webm;codecs=vorbis;test="6"" assert_equals: supported expected false but got true Test valid MP4 type "video/mp4;codecs="avc1.4d001e"" assert_equals: supported expected true but got false Test valid MP4 type "video/mp4;codecs="avc1.42001e"" assert_equals: supported expected true but got false Test valid MP4 type "video/mp4;codecs="mp4a.40.2"" assert_equals: supported expected true but got false Test valid MP4 type "video/mp4;codecs="avc1.4d001e.mp4a.40.2"" assert_equals: supported expected true but got false Test valid MP4 type "video/mp4;codecs="mp4a.40.2 , avc1.4d001e"" assert_equals: supported expected true but got false Test valid MP4 type "video/mp4;codecs="avc1.4d001e.mp4a.40.5"" assert_equals: supported expected true but got false Test valid MP4 type "video/mp4;codecs="opus"" assert_equals: supported expected true but got false
Created attachment 400275 [details] gst log filled up!
Created attachment 400276 [details] gst-inspect output as requested
(In reply to Michael Catanzaro from comment #15) > (In reply to Alex R from comment #9) > > 0:00:00.052245439 3001 0xaaaae9f4ff50 WARN GST_ELEMENT_FACTORY > > gstelementfactory.c:456:gst_element_factory_make: no such element factory > > "fdkaacdec"! > > I think you're missing gst-plugins-bad? purism@pureos:~$ sudo apt list "*gst-plugins-bad*" Listing... Done gir1.2-gst-plugins-bad-1.0/amber 1.14.4-1+b1 arm64 shall i install this and try running a youtube video?
(In reply to Alex R from comment #20) > (In reply to Michael Catanzaro from comment #15) > > (In reply to Alex R from comment #9) > > > 0:00:00.052245439 3001 0xaaaae9f4ff50 WARN GST_ELEMENT_FACTORY > > > gstelementfactory.c:456:gst_element_factory_make: no such element factory > > > "fdkaacdec"! > > > > I think you're missing gst-plugins-bad? > > purism@pureos:~$ sudo apt list "*gst-plugins-bad*" > Listing... Done > gir1.2-gst-plugins-bad-1.0/amber 1.14.4-1+b1 arm64 > > shall i install this and try running a youtube video? Is this a Librem phone? In that case I think you are maybe missing the decoder for h264. To use a software-based decoder you can install the package gstreamer1.0-libav. And to use the hardware decoder from the i.MX8 VPU you need the gstreamer element providing support for that (its perhaps provided by the gstreamer-v4l2 ? not sure)
> Is this a Librem phone? Its a PinePhone.
You don't have an H264 decoder but it seems you fake an Android user-agent, which is expected to have have one.
Which WebKitGTK version is this btw? Here if I disable H264 support, VP9 is used instead. Then if I disable VP9, nothing plays. Please provide a testable video link that is not the main youtube landing page itself.
(In reply to Philippe Normand from comment #24) > Which WebKitGTK version is this btw? libwebkit2gtk-4.0-37/amber-security,now 2.28.2-2~deb10u1 arm64 > > Please provide a testable video link that is not the main youtube landing > page itself. Do you mean a youtube video? i guess try any mobile youtube video. e.g. if i do: purism@pureos:~$ epiphany https://m.youtube.com/watch?v=EOwhuTlxE54 video page loads up like normal (grimes song). but then i press the red youtube play button and get the bug.
(In reply to Philippe Normand from comment #23) > You don't have an H264 decoder but it seems you fake an Android user-agent, > which is expected to have have one. Ok, if this is my issue, thenhow do I go about getting a H264 decoder?
for now install gst-libav as advised in comment 21. For hw-accelerated playback I don't know... I suspect the v4l decoders can be used. It depends on your kernel and driver support for your GPU. This is drifting off-topic now...
Check the Lima driver, from Mesa.
(In reply to Philippe Normand from comment #27) > for now install gst-libav as advised in comment 21. gstreamer1.0-libav/amber,now 1.15.0.1+git20180723+db823502-2 arm64 [installed] still encountering the bug
(In reply to Alex R from comment #29) > (In reply to Philippe Normand from comment #27) > > for now install gst-libav as advised in comment 21. > > gstreamer1.0-libav/amber,now 1.15.0.1+git20180723+db823502-2 arm64 > [installed] > > still encountering the bug Does this video https://people.igalia.com/clopez/wkbug/video/simplevideo.html work for you?
Yes it does work for me!
Actually, scratch that. I take that back. I accidentally tried it in firefox-esr and there it worked. Only seeing the controls in epiphany, but the video does not play in epiphany.
Phil, are you leaving this open for a reason? Seems pretty clear the problem here is much deeper than WebKit if gst-libav doesn't support H.264?
(In reply to Alex R from comment #32) > Actually, scratch that. I take that back. I accidentally tried it in > firefox-esr and there it worked. Only seeing the controls in epiphany, but > the video does not play in epiphany. Can you post the output of the following command? $ gst-inspect-1.0 | grep 264 You should see something like: libav: avdec_h264: libav H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 decoder If you don't see that, then this indicates your distribution (PureOS?) has not enabled the h264 decoder for the gst-libav package. If that is the case, you might want to attempt to rebuild the gst-libav package in order to enable the h264 decoder.
(In reply to Carlos Alberto Lopez Perez from comment #34) > Can you post the output of the following command? > > $ gst-inspect-1.0 | grep 264 purism@pureos:~$ gst-inspect-1.0 | grep 264 libav: avmux_ipod: libav iPod H.264 MP4 (MPEG-4 Part 14) muxer libav: avdec_h264: libav H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 decoder libav: avenc_h264_omx: libav OpenMAX IL H.264 video encoder encoder typefindfunctions: video/x-h264: h264, x264, 264 videoparsersbad: h264parse: H.264 parser rtp: rtph264depay: RTP H264 depayloader rtp: rtph264pay: RTP H264 payloader uvch264: uvch264mjpgdemux: UVC H264 MJPG Demuxer uvch264: uvch264src: UVC H264 Source
gsettings set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ user-agent "Mozilla/5.0 (Android 4.4.2; U; Mobian 20052020; rv:68.0) Gecko/68.0 Firefox/68.0 Mobian/20052020 like Safari/538.1" This makes youtube work in browser in epiphany. ticket can be closed. thanks for everyone's time.
(In reply to Alex R from comment #36) > gsettings set org.gnome.Epiphany.web:/org/gnome/epiphany/web/ user-agent > "Mozilla/5.0 (Android 4.4.2; U; Mobian 20052020; rv:68.0) Gecko/68.0 > Firefox/68.0 Mobian/20052020 like Safari/538.1" > What is Mobian ??