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 686676 - Add NA SD profiles for MPEG transcoding
Add NA SD profiles for MPEG transcoding
Status: RESOLVED FIXED
Product: rygel
Classification: Applications
Component: IOP
0.16.x
Other Linux
: Normal major
: ---
Assigned To: rygel-maint
rygel-maint
Depends on:
Blocks:
 
 
Reported: 2012-10-23 04:22 UTC by paper
Modified: 2012-12-18 22:08 UTC
See Also:
GNOME target: ---
GNOME version: 3.3/3.4


Attachments
tcpdump capture of device startup and error message (95.86 KB, application/vnd.tcpdump.pcap)
2012-10-23 04:22 UTC, paper
  Details
rygel with G_MESSAGES_DEBUG=all rygel -g 5 and try to play a video (10.21 KB, text/plain)
2012-10-23 14:11 UTC, paper
  Details
run rygel after reinstall with G_MESSAGES_DEBUG=all rygel -g 5 and try to play a video (12.04 KB, text/plain)
2012-10-23 14:12 UTC, paper
  Details
run rygel compiled with G_MESSAGES_DEBUG=all rygel -g 5 and try to play a video (16.11 KB, text/plain)
2012-10-23 14:13 UTC, paper
  Details
Rygel 0.16.1 compiled stdout (51.66 KB, text/plain)
2012-10-23 15:00 UTC, paper
  Details
Capture between BDP-S470 player and Windows 7 (183.84 KB, application/vnd.tcpdump.pcap)
2012-10-23 15:56 UTC, paper
  Details
Rygel 0.16.1 patched stdout with transcoding errors on 10 different video files (51.25 KB, text/plain)
2012-10-29 19:42 UTC, paper
  Details
gst-media-engine: Add SD_EU mpeg2 profile (2.86 KB, patch)
2012-12-09 21:20 UTC, Jens Georg
committed Details | Review

Description paper 2012-10-23 04:22:12 UTC
Created attachment 227035 [details]
tcpdump capture of device startup and error message

The Sony BDP-S470 blu-ray player displays the error message "There is no playable file." for any and all videos from Rygel with both transcoding enabled and disabled. Device can see and play some videos from Windows 7 and most videos from miniDLNA.

Rygel version: Rygel 0.16.1 from Debian experimental repos running on Debian Wheezy (amd64).

Device firmware version: M04.R.787 (released 2011/Aug/23) <http://esupport.sony.com/US/p/swu-download.pl?mdl=BDPS470&upd_id=6918&os_group_id=6>
DLNA certification: REG24686364 <http://certification.dlna.org/certs/REG24686364.pdf>
Manufacturer website: https://store.sony.com/p/BDP-S470/en/p/BDPS470

Device otherwise shows JPEGs and plays MP3 and transcoded OGG and FLAC files perfectly.

Rygel output:

paper@x:~$ rygel -g 5
Rygel-Message: New plugin 'MediaExport' available
External-Message: rygel-external-plugin-factory.vala:33: Module 'External' disabled by user, igoring…
MPRIS-Message: rygel-mpris-plugin-factory.vala:33: Module 'MPRIS' disabled by user, igoring…
MediaExport-Message: 'file:///home/paper/DLNA%20Test' harvested
Comment 1 Jens Georg 2012-10-23 07:47:11 UTC
Can you try to
 a) run rygel with G_MESSAGES_DEBUG=all rygel -g 5 and try to play a video
 b) re-install the package
 c) If that doesn't help, compile it yourself with
  ./configure --enable-uninstalled and run with ./src/rygel/rygel ?

It's most likely related to bug 686089 but it works here on my machine and my debian experimental after reinstalling the package :-/
Comment 2 paper 2012-10-23 14:11:46 UTC
Created attachment 227061 [details]
rygel with G_MESSAGES_DEBUG=all rygel -g 5 and try to play a video
Comment 3 paper 2012-10-23 14:12:45 UTC
Created attachment 227062 [details]
run rygel after reinstall with G_MESSAGES_DEBUG=all rygel -g 5 and try to play a video
Comment 4 paper 2012-10-23 14:13:27 UTC
Created attachment 227063 [details]
run rygel compiled with G_MESSAGES_DEBUG=all rygel -g 5 and try to play a video
Comment 5 paper 2012-10-23 14:14:13 UTC
No dice. :( I did the following (a):

$ G_MESSAGES_DEBUG=all rygel -g 5 | tee rygel-0.16.1-video-error-stdout


Then (b) with no changes:

$ sudo apt-get purge rygel rygel-preferences

$ sudo apt-get update; sudo apt-get install -t experimental rygel rygel-preferences
Setting up rygel (0.16.1-1) ...
Processing triggers for rygel ...
Setting up rygel-preferences (0.16.1-1) ...

$ G_MESSAGES_DEBUG=all rygel -g 5 | tee rygel-0.16-1-video-error-stdout-after-reinstall


And then (c) I compiled from source:

$ sudo apt-get purge rygel rygel-preferences

$ sudo apt-get install pkg-config libgtk2.0-dev libgssdp-1.0 libgupnp-1.0 libgupnp-av-1.0 libgee-dev uuid-dev libgupnp-dlna-1.0 libsqlite3-dev libtracker-sparql-0.14-dev intltool

$ wget http://ftp.gnome.org/pub/GNOME/sources/rygel/0.17/rygel-0.17.0.tar.xz

$ unxz -c rygel-0.17.0.tar.xz | tar xv; cd rygel-0.17.0

$ ./configure --enable-uninstalled

rygel 0.17.0
============

Prefix:                 	/usr/local
	Source code location:   ./rygel-0.17.0
	Compiler:               gcc
	CFLAGS:                 -g -O2 -w
	VALAFLAGS:              --target-glib=2.32 
	uninstalled:            yes
	preferences ui:         no
	Media Engine:           gstreamer
Plugins:
	test:                   no
	tracker:                yes
	mediathek:              no
	media-export            yes
	external:               yes
	MPRIS2:                 yes
	gst-launch:             no
	playbin:                yes

$ make

$ G_MESSAGES_DEBUG=all ./src/rygel/rygel -g 5 | tee rygel-0.17-compiled-stdout.txt

Now Rygel is only visible under Music on the Sony player. There is no option to stream under Photo or Video menus on the player with the compiled version. Additionally, when I play any media other than an MP3, Rygel crashes when trying to transcode.
Comment 6 Jens Georg 2012-10-23 14:47:15 UTC
I meant compiling 0.16.1 from source, 0.17 is very much in flow. The crasher is fixed on master, though.
Comment 7 Jens Georg 2012-10-23 14:48:50 UTC
The player doesn't even try to playback.
Comment 8 Jens Georg 2012-10-23 14:58:38 UTC
sorry, wrong track. Since this is a sony device I expected issues with transcoding, but the device doesn't seem to like the meta-data it sees - why it doesn't like it I'm a bit lost atm.
Comment 9 paper 2012-10-23 14:59:26 UTC
I compiled with 0.16.1 source and it's the same behavior as from the Debian experimental repos.

$ G_MESSAGES_DEBUG=all ./src/rygel/rygel -g 5 | tee rygel-0.16.1-compiled-stdout.txt

In this file I first access the Video menu and get the "There is no playable file." error, then I play a transcoded FLAC from the Music menu and show a JPEG from the Photo menu.
Comment 10 paper 2012-10-23 15:00:11 UTC
Created attachment 227073 [details]
Rygel 0.16.1 compiled stdout
Comment 11 Jens Georg 2012-10-23 15:01:38 UTC
Can you get a traffic capture between win 7 and the bdp ? Thanks.
Comment 12 paper 2012-10-23 15:56:15 UTC
Created attachment 227076 [details]
Capture between BDP-S470 player and Windows 7

Capture started, turned player on, navigated to Windows 7 DLNA server under Video menu on player, navigated to Videos > All Videos and a list of 3 videos were shown on the player.
Comment 13 Jens Georg 2012-10-27 11:19:53 UTC
That doesn't look much different :-/
Comment 14 Jens Georg 2012-10-28 10:57:58 UTC
can you patch rygel-mp2ts-transcoder.vala (or rygel-mp2ts-transcoder.c) and replace MPEG_TS_SD_EU_ISO with MPEG_PS_PAL and MPEG_TS_HD_NA_ISO with MPEG_PS_NTSC ?
Comment 15 Jens Georg 2012-10-28 14:32:00 UTC
Ah crap. That's a side-effect of a bug-fix.
Comment 16 paper 2012-10-28 15:01:04 UTC
Should I still do a find/replace for those strings and try it?
Comment 17 Jens Georg 2012-10-28 15:14:35 UTC
Yes, please, I got confused with my bugtabs, please ignore comment 15
Comment 18 paper 2012-10-29 19:40:48 UTC
Making progress! I recompiled with only the line in rygel-mp2ts-transcoder.c (not rygel-mp2ts-transcoder.vala) changed to:

  static const gchar* RYGEL_MP2_TS_TRANSCODER_PROFILES[2] = {"MPEG_PS_PAL", "MPEG_PS_NTSC"};
  
All videos are now listed on the BDP-S470 player as MPEG videos.

However, when I try to play any of the videos, I get a trancoding error:

  (lt-rygel:21975): Rygel-CRITICAL **: Error from pipeline RygelHTTPGstResponse: mpegtsmux.c(964): mpegtsmux_collected (): /GstPipeline:RygelHTTPGstResponse/GstBin:transcoder-source/GstEncodeBin:encodebin/MpegTsMux:muxer
Comment 19 paper 2012-10-29 19:42:56 UTC
Created attachment 227577 [details]
Rygel 0.16.1 patched stdout with transcoding errors on 10 different video files
Comment 20 Jens Georg 2012-10-30 08:39:39 UTC
So Sony apparently cheated in the certification. Awesome.

Not sure if this will work in the end, MPEG_PS is rather different to MPEG_TS.

The other thing you see is bug 686089.
Comment 21 Jens Georg 2012-10-30 08:39:39 UTC
So Sony apparently cheated in the certification. Awesome.

Not sure if this will work in the end, MPEG_PS is rather different to MPEG_TS.

The other thing you see is bug 686089.
Comment 22 Jens Georg 2012-10-30 09:56:30 UTC
Can you change that back and only change MPEG_TS_HD_NA_ISO to MPEG_TS_SD_NA_ISO? 

Are you based in north america?
Comment 23 paper 2012-10-30 19:44:28 UTC
Changing MPEG_TS_SD_EU_ISO to MPEG_TS_SD_NA_ISO also works.

I'm not in North America, but the player is a North American model.
Comment 24 Jens Georg 2012-10-31 07:53:07 UTC
Ok, probably time to add North America SD and Europe HD profiles.
Comment 25 paper 2012-11-01 04:29:50 UTC
Thanks for your great support! I'd be happy to help test out any updates.
Comment 26 Jens Georg 2012-12-09 21:20:24 UTC
Created attachment 231108 [details] [review]
gst-media-engine: Add SD_EU mpeg2 profile

There doesn't seem to be a distinct HD profile for EU region. This applies to
paster only.
Comment 27 Jens Georg 2012-12-18 22:08:32 UTC
Attachment 231108 [details] pushed as 235246c - gst-media-engine: Add SD_EU mpeg2 profile