GNOME Bugzilla – Bug 686676
Add NA SD profiles for MPEG transcoding
Last modified: 2012-12-18 22:08:36 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
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 :-/
Created attachment 227061 [details] rygel with G_MESSAGES_DEBUG=all rygel -g 5 and try to play a video
Created attachment 227062 [details] run rygel after reinstall with G_MESSAGES_DEBUG=all rygel -g 5 and try to play a video
Created attachment 227063 [details] run rygel compiled with G_MESSAGES_DEBUG=all rygel -g 5 and try to play a video
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.
I meant compiling 0.16.1 from source, 0.17 is very much in flow. The crasher is fixed on master, though.
The player doesn't even try to playback.
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.
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.
Created attachment 227073 [details] Rygel 0.16.1 compiled stdout
Can you get a traffic capture between win 7 and the bdp ? Thanks.
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.
That doesn't look much different :-/
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 ?
Ah crap. That's a side-effect of a bug-fix.
Should I still do a find/replace for those strings and try it?
Yes, please, I got confused with my bugtabs, please ignore comment 15
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
Created attachment 227577 [details] Rygel 0.16.1 patched stdout with transcoding errors on 10 different video files
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.
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?
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.
Ok, probably time to add North America SD and Europe HD profiles.
Thanks for your great support! I'd be happy to help test out any updates.
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.
Attachment 231108 [details] pushed as 235246c - gst-media-engine: Add SD_EU mpeg2 profile