GNOME Bugzilla – Bug 686089
Transcoding to MPEG broken with rygel 0.16
Last modified: 2013-01-21 12:35:34 UTC
Using a PS3 as a dlna player, I switched to rygel 0.16 to try watch 720p matroska file on it with good quality (rygel 0.14 has really bad setting for transcoding video, transoding them in 300x200 for a video in 720p). With both release of Rygel (0.16.0 and 0.16.1), when I try to watch a mkv in 720p which needs to be transcoded in mpegts for the PS3, I have the following error : (rygel:8734): Rygel-CRITICAL **: Erreur du pipeline RygelHTTPGstResponse : mpegtsmux.c(964): mpegtsmux_collected (): /GstPipeline:RygelHTTPGstResponse/GstBin:transcoder-source/GstEncodeBin:encodebin/MpegTsMux:muxer The version used for gstreamer are : gstreamer-0.10.36 gst-plugins-base-0.10.36 gst-plugins-good-0.10.31 gst-plugins-bad-0.10.23 gst-plugins-ugly-0.10.19
Are you sure that you really tested against 0.16.1? It works fine when I build 0.16.1 from git. I'll check if I uploaded the wrong tarball. Upgrading mpegtsmux from -bad to 0.10.23.1 should also fix this (and give the ability to seek)
No, also works from tarball. Please check if you really tested against 0.16.1. I agree this bug is in 0.16.0 but it really should be fixed in .1.
I checked, I compiled the 0.16.1.tar.xz tar ball. I will try recompiling it tonight but I'm pretty sure it's the right version. For the -bad plugin, I can't find the tarball for the 0.10.23.1 on gstreamer.freedesktop.org/src/gst-plugins-bad. Do you know where I can find it?
apparently that's not released yet.
I wonder if it's ever gonna be released since the 1.0 was released not long ago. Should I try it with this new release? Don't know if the 1.0 series breaks the API or not.
It breaks api. a rygel release supporting 1.0 will be coming soon™
Yeah, not suprising. I will try a snapshot of the -bad 0.10 branch. It should work with this one, I guess.
Interesting, 0.16.1 really fails on debian. I noticed that I'm still on 0.10.22.3 on ubuntu. Maybe the mpegtsmux element is bonkers between that :-/
Ooookay. When I compile 0.16.1 on that same machine myself (even from the .orig.tar.xz provided by debian), it just works. Closing as notgnome, will ping our debian packager.
Hum, could you copy the configure info you use. I'm compiling from the source (using gentoo here) and while the 0.14.3 works fine the 0.16.x don't. Wonder what could cause that.
./configure --enable-uninstalled
hm, can you check if it works for you when you run it in-tree?
what do you mean by "run it in-tree"?
Tested by compiling it with the same option, except I didn't build the tracker plugin, but still not working!
Ok, let's reopen it :-/
How did you run it in the end? I meant ./configure --enable-uninstalled and then ./src/rygel/rygel
Also, can you run rygel with GST_NO_COLOR=1 GST_DEBUG=*:3, please?
Run it like you describe, just added the -config option to look for the right folders. No problem, will run it tonight with these options.
Created attachment 227440 [details] Execution with error transcoding MKV with H264 to PS3 stream format Here, you can find the execution log from the following cmd line : GST_NO_COLOR=1 GST_DEBUG=*:3 src/rygel/rygel --config /etc/rygel.conf Hope it can help... :/
Sorry, it was GST_DEBUG_NO_COLOR=1, my bad. This should not happen with 0.16.1: 0:03:10.423803160 26008 0x96a5800 INFO GST_EVENT gstevent.c:1020:gst_event_new_seek:creating seek rate 1,000000, format TIME, flags 3, start_type 2, start 0:00:00.000000000, stop_type 2, stop 0:21:04.999000001 Is the video you're trying to play 21 minutes long?
Yes, the video is 21 minutes 5 sec long exactly.
Can you run with G_MESSAGES_DEBUG=all rygel -g 5 and paste the part rygel-http-server.vala:148: HTTP GET request for URI until the second line that has "Connection:" in it?
Created attachment 227451 [details] Execution log with Rygel debug options to 5 You can find the execution log. Only put the G_MESSAGES_DEBUG=all option and removed the previous one.
Dread. That's a side-effect of a bugfix.
yep, caused by the fix of bug 671361
Created attachment 227462 [details] [review] server: Ignore full-range seeks
Created attachment 227473 [details] Execution log with Rygel debug options to 5 after patching the source I applied the patch, regenerated the .c file and recompiled it but apparently, still the same error. I've attached the log, as previously, but it seems to be almost identical.
Created attachment 227814 [details] Rygel 0.16.1 stdout with transcoding errors on 10 different video files Adding my error log with this crash from bug 686676 since I'm now affected by this bug too.
(In reply to comment #27) > Created an attachment (id=227473) [details] > Execution log with Rygel debug options to 5 after patching the source > > I applied the patch, regenerated the .c file and recompiled it but apparently, > still the same error. I've attached the log, as previously, but it seems to be > almost identical. Didn't notice the first time, but the output of + debug ("Seek is full-range seek, ignoring"); is missing in this log. Can you re-try with 0.16.3?
Yes, gonna try it tomorrow.
Ok, sorry for the delay. So, I tried it with the 0.16.3 and the last 0.10 stable release of gstreamer and transcoding is now again working. For information, the quality is better than in the previous 0.14 series but still not at the level of the old 0.12 series.
If you use http://git.gnome.org/browse/rygel/tree/examples/presets/avenc_mpeg2video.prs and replace the installed ffenc_mpeg2video.prs with it (and renaming everything avenc to ffenc) you should get a much improved quality, but at the price of very high CPU consumption.