After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 686089 - Transcoding to MPEG broken with rygel 0.16
Transcoding to MPEG broken with rygel 0.16
Status: RESOLVED FIXED
Product: rygel
Classification: Applications
Component: Transcoding
0.16.x
Other Linux
: Normal normal
: ---
Assigned To: rygel-maint
rygel-maint
Depends on:
Blocks:
 
 
Reported: 2012-10-13 13:55 UTC by Aurélien Bauchet
Modified: 2013-01-21 12:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Execution with error transcoding MKV with H264 to PS3 stream format (378.68 KB, text/plain)
2012-10-28 07:33 UTC, Aurélien Bauchet
  Details
Execution log with Rygel debug options to 5 (2.62 KB, text/plain)
2012-10-28 11:31 UTC, Aurélien Bauchet
  Details
server: Ignore full-range seeks (1.00 KB, patch)
2012-10-28 16:43 UTC, Jens Georg
committed Details | Review
Execution log with Rygel debug options to 5 after patching the source (2.62 KB, text/plain)
2012-10-28 19:35 UTC, Aurélien Bauchet
  Details
Rygel 0.16.1 stdout with transcoding errors on 10 different video files (51.25 KB, text/plain)
2012-11-01 15:40 UTC, paper
  Details

Description Aurélien Bauchet 2012-10-13 13:55:19 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
Comment 1 Jens Georg 2012-10-14 13:00:53 UTC
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)
Comment 2 Jens Georg 2012-10-14 13:14:14 UTC
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.
Comment 3 Aurélien Bauchet 2012-10-15 06:07:10 UTC
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?
Comment 4 Jens Georg 2012-10-15 08:10:06 UTC
apparently that's not released yet.
Comment 5 Aurélien Bauchet 2012-10-16 10:59:13 UTC
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.
Comment 6 Jens Georg 2012-10-16 11:19:30 UTC
It breaks api. a rygel release supporting 1.0 will be coming soon™
Comment 7 Aurélien Bauchet 2012-10-16 11:58:54 UTC
Yeah, not suprising. I will try a snapshot of the -bad 0.10 branch. It should work with this one, I guess.
Comment 8 Jens Georg 2012-10-19 13:11:53 UTC
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 :-/
Comment 9 Jens Georg 2012-10-19 14:19:55 UTC
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.
Comment 10 Aurélien Bauchet 2012-10-19 20:31:02 UTC
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.
Comment 11 Jens Georg 2012-10-20 09:49:00 UTC
./configure --enable-uninstalled
Comment 12 Jens Georg 2012-10-20 10:49:41 UTC
hm, can you check if it works for you when you run it in-tree?
Comment 13 Aurélien Bauchet 2012-10-22 19:54:20 UTC
what do you mean by "run it in-tree"?
Comment 14 Aurélien Bauchet 2012-10-23 05:55:07 UTC
Tested by compiling it with the same option, except I didn't build the tracker plugin, but still not working!
Comment 15 Jens Georg 2012-10-23 07:39:39 UTC
Ok, let's reopen it :-/
Comment 16 Jens Georg 2012-10-23 07:44:28 UTC
How did you run it in the end? I meant ./configure --enable-uninstalled and then ./src/rygel/rygel
Comment 17 Jens Georg 2012-10-23 07:51:49 UTC
Also, can you run rygel with GST_NO_COLOR=1 GST_DEBUG=*:3, please?
Comment 18 Aurélien Bauchet 2012-10-23 11:18:31 UTC
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.
Comment 19 Aurélien Bauchet 2012-10-28 07:33:07 UTC
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... :/
Comment 20 Jens Georg 2012-10-28 09:00:03 UTC
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?
Comment 21 Aurélien Bauchet 2012-10-28 09:14:23 UTC
Yes, the video is 21 minutes 5 sec long exactly.
Comment 22 Jens Georg 2012-10-28 09:56:17 UTC
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?
Comment 23 Aurélien Bauchet 2012-10-28 11:31:57 UTC
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.
Comment 24 Jens Georg 2012-10-28 15:15:34 UTC
Dread. That's a side-effect of a bugfix.
Comment 25 Jens Georg 2012-10-28 16:13:19 UTC
yep, caused by the fix of bug 671361
Comment 26 Jens Georg 2012-10-28 16:43:41 UTC
Created attachment 227462 [details] [review]
server: Ignore full-range seeks
Comment 27 Aurélien Bauchet 2012-10-28 19:35:10 UTC
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.
Comment 28 paper 2012-11-01 15:40:49 UTC
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.
Comment 29 Jens Georg 2012-12-14 22:52:51 UTC
(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?
Comment 30 Aurélien Bauchet 2013-01-04 21:18:03 UTC
Yes, gonna try it tomorrow.
Comment 31 Aurélien Bauchet 2013-01-21 12:10:58 UTC
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.
Comment 32 Jens Georg 2013-01-21 12:35:34 UTC
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.