N9 media pushing

 

Ever since the announcement of the N9’s DLNA support people were looking for a feature called DLNA +PU+ which allows you to send media files to e.g. DLNA-capable TVs without enabling content sharing on your device, giving you a really fine-grained control about what and where to share to.
PushUp is a small utility that hooks into the N9’s sharing framework and allows to you push an image or a video to your TV just like you would with Bluetooth or NFC. Get it on this site (or later through the Nokia Store).

It is an offspring of my Korva project, a D-Bus specification and its implementation for media pushing. While still work-in-progress, it’s already fully functional.
Edit: I had to update the package because the icon was missing and cancelling the device selector was broken.
Edit2: Updated again since it was broken on PR < 1.2.

61 thoughts on “N9 media pushing

  1. Very nice! Will try it out soon at home 🙂 Just one question. Wouldn’t it make sense to include this to Helium, the same as your TweakUp. I think these 3 would be a very charming bundle!

  2. If I don’t have any DLNA devices at home, but have a bunch of Linux PCs, one of them hooked up to a large TV screen, what software would I need to install there to make use of this?

    1. @Marius: There are a couple of possibilities:

      • Rygel with its renderer plugin
      • Rygel with the MPRIS plugin and Totem (3.4), VLC (2.x), Banshee (2.4)
      • XMBC
      • I think MythTV
  3. Excellent! I’ve Samsungs AllShare running on my desktop, which is actually quite a nice tool, and pushing media to this software and my (Samsung) TV Simply Works ™!

  4. Yeah, my father recently bouth also a Samsung TV with Allshare….so pushing directly to the TV works for you? Looking forward to trying this out!

    1. For PushUp I’ll just include the patch from that bug. The DLNA specs are a bit unclear about those parameters and when it’s legal to use them and when it’s not.

  5. That would be great. At home I just tested PushUp with my 1&1 Audio Center which is actually a “Sagem RM50 Internet Radio”. UNfortunately it doesn’t play a MP3 to it and shows the error:
    GDBus.Error:org.freedesktop.Tracker1.SparqlError.Parse: 1.66: syntax error, Unknown function
    @Bundling PushUp with helum: Any plans on this suggestion?

    1. @Thomas: Ouch. That should not happen. Trying to think of a way how to debug that… What’s your PR version?
      Edit: Your PR version is < 1.2. Found the issue, easy to fix 🙂

  6. True! I was anyway planning to flash soon. Stupid Swisscom! So I will try then with my devices and tell you about compatibility.

  7. Great success! sudo apt-get install rygel rygel-playbin; launch rygel, and now I can share a video and select my Ubuntu 11.10 laptop in the Play as DLNA dialog.
    I can’t make the Rygel playbin window full-screen, or control the playback in any way (not even pause it). More tools needed? A separate DLNA controller, or whatchamacallit? Any hints?
    I also don’t see how I could play music to a DLNA server — the N9’s Music application doesn’t have Sharing in any of the menus I found.
    I can’t share photos either — “The file is not compatible with the selected renderer”.

    1. @Marius: Yes, the player implementation in Rygel is rather basic. That’s intentional. You need something like Helium or gupnp-av-cp to remote control it. As for fullscreen, that’s not easy to do without depending on some kind of platform-specific library. Currently all it needs is GStreamer. You can work around this by using the MPRIS plugin and a MPRIS2 media player like recent totem, VLS 2.0 or snappy.
      I know that music is a problem; it’s a pity that there’s no option to share that. You should try the internal media server + Helium for this.
      As for the incompatibility message, Rygel’s player only gained support for images quite recently; the version in Ubuntu is too old.

  8. These blog posts (and comments) of yours are a gold mine; for a long time all I knew about DLNA/UPnP is that it’s supposed to enable media sharing of some kind, but had no idea what is what or what are the names of programs I might want to install.
    I’m still a bit fuzzy on the Rygel + MPRIS thing. When I install the rygel package on Ubuntu, I get the mpris plugin. Do I need any extra configuration for it? Do I need to start Totem by hand to let Rygel know about it? Do I need to install/enable MPRIS support on the Totel side? What about VLC?

    1. The MPRIS plugin listens for a specific D-Bus interface. I think Totem only supports MPRIS since 3.2. In VLC you need to enable it. Don’t have it available right now, it was somewhere in the advanced interface settings.

  9. Just tried Helium. Good news: It sees both the N9 itself, and my Rygel as a servers. Bad news: Any attempts to play anything from either of them on my rygel-playbin renderer results in an error:
    (rygel:8576): Playbin-WARNING **: rygel-playbin-player.vala:183: Error from GStreamer element playbin20: gstplaybin2.c(3583): setup_next_source (): /GstPlayBin2:playbin20
    (rygel:8576): Playbin-WARNING **: rygel-playbin-player.vala:186: Going to STOPPED state

  10. Ubuntu 11.10 has Totem 3.0,m VLC 1.1.2, and Banshee 2.2.1. No MPRIS2 support in any of those.
    Ubuntu 12.04 will have Totem 3.0, VLC 2.0 and Banshee 2.4, and also Rygel 0.12.6. I’ll have to give it a try when it’s finally released (which is next week, IIRC).
    Thanks for all your answers!

  11. Good work there! So, all we need now is a way to auto-initialize sharing when you “touch” a NFC sticker attached to your TV 😉
    Will the source code for this package be available, too?

  12. Hi, I tried to download and install on my N9 today.
    It shows dependency download message and after some time throws up error ‘installation interrupted’
    I installed your tweakup and helium apps without any issues.
    Can i install via terminal?
    can you tell me which source to use?

  13. Ok, peoblem was with libffi5 signature. I had to use inception to ginstall it first. Now pushup is installed and working fine. Just noticed 2 bugs/issues :
    1) Icon in share menu doesnt show properly, all i get is Red Square.
    2) If I am already sharing one video/music/picture to my windows media player on laptop. Now if I again try to share some other media, play/display on WMP doesnt start. I have either click resume on WMP on laptop or do sharing again from N9.

    1. @suyog: Yeah, the red thing is annoying. I realized that I don’t have to use a theme icon and that shouldn’t happen anymore on newer versions. I’ll have a look at the WMP issue, thanks for reporting that.

  14. Hi Jens,
    I finally tested now with 1.2, but my “Sagem RM50 Internet Radio” (see post above) still doesn’t work. But it also doesnt’ work if I want to access my N9 as DLNA Server from that radio or if I use another controller to play music from my N9. The radio works with different DLNA servers, so I think it is more an issue with the DLNA serving from the N9. What could be the error (Radio just says “Function not supported”)?

  15. Yes, will do that. Just an idea: While Helium is still in beta/dev status could you integrate a network traffic dumper in Helium which saves traffic to a file we could send to you?

  16. Hi Jens,
    was playing yesterday a bit with sniffing packets but I have general issues with several separated networks (LAN, WLAN) at home (Always a pain when trying DLNA related stuff). So I haven’t been successful yet with testing rygel but will try next week.
    It would be really cool to have such a debugger in your beta versions (Helium, PushUp), so all you need to do is save DLNA communication in a log file.
    Meanwhile I made more tests with my devices. It seems not to be the problem of PushUp, because also Helium can’t play songs (from N9) to that radio. If I select another DLNA Media server everything works fine, so indeed it seems to be rygel related. Will provide you with details next week.

  17. I could see that PushUp or Helium provided the Sagem Radio with a URL (from where it can stream the media). If this URL points to my N9 DLNA server it doesn’t work. If it’s another DLNA server URL it works, so the problem must appear when the Radio trys to consume the media URL.
    What are the (technical) DLNA similarities when streaming Media from N9 DLNA Server via Helium to Radio and when using PushUp? In my imagination the Radio is provided with a link to a media resource (on my N9) from where it should start streaming, or? In that case I guess it’s simply a problem of the N9 DLNA Server…
    Also, Helium & PushUp work nicely with WD TV Live but I also experienced some problems with Movies starting again and again even after stopping their playback on (Helium). Other issues are skipping the movie is sometimes supported but often needs 15 min to react to jump at the given position.

    1. PushUp is brings its own (HTTP) server to serve the media. It does not use the DLNA server on the N9 in any way. And your imagination is correct, you more or less just provide an URI to the device and tell it to start playing. The UPnP calls are exactly the same. Just that in the Helium case the meta-data and the URI come from another UPnP server while with PushUp the meta-data is retrieved from the Tracker DB and the file is served from its own HTTP server. One thing the N9 DLNA server and PushUp share is the underlying library to implement the HTTP server (which is quite old on the N9). Maybe something is going wrong in there.
      I know that issue with the WDTV Live, I have that device myself. I don’t really understand it. It seems that it doesn’t really like to be remote controlled.

  18. Will debug the communication between N9 and that radio next week. Good to know some more internals as it helps to narrow down this problem. Could be also the radios problem…
    @WD TV Live: Which issue do you mean. The repeated playback after stopping or the slow position skipping (meant 15 sec not min by the way). With other software control points this prepeated playback does not appear with my WD TV Live.

    1. @Thomas: The WD TV Live doesn’t work with any control point. I always get error 718 for Stop and the flickering behaviour for Pause. With which control point does it work for you? Which WDTV Live do you have? The grey, roundish one or the black shiny one? And with which firmware version?

  19. For those that don’t want to wait this can also be obtained using the apps4meego client.
    It’s likely to be what ends up in the Nokia Store ultimately anyway….

  20. And it looks like apps4meego has a slightly more recent version of PushUp than what’s linked to in this post.

  21. Hi Jens, sorry was away but now checked my WD TV Live. I have this version (black and shiny: http://lh6.googleusercontent.com/public/pcQ5yTTWkqMnh48N31IrXl0sWZswmUWypbcN1XoqippEZ5agsrC29d0VoeduOlluA1HoMKi_mDq6n4XQKRM7ihQOOXWGvPnlKWsNaXHRiEGhTgfZNgADKCCe7kmKdZn1) The firmware version is 1.08.17
    I use eezUPnP as Control Point and thatz works quite well in most cases (Also with WD TV Live). Pausing and stopping works also without problems!
    Stopping with Helium will restart the Movie after ~4 seconds, Pausing works also with Helium without problems.
    Hope I will find time to test Rygel tomorrow

  22. Hi Jens
    I installed today a clean Ubuntu 12.04 which already ships rygel-0.14.0.
    This version has absolutely no problems with my devices, also not the SAGEM Radio. Your 0.14.1 version get’s not installed properly. The ./configure stops because it doesn’t find the right gssdp: “error Package requirements (gssd-1.0 >= 0.11.0) were not met”
    Does it make a big difference if its rygel 0.14.0 or 0.14.1?

    1. No, if 0.14.0 works, there’s nothing important in 0.14.1. The most important thing in .1 is a fix for certain BD players.
      The dependencies haven’t changed since .0, did you run to run apt-get build-dep rygel?

  23. No, I
    1) installed rygel 0.14.0 from Ubuntu 12.04 software catalogue and
    2) downloaded the rygel tar you posted before and followed the install instructions. (./configure, make….) which failed
    But 0.14.0 works perfect on that virtual UBUNTU installation also with this Sagem Radio. I wish KDE would have a similar UPNP/DLNA support!
    I also send you an email yesterday with first details about the commmunication between N9 and the Radio. I’m having my problems with finding the parts where the Radio fails to play the provided source. Normaly the radio shows a connection to IP_ADDRESS when being controlled by other DMCs. If the resource is the N9 it immideately shows: “Funktion nicht unterstützt”

    1. Short summary of the Sagem Radio issue: The device needs a file suffix on the URI to work properly. The next release will have this fixed.

  24. Hi there – great little app! I have a HTC MediaLink HD that I use with PureView N808 combined with “PlayTo” and wanted to share also my N9 pictures via the same MediaLink device [currently using PushUp 0.3.0-1], but the picture uploads are stuck and never finish. I have PR1.3 and have seen your comment in the Nokia/Ovi Store about image pushing difficulties in PR1.3 – any hint when this could be fixed?
    Thanks for your efforts!

    1. Is the image displayed? The transfer in the N9 is displayed until you share a different image or cancel it. That’s a feature. If the image is displayed, then everything is fine.

  25. No, unfortunately not a single image gets displayed. The MediaLink only shows a loading blank page with a circular timer forever, but the image upload never concludes (not even the first one). The N9 transfer screen shows the full bar as if it has been uploaded, but the image is never displayed on MediaLink. When I cancel the upload on N9 transfer screen, the MediaLink goes back from loading page to it’s main screen expecting media. Looks like the “final signalling” about the image has been uploaded is missing.
    The same MediaLink with the same WiFi settings works OK with “DLNA Play” from PureView808.
    Appreciate your help!

    1. @Gabriel: Then it’s not the PR1.3 issue as that only affects images taken on PR1.3 but not PR1.3 per se.
      Would you mind doing a little console debugging?

  26. I certainly can, however you would need to instruct me how to do it. You can e-mail me directly with instructions. Appreciate your help!

Leave a Reply

Your email address will not be published. Required fields are marked *