GNOME Bugzilla – Bug 526238
youtube playback doesn't work
Last modified: 2009-01-30 18:37:46 UTC
Please describe the problem: youtube videos won't be played Steps to reproduce: 1. Activate Youtube Browser plugin 2. Search a video 3. Add to playlist 4. Play Actual results: This error comes up: "ffdemux_swf: L'elemento non implementa la gestione di questo stream. Si prega di notificare un bug." Expected results: That the video will be played Does this happen every time? yes Other information:
This is a Totem bug, not a Tomboy bug.
You need to upgrade your GStreamer and/or ffmpeg --- only the latest versions support playing YouTube streams.
These could be the relevant packages installed on my system. My distro is Archlinux: local/ffmpeg 20071204-1 Complete and free Internet live audio and video broadcasting solution for Linux/Unix local/gstreamer0.10-ffmpeg 0.10.3-1 (gstreamer0.10-plugins) Gstreamer FFMpeg Plugin local/gstreamer0.10 0.10.19-1 GStreamer Multimedia Framework local/gstreamer0.10-bad 0.10.6-2 GStreamer Multimedia Framework Bad Plugin libraries (gst-plugins-bad) local/gstreamer0.10-bad-plugins 0.10.6-1 (gstreamer0.10-plugins) GStreamer Multimedia Framework Bad Plugins (gst-plugins-bad) ------ This happens when I open totem by terminal: $ totem ** (totem:17617): DEBUG: Init of Python module ** (totem:17617): DEBUG: Registering Python plugin instance: YouTube+TotemPythonPlugin ** (totem:17617): DEBUG: Creating object of type YouTube+TotemPythonPlugin ** (totem:17617): DEBUG: Creating Python plugin instance ** Message: don't know how to handle application/x-shockwave-flash ** Message: Error: L'elemento non implementa la gestione di questo stream. Si prega di notificare un bug. gstffmpegdemux.c(1375): gst_ffmpegdemux_sink_activate_push (): /play/decodebin0/ffdemux_swf0: failed to activate sinkpad in pull mode, push mode not implemented yet
The flvdemux element should be in gst-plugins-bad 0.10.6. Make sure your distribution ships it (gst-inspect-0.10 | grep flv)
Here it is: $ gst-inspect-0.10 | grep flv flvdemux: flvdemux: FLV Demuxer typefindfunctions: video/x-flv: flv ffmpeg: ffenc_flv: FFMPEG FLV video encoder ffmpeg: ffdec_flv: FFMPEG FLV video decoder ffmpeg: ffdemux_flv: FFMPEG flv format demuxer ffmpeg: fftype_flv: flv ffmpeg: ffmux_flv: FFMPEG flv Muxer
Looks to me as if GStreamer's selecting the ffmpegdemux plugin to play the stream though. You could either upgrade your gstreamer-ffmpeg and ffmpeg packages, or (temporarily) uninstall them and see if it works using the flvdemux plugin.
I have exactly the same problem. I have uninstalled gstreamer0.10-ffmpeg and tried again, and this is the output I received during the crash: ** Message: don't know how to handle video/x-flash-video, pixel-aspect-ratio=(fraction)1/1 The program 'totem' received an X Window System error. This probably reflects a bug in the program. The error was 'BadAlloc (insufficient resources for operation)'. (Details: serial 52 error_code 11 request_code 141 minor_code 19) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) To be sure, this is my output for gst-inspect-0.10: > gst-inspect-0.10 | grep flv flvdemux: flvdemux: FLV Demuxer typefindfunctions: video/x-flv: flv Reinstalling gstreamer0.10-ffmpeg gives me a slightly different error (from the one posted by Giorgio DG, which was the same I used to get before) when Totem crashes: The program 'totem' received an X Window System error. This probably reflects a bug in the program. The error was 'BadAlloc (insufficient resources for operation)'. (Details: serial 52 error_code 11 request_code 141 minor_code 19) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.)
Emmanuele, your problem has _nothing_ to do with the original. You don't have any codecs to play back Flash video, and you have problems with your Xv setup (using Compiz?). File another bug, or better, contact your distribution about those problems. Gorgio, could you please give the exact reproducer steps to get that warning? It's not trying to play an FLV file, but to directly play the SWF player instead.
(In reply to comment #8) > Emmanuele, your problem has _nothing_ to do with the original. You don't have > any codecs to play back Flash video, and you have problems with your Xv setup > (using Compiz?). File another bug, or better, contact your distribution about > those problems. As I have specified in my post, I used to get exactly the same message as Giorgio before I uninstalled gstreamer0.10-ffmpeg (as Philip Withnall suggested). So I have posted the output of Totem without gstreamer0.10-ffmpeg, and the output I got after I reinstalled it. If this is not pertinent anymore I will surely post somewhere else. But I think you have spotted the problem. I have disabled Compiz, and the playback is working now. Thanks for your time :)
(In reply to comment #8) > > Gorgio, could you please give the exact reproducer steps to get that warning? > It's not trying to play an FLV file, but to directly play the SWF player > instead. > Sure Bastien. Steps to reproduce: 1. Run Totem 2. Activate Youtube Browser plugin (done it only the first time) 3. Select Youtube from Sidebar 4. Search for a video 5. Right click on one of those retrieved 6. Select 'Add to playlist' from menu 7. Video windows becomes black 8. The warning comes out on top This happens if I run it on terminal: > $ totem ** (totem:16539): DEBUG: Init of Python module ** (totem:16539): DEBUG: Registering Python plugin instance: YouTube+TotemPythonPlugin ** (totem:16539): DEBUG: Creating object of type YouTube+TotemPythonPlugin ** (totem:16539): DEBUG: Creating Python plugin instance ** Message: don't know how to handle application/x-shockwave-flash ** Message: Error: L'elemento non implementa la gestione di questo stream. Si prega di notificare un bug. gstffmpegdemux.c(1375): gst_ffmpegdemux_sink_activate_push (): /play/decodebin0/ffdemux_swf0: failed to activate sinkpad in pull mode, push mode not implemented yet
(In reply to comment #10) <snip> > 4. Search for a video > 5. Right click on one of those retrieved I have a hard time believe that it will try to play .swf files every time, so I'd need to know which search term(s) you used, and which video you selected.
Okay, things are getting clearer. I've searched for 'marley' and been able to play the second and fourth video, while not the first and the third ones. Note that the url retrieved by totem changes if the video has been played or not: First - http://www.youtube.com/v/ZUUwCW4ClPo Second - http://www.youtube.com/get_video?video_id=rnDrbagYm24&t=OEgsToPDskIIiYkVJOszbif3vLqEYwdy Third - http://www.youtube.com/v/s3AyQzIZwbY Fourth - http://www.youtube.com/get_video?video_id=nlk9Sj4Ns2k&t=OEgsToPDskLhHPynaa9l7OuaDCmZruJN
Doesn't work without gstreamer-ffmpeg too, while self-downloaded FLV files can be played and watched without problems (and even seeked!). PS: Why Totem wants to play SWF? Player inside player?
PS: for me totem 2.23.0.
(In reply to comment #13) > Doesn't work without gstreamer-ffmpeg too, while self-downloaded FLV files can > be played and watched without problems (and even seeked!). It certainly won't work without gstreamer-ffmpeg because then you don't have anything to decode the video (and it's still trying to play an SWF instead...). > PS: Why Totem wants to play SWF? Player inside player? Because there's a bug maybe? That's why I asked for reproducer steps, Philip will look into it.
> It certainly won't work without gstreamer-ffmpeg because then you don't have > anything to decode the video (and it's still trying to play an SWF instead...). I have both GStreamer's official plugins and the ffmpeg one, but when I saw that bug, I've removed gst-ffmpeg to try if with official ones bug appears too.
OK. Could you try with the just-released 2.23.1 please? Some changes have been made to the stream URI resolution code. If it still doesn't work, could you temporarily move your /usr/lib/gstreamer-0.10/libgstgnomevfs.so file and see if it works then? It might not be redirecting properly.
Someone built totem 2.23.1 for Fedora's development line :) . O, Bastien, it was you :D ! Totem still wants to play SWF, but searches faster for me.
Could you temporarily move your /usr/lib/gstreamer-0.10/libgstgnomevfs.so file and see if it works then? It might not be redirecting properly.
Doesn't help :/ .
(In reply to comment #17) > OK. Could you try with the just-released 2.23.1 please? Some changes have been > made to the stream URI resolution code. > > If it still doesn't work, could you temporarily move your > /usr/lib/gstreamer-0.10/libgstgnomevfs.so file and see if it works then? It > might not be redirecting properly. > I'm waiting 2.22.1 to be built for my distro (Archlinux), then I'll be able to try.
But they asked for testing in 2.23.1. I tested it and the bug still appears. Strange, but when I try to play first search result for "compiz fusion" I get informational dialog about codecs and not error message. PS: I have FLV codecs for GStreamer, because everyday I'm watching to self-downloaded videos from YouTube.
Philip, your question in comment #17 has been answered in comment #22, as far as I can see. I am thus reopening.
Giorgio, Jakub is this still a problem with the latest Totem and GStreamer?
If 2.24.2 is the latest stable, then yes, this is still a problem.
Could you give an example of some search terms which list SWFs instead of FLVs?
It seems now it's other problem. Totem doesn't scream about SWF but still doesn't play. So concrete issue seems gone but still "youtube playback doesn't work" - or the progress bar indicates buffering in a very bad way (not noticeable).
The progress bar does not indicate buffering, but it should only be a matter of seconds before the video starts to play regardless. What messages are now printed on the console when you try to play a YouTube video?
Oh, didn't notice that earlier. There are problems. ** (totem:3957): DEBUG: Init of Python module ** (totem:3957): DEBUG: Registering Python plugin instance: YouTube+TotemPythonPlugin ** (totem:3957): DEBUG: Creating object of type YouTube+TotemPythonPlugin ** (totem:3957): DEBUG: Creating Python plugin instance Exception in thread Thread-2: Traceback (most recent call last):
+ Trace 212030
self.run()
res = self.callback(*self.args, **self.kwargs)
mrl = "http://www.youtube.com/get_video?video_id=" + urllib.quote (youtube_id) + "&t=" + urllib.quote (re.match (".*[?&]t=([^&]+)", location).groups ()[0]) + self.get_fmt_string ()
Fetching results doesn't get finished so it's impossible to watch anything.
Ah. This is because YouTube changed the way videos are accessed, which broke 2.24.2. The fix (bug #557681) was released with Totem 2.24.3. Marking as a dupe of bug #557681, since the original problem seems to have gone, and this remaining problem has already been fixed. *** This bug has been marked as a duplicate of 557681 ***