Bug 162133 - [GStreamer] Problems with videos on Twitter
Summary: [GStreamer] Problems with videos on Twitter
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: Other
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-17 23:19 PDT by Tassilo Horn
Modified: 2017-03-27 05:59 PDT (History)
3 users (show)

See Also:


Attachments
Running the 3 twitter videos with export GST_DEBUG=6,webkit*:6 (12.53 MB, application/gzip)
2016-11-01 01:53 PDT, Tassilo Horn
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tassilo Horn 2016-09-17 23:19:38 PDT
This bug has originally been reported for the Epiphany web browser, see https://bugzilla.gnome.org/show_bug.cgi?id=771590.  Its maintainers requested this to be reported as WebKit bug.

I'm running WebKitGTK 2.4.11, and the WebKit version is reported as 2.12.5.  GStreamer version is 1.8.3 with the base, the good, and the bad plugins all installed (not the ugly plugins, though).  The system is Arch Linux.

The problem is that videos aren't displayed in the Twitter timeline (though video playback, e.g., at youtube, works fine in general).

Here's an example tweet which I cannot view:

- https://twitter.com/_youhadonejob1/status/777048759305986048

With this video, first I see the first frame of the video with the blue play button in the middle for a fraction of a second, and then it turns black saying "Dieser Browser unterstützt keine Wiedergabe von Videos" ("This browser doesn't support video playback").

And the video from this tweet

- https://twitter.com/FunnySportsGIFs/status/710617946502991873

does play in the sense that I do see the controls in the lower corner of the frame and the progress bar progresses but still all I see is blackness.

And the video from this tweet

- https://twitter.com/austinmackie1/status/720648225045266432

shows a button "Missing plugin".  It would be kind if it at least told which kind of plugin.

Well, it seems just scrolling the timeline of this Twitter account

- https://twitter.com/FunnySportsGIFs

shows all different kinds of "cannot play videos" listed above.
Comment 1 Philippe Normand 2016-10-06 01:32:37 PDT
Can you please try with 2.14 ?
Comment 2 Tassilo Horn 2016-10-31 13:55:03 PDT
Doesn't seem like it has improved with Epiphany 2.33.1 using WebKit 2.14.1.

- https://twitter.com/_youhadonejob1/status/777048759305986048

Same as before except now it says "Das Medium konnte nicht abgespielt werden" ("This medium could not be played").

- https://twitter.com/FunnySportsGIFs/status/710617946502991873

Same as before.  The video does play in the sense that I do see the controls in the lower corner of the frame and the progress bar progresses but still all I see is blackness.

- https://twitter.com/austinmackie1/status/720648225045266432

Ok, this one changed a bit.  There's no "missing plugin" banner anymore.  I can see the first frame of the video but I can't get it playing.  I can see the volume control in the bottom right corner and seem to be able to mute/unmute it.  However, the play button in the center became invisible and I can't get it back.  When I reload, it's there again but after clicking it, the video still doesn't play but only the Vine banner in the lower left corner starts moving.
Comment 3 Philippe Normand 2016-11-01 01:43:12 PDT
Can you please set the following env var and try to play one of the videos with Epiphany?

export GST_DEBUG=6,webkit*:6

Redirect stderr to a file, compress it and attach to this bug please.
Comment 4 Tassilo Horn 2016-11-01 01:53:17 PDT
Created attachment 293539 [details]
Running the 3 twitter videos with export GST_DEBUG=6,webkit*:6
Comment 5 Philippe Normand 2016-11-01 02:36:10 PDT
That video is encoded in H264. So if you can, please install gst-libav and try again.
Comment 6 Tassilo Horn 2016-11-02 08:44:16 PDT
Hey Philippe,

after installing gst-libav, all videos now work fine.  So I think you can close this bug report.  (Maybe it would be a good idea if my distro's (Arch) package would declare gst-libav as a non-optional dependency for Epiphany since it's hard to guess for a user why videos don't work.)
Comment 7 Philippe Normand 2016-11-02 08:56:51 PDT
Ideally if none of the sources of a video element can't be played because of a missing codec, the gst codec installer should pop up to the user but I think it was disabled some time ago, not sure...
Comment 8 Michael Catanzaro 2016-11-02 09:38:16 PDT
(In reply to comment #7)
> Ideally if none of the sources of a video element can't be played because of
> a missing codec, the gst codec installer should pop up to the user but I
> think it was disabled some time ago, not sure...

The problem is Epiphany ignores WebKitInstallMissingMediaPluginsPermissionRequests. We added that API to WebKit without adding an implementation in Epiphany, against our normal policy. It's on my TODO list to catch that and show an info bar, but it's not really a priority for me, so help welcome in https://bugzilla.gnome.org/show_bug.cgi?id=773447