Ustream Viewer Added to App Store

A few days after the public announcement of a Ustream viewer application for the iPhone/iPod Touch, the app has gone live in the App Store! Get it while it’s hot for some live-streaming-inauguration-action! UPDATE!: The app has been crippled by ATT to disallow 3G streaming, but if you’re jailbroken (or can make it so asap), there’s a fix below that should work for you too.

Ustream Live in App Store
Ustream Live in App Store

UPDATE 11:20p 1/19/09: Unfortunately, it appears that this app is crippled: you can only watch streaming videos on a WIFI connection, which basically makes it useless, since if you have WIFI, you’re probably capible of using a computer. Maybe not, but my plan was to watch the inauguration while going about my daily activities, so I’m working feverishly on a workaround. It’s not hard to do, provided the crippling is an app store thing and not a ‘we need wifi bandwidth, the videos won’t stream on anything less’ thing. If it’s the former, expect a fix in a matter of minutes.

UPDATE2 12:02am 1/20/09: It is done! I’m successfully watching live streaming Ustream video on my iphone. Here’s how (after the break).

  1. Jailbreak your phone. It’s just how it works. You want your phone to do something AT&T doesn’t like? You have to, that’s just how it works.
  2. Add the VoIPover3G app and the OpenSSH app from Cydia. If you do a search, both should be right there, since they’re in the BigBoss repository. More info on voipover3g can be found here (coral), basically it just tricks the any app that’s been configured in its list into thinking that it’s got a wifi connection when, in fact, it has a 3g connection only. In the case of Joost, for example, this doesn’t work all that well, since the video actually REQUIRES all the bandwidth of wifi to run, and fizzles and dies on 3G. Ustream, on the other hand, runs fine over 3G (though it HAS crashed on me trying this, no way to tell if it’s just buggy or if it doesn’t like the lower bandwidth).
  3. Configure your VoIPover3G.plist to include the ustream bundle identifier. Basically, open a shell on your phone (go to Applications/Utilities/ on your mac, or putty (google) on your windows computer and type “ssh [email protected](youriphoneipaddresshere)” without the quotes and substituting in the IP of your phone on your local wireless network. The default password is “alpine” again without the quotes. Type “cd /Library/MobileSubstrate/DynamicLibraries” no quotes, then “vi VoIPover3G.plist” again no quotes. I find it’s easiest here to highlight the line of text showing here, copy it into a text editor (TextEdit isn’t great, but any other should do fine) and edit it there. You can then hit “dd” no quotes to delete the line in vi (the program running in the terminal), then “i” to enter insert mode, then just paste your edited line back in” then type (colon)x(enter) to exit and save.
  4. “But wait, what do I edit about that line?!” Haha, didn’t just leave you hanging, don’t worry. You want to add “tv.ustream.player” (the app’s bundle identifier) to that line, just like you see the other “com.something.something” entries. For example, my line looks like this:
    Filter = {Bundles = ("com.Fringland.Fring", "tv.ustream.player", "", "com.audiofile.Interstate", "");};
    NOTE: I’ve found (I think) that for some reason, the first entry gets ignored in this list. At any rate, even if that’s untrue, it can’t hurt to put the entry in the middle. This is what I currently have, and what works for me.
  5. That’s it. You may or may not have to restart your phone, sync it, what have you. I’m not sure exactly what it takes to kickstart this into effect. For some reason, after a restart then a respring, I still didn’t have it working, but then I did a sync to put Joost back on my phone for head-to-head troubleshooting, and it magically worked. Fiddle, if you get stuck post in the comments and I’ll do my best to help you in a timely fashion. I really want anyone who’s able to see this live, and on the iPhone is a great way to do it if you can’t take time out of your day to get to a TV or computer.

Hopefully that does the trick for everyone. Do let me know if not. For those of you interested, I’ve got a somewhat related post hot in the works about how to find bundle identifiers, since it’s sort of a pain and I just had to teach myself.

UPDATE: 12:31am 1/20/09: I seem to be having trouble getting the app to start without complaining, HOWEVER, if it’s being finnickey, I can get it to stream over ONLY 3g provided that I give it a valid wifi connection first, then load the app, then turn OFF the wifi using sbsettings. After that point, it’s no longer dependent on wifi to stream. I’m working on better characterizing the problem.

PROBABLY FINAL UPDATE BEFORE I GO TO BED TO GET UP FOR MY 6AM BUS IN THE MORNING: It looks like it’s working consistently now, though I’m not sure what changed. I think the reversion to complaining behavior might have just been a fluke. Bottom line is, try resetting (hold (hold) and (home) buttons together till it dies, then turn it on), powering off/restarting, and syncing, and any combination thereof after you’ve saved the config file. After some combination of those, it should work correctly. On a side note, when it’s having a bad day in terms of connection bandwidth, it says “bitrate too high, some frames are being dropped” in a quiet little message at the bottom of the screen, and goes on its merry way playing mostly unfettered. I’ve experienced occasional crashes, but that’s the worst of it. Have a time-delayed backup plan (tivo), but the worst that can possibly happen is that a crash cuts into the speeches/coverage for a few moments before you can relaunch.



  1. […] voraus und lässt sich nicht über UMTS mit Daten füttern – alternativ können einige händische Modifikationen am bereits familiären VoIPover3G-Programm auf einem Jailbreak-Phone vorgenommen […]

  2. CheekyMonkey
    January 20, 2009

    well done fella!

  3. January 20, 2009

    Thanks. It’s not a rocket science fix, that part was already done, but someone had to get it out the door in time for today’s festivities!

  4. Gabriel
    January 20, 2009

    You can also just rename the entire VOIPOVER3g.plist to something else. Then EVERY app that requires WIFI won’t nag you about it.

    Then just rename it back when you’re done.

    (Ps: You can also use the iphonebrowser program rather than SSH+Wifi requirements)

  5. January 20, 2009

    That is true that you can simply rename it to catch everything, but then it’s a problem when something else doesn’t work later and you totally forget that you did it.

    As for iphonebrowser, I’m on a Mac, so it doesn’t really help me. Although it is true that I could just install netatalk and see the iPhone as a networked computer, which is certainly more convenient, I often find that the thing just refuses to show up when I need it to, but then pops up when I have no use for it. All in all, I find sftp (using cyberduck) to be the most reliable, but for something like just editing the one text file, you might as well just do it by hand.

    I’ll update to include a graphical method though, and mention iphonebrowser if you’re on windows.

  6. January 20, 2009

    Thanks so much for this… iPhoneBrowser did the trick for editing the files, unfortunately uStream is totally bogged when I tried to watch the inauguration over 3g on my iPhone (on Rogers in Canada). Ahh well. I’ll just have to listen to it on the radio.

  7. January 20, 2009

    Yeah, even on wifi I had to re-buffer every two minutes. Still cool to be getting it, though.

  8. Paul
    February 19, 2009

    Your instructions are great, even for a novice like me. I am having trouble editing the VoIPover3G.plist. The editing option is locked. Thanks!

  9. February 20, 2009

    I’m not sure what ‘editing option’ you’re referring to. If you’re in the terminal or you SSHed in using cyberduck, make sure you’re root on the device. You should have logged in that way anyway, but you never know. If you’ve copied the file to a folder on your computer and THAT’S where you can’t edit it, make sure the permissions allow that sort of thing. On a terminal, cd to the directory the file’s in, and do ‘sudo chmod -755 Info.plist’ and that should make it editable for you. There’s also a graphical method.

    If that doesn’t really help, detail what you’re trying to do a little better and I can help you through it.

  10. Paul
    February 20, 2009

    Thank you for your patience! I was working with cyber duck. I switched to your instructions using Terminal. Everything was fine until I typed VI VoIPover3G.plist the response was command not found. When I typed sudo chmod -755 info.plist the response again was command not found.

  11. February 23, 2009

    So I’m not sure if you mean that you switched to a terminal on the PHONE or on your COMPUTER. In either case, the proper command to edit text is vi, NOT VI (that is, lower case, unix is case-sensitive for the most part). Why you’re getting cmd not found on sudo chmod though is more confusing. if you can copy/past DIRECTLY from the terminal what gets you the error, that may help.

  12. […] I hope this tutorial has helped those interested in watching on your iPhone over 3G instead of just WiFi. Let me know how this works for you (special shout outs to @Shadowz and alexwhittemore). […]

Leave a Reply

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