Sony Bravia Internet Link Unofficial API

Some notes from experimenting with my new toy!

The device (DMX) plugs into HDMI port of the TV and has its own HDMI input allowing pass-through. The control of DMX is done from a USB cable which is attached from the TV to DMX (Wonder why they do not use the HDMI for that!). DMX has an ethernet port which can get autoconfigured using DHCP (or can also be configured for manual settings from the TV). Sony has licensed a lot of content providers (slacker for radio and tons of other video providers like youtube, Amazon, Yahoo, Blip.tv). They have a portal (http://internet.sony.tv/) which allows you to add your own video links and some browser extensions which allow you to link your favorite videos which the DMX can then play for you. The firefox extension unfortunately requires older (2.X) version of firefox and does not work with newer versions (3.X). I tweaked that extension and it now works okay without significant changes. Here is a link to it. This extension adds a context menu to firefox and you can use it to direct the DMx to start playing the linked video, bookmark it etc. The caveats are that the link needs to be a raw video file (mp4, mov, avi, divx etc.) and not HTML file or any other kind.

Here is what I learned from reverse engineering the extension code.

The DMX runs a primitive web browser on port 9784. The server is reportedly called "Callisto Debug Server v0.2". There is a php script running which responds to URLs like the following
Send commands using the following REST API:

http://192.168.0.101:9784/renderer.php?method=play&url={encoded URL}

The firefox and internet explorer generates these URL's.

Here is what I gathered from the extension code about the API:

Available commands and arguments:

  • play (url => encoded URL to mp4, AVI, MOV file to play)
  • pause
  • stop
  • addbookmark (title=> encoded bookmark title, description=>encoded description, icon => ???, source =>encoded URL)

It seems to play the mp4 files quite well (I had good success with HD mp4 links from youtube and dailymotion websites which have a lot of bollywood movies). The streaming is very smooth and video quality is acceptable. You can use a website like http://keepvid.com/ to see the hidden video links. These links are then directly playable by DMX. I will experiment with AVI, MOV, DIVX files next...

Next step for me is to create a simple webservice which does all of these steps and posts the link to the DMX! Can't wait till I can manage to do that...

30 thoughts on “Sony Bravia Internet Link Unofficial API

  1. Very nice finds… My Uncle actually got one of these with his new TV and offered it to me. I’ve yet to pick it up, but I’m wondering if it’s possible to use it without the USB cable plugged in. It’d be nice if I could force it to stream videos 😛 Or is USB the only way to initiate it? And it’s just a dead HDMI passthrough otherwise…?

    1. The USB cable is needed to control the device from the TV. It would be possible to control it with HDMI but then it won’t be pass-thru. The only way to stream videos is using ethernet.

  2. OK… I figured it was required, but I didn’t know if there’d be some way around it since I don’t have a Sony. I finally got my hands on it and have been poking around with it… I can ping it and sometimes send links to it like you posted, but I either get a white screen or Connection Interrupted (on my computer)

    Something else interesting, I opened it up to see what made it tick… Sigma SMP8634LF processor, 256MB of RAM and maybe 64MB of flash. It also has a hidden button and a couple hidden lights; one says on and one blinks in a continuous pattern (IE not the LAN light) while it’s powered.

  3. I am able to play the following types of files using the web interface:

    avi
    mp4
    divx

    Also, I can tell it to stream the media from my linux machine on the network (again only the direct links to above file types work)

    The following files do not work:
    html (including ones containing a list of links to files that can be directly playable)
    mp3 audio

    I am sure they have a way of displaying the html files and I want to really figure that out, so I can just point the DMX at the root directory to be able to use the TV remote! Maybe if we sniff the http requests that it makes to access the slacker.com and amazon videos, we should get a clue.

    –Amit

  4. Any more progress?

    I just bought one of the Sony LCD’s that included this little gem. I am anxious to find someone who has any interesting hacks for it.

  5. I was looking at picking one of these up to compliment my home DRV/lan setup. I found the dev site to send files from your home PC to the BIVL: http://dev.internet.sony.tv/extensions/send2mytv/send2mytv.html

    By the sounds of what you found the list of links that the BIVL displays is controlled by the internl code. It is going to always point to a Sony server to find the list of shows available. What about the concept from Winrs. Use a windows/linus box to act as a proxy. Take the sony feed. add you own content and then serve to the BIVL. Granted its just an idea and I have no idea how to pull that off.

  6. That’s precisely what I wish to do. I set up a proxy server, and got distracted by the SSL that is used by the box. I even tried the SSL man-in-the-middle proxy, but the thing does not proceed when there is certificate violation (which is what happens with SSL logging proxy). It is using the SSL only for authentication though, so I should be able to get all the URL’s that it is trying to access and then derive the kind of markup (HTML/XML) that it expects.

  7. i did a short html with a WMV movie for download from my drive D:

    movie.wmv

    code runs ok in IE, then I bookmark to
    bravia internet link. the item shows in my tv but when i play it – i got network error message. other links bookmarked from other web sites play ok.

    how do i link my movie file from local hard drive?

    thanks, EP

  8. I have not had much luck either and have tried a number of different things, file types etc. to try to get around the newtwork error all to no avail. Lately haven’t even been able to find a link on the internet that will play, all seem to com up with format errors. Any hints would be appreciated.

    1. It can play avi, mov files on my home file server very well. The only problem is that I cannot rewind or forward any of that content. I will need to see why.

      For people having network errors, I suggest hooking up another computer on the same subnet as the DMX and try to access the URL that you are feeding to the DMX. Once again this needs to be a URL to the direct video file and not an HTML file having the video.

  9. I wish we can find a way to patch video files from host computer directly to DMX. Or, having TVersity server able to host DMX. Folks not having system background might find DMX just a novelty. At least for us (geeks), we can be creative and workaround ways to extend its useability. This nut may be hard to crack. But I think, it can be cracked open sooner or later.

  10. yes, I use TVERSITY and THE DMX Box and I have
    a BRAVIA KDL-46WL140.

    You need to have a correct/Direct link to the Tversity machine. Like the next port on a router, or next IP or same network/sub-net. The DMX doesnt play well w/DNS, lookups, ETC.

    I set up Tversity to retrieve the media files from the internet, and here’s the catch for playback.

    Don’t use the main TVERSITY console. Instead, using Windows network explorer, I select the uPNP Media Device that TVERSITY creates when the service is started, I click on that, it opens a web browser connected the the SAME machine that TVERSITY is running on ,
    For examp.

    http://192.168.1.xxx:41952/

    ‘xxx is your local IP addr’
    and I make sure its IE not Firefox, and I select the media
    from the screen and ‘RIGHT MOUSE’ and ”
    select ‘SEND FROM PC TO TV PLAY/PAUSE’
    5-10 seconds later, movie plays fine.

    No kidding, I can even connect WIFI from my BLACKBERRY to the Internal address on my network and stream STAR TREK episodes to my Nextel Curve Blackberry. IAM A GEEK !

    We need more info on the DMX box. I’m looking at the code for the next week. I want to know how that dam internal ‘Callisto Debug Server’ works.

    SeaCrest out.

  11. Were you able to get live video streams (i.e. Sopcast) to display using this method.

    I managed to get it working with specific files from youtube, however I’ve hit a road block trying to get live streams to work. The setup I tried was to use VLC to try to re-braodcast the incoming stream with no luck.

    Have you guys tried this and were you able to get it to work?

    Thanks.

  12. I doubt if the code that they have on the link mentioned has any of the application code. I suspect it is the basic linux kernel code which they have to post for GPL compliance, all the callisto debug server stuff is probably proprietary…

    But, never the less, cool stuff.

  13. I just set this up and it’s ok — a nice alternative to Apple TV with all the internet content. I used the NewBookmark url trick and pointed it to a video on my server. Worked just fine and cool.

  14. It been slow in this forum or lack of newer info. So I’m just added an idea if this could be done cause I’m not a programer to do any reverse engineering on the device. I’m not so sure if Bravia App SDK is the same as for DMX-NV1. It may help to reverse engineering useing Bravia App SDK tools. I’m not that impress what DMX-NV1 could do. I’m useing TVERSITY console to watch video on my TV as well. Here the link for info about Bravia App SDK.

    http://www.sonyinsider.com/2008/09/17/sony-japan-releases-bravia-app-sdk/

    The download Bravia App SDK is
    http://www.jp.sonystyle.com/Taiken/Original/Applicast/download.html

  15. Amit

    thanks for the info. I have a Sony Bravia and trying to play the youtube & dailymotion video from these websites to my TV. I’m always getting “network error”. You said you were able to play avi, mp4 videos from these 2 web sites so can you help me with the following:
    How do you identify the video format on youtube/dailymotion websites? I search for my videos on these web sites and then send the url of the selected video to TV by “send to PC” option but I always get the network error.

    If you can post a link of such a video from these 2 websites then I can try to send that to my pc.

  16. Amit,

    Thanks for the good information. I used to be able to see the bookmarked videos using the “My Video Links” icon on the TV’s XBR menu. But now that icon seems to have disappeared. Have you experienced this also? Do you know of any workarounds?

  17. Seeing as how the lastest software pushed down to the device by Sony has removed the favorites link has anyone found a work around?

    1. Wait a minute it still works. While you can’t bookmark a movie you can still play it!

      I have a Freenas server with the webserver enabled and put my videos on the webserver.

      I open the webserver in firefox and right click on a movie link.
      Select send from PC to TV Play/Pause
      wait a few seconds
      Movie starts playing on my TV.

      You can play/pause using the remote.

      What doesn’t work:
      Reverse
      Fast Forward – testing different file types to see
      Bookmarks – Sony removed that option

  18. Hi there, I’m trying to put this to work with a G5 OSX 10.5 and a Bravia KDL-32EX707 (no DMX, just ethernet connection through DLNA), so far I got the extension (the one you developed, not the sony version) to work with firefox, the TV got the link and try to play it, but it returns a \content error\ this happens with any kind of link, mp2, mp4, avi… any ideas?

  19. I had some fun with Send from PC to TV. I was upstairs at the computer and my wife and her brother were downstairs in the TV room, talking. The TV was off. I used this feature and it turned on the TV and started playing the video. They were very surprised!

    1. I haven’t kept track of latest firefox releases. But if the plugin interface is not changed, all you need to do is change the install.rdf and the maxVersion string. (You can open the xpi file using 7zip). I will take a look and do this, but that might take longer.

      –amit

  20. It can play avi, mov files on my home file server very well. The only problem is that I cannot rewind or forward any of that content. I will need to see why.

    For people having network errors, I suggest hooking up another computer on the same subnet as the DMX and try to access the URL that you are feeding to the DMX. Once again this needs to be a URL to the direct video file and not an HTML file having the video.

    I can play any movie files from the internet but any file I play that I link from my home network I get a network error msg, The movie files are on my external HD attached to my laptop which has XAMPP installed.

  21. Hi all,

    is there any way to get content of Bravia Internet Video on my PC? (don’t have Sony TV)?

    or at least, is there any way to get sources of that Bravia Internet Video engine (?)

Leave a Reply