Windows Media (WM for short) and Silverlight (SL for short) Internet TV streaming is a very popular TV broadcasting method, particularly outside the U.S. For example, on, in my opinion, the best national TV station directory, wwiTV (“World Wide Internet TeleVision”), there are at least ten directly accessible WM / SL streams for Germany (list HERE; look for the green (WM) and light blue (SL) links). And that's only the number of streams directly accessible through wwiTV – I bet many of the external links (the red / black-background “LINK” ones) also lead to WM / SL streams. (Brown links are Flash streams not covered in this article. I'll later elaborate on how they can be played back without resorting to Puffin / Photon / iSwifter / SkyFire, the traditional Flash players (article; start with the updates at the bottom)).
In this article, I explain how you can play back these WM / SL streams – not only generic ones, but also the ones at wwiTV, the latter being non-trivial. As usual, this article is the only one discussing this subject, particularly when it comes to up-to-date info on compatible iOS players. In addition, I provide you with illustrated mini-tutorials of streaming with every WM / SL streaming-capable player currently available.
NOTE: while in the article I use wwiTV as the source link directory, everything I say can be used with ASX files / links or MMS links downloaded / copied-to-clipboard from elsewhere; for example, the (possibly) exposed, tappable link of a TV company's individual homepage. The reviewed players' ability to play back those streams will be the same as with those of wwiTV.
1. Advanced Stream Redirector (ASX) files vs. MMS streams
You need to know at least one thing to understand the rest of this article: in general, the true Internet address of TV streams are “hidden” in Advanced Stream Redirector (ASX) files (Wiki with format description). Content providers like wwiTV love it as it allows for presenting quick advertisements, announcements etc. before starting to stream the real TV stream. (Actually, exactly this is why wwiTV's ASX files are completely incompatible with everything non-Windows Media Player: they use a non-standard advertisement in the ASX files. More on this later.)
Generally, if you can't make an ASX file work in compliant players, you can still list its contents and directly find MMS links in them. (If you don't find any of them but http:// links only, you'll want to download those files instead; they, generally, are also ASX files.) More on this in the following chapter.
As has already been mentioned, wwiTV also uses these ASX files. When you navigate to a TV streaming service with WMV streams on your iDevice, you'll notice Safari won't be able to play back the inline videos – their pane will remain black and nothing happens when you tap it.
On the iDevice, if you click the stream speed icon in the upper right corner (annotated in the following screenshot),
(as with most images in this article, click the thumbnail for the full-sized and -quality original!)
the well-known “Open In” screen will be displayed. With properly-formatted ASX files (more on them later), if you select a video player with proper ASX and streaming support (I'll list them later), you can start the playback of the stream right away. An example is the German national channel ARD – just navigate to the homepage http://wwitv.com/tv_channels/7154.htm, tap the link in the upper right corner (direct link), select an ASX-compliant iOS player also registering itself as compatible and the playback begins. The latter depends on whether the player automatically starts playback; some of them don't. Then, you need to manually locate the ASX file just passed (in most cases, it'll be in the “Inbox” folder inside the main filelist of the app) and tap it. The following (working) players support ASX auto-playback currently, as of 28/Sep/2012: GoodPlayer and Oplayer HD. AcePlayer, which supports both ASX files and WM / SL playback, unfortunately, immediately crashes upon receiving the file.
Important note 1: you'll only see this link on the English-language page, not on, for example, the German one (URL starting with http://de.wwitv.com)! That is, make sure you select English at the opening page (http://wwitv.com/) of wwiTV.
Important note 2: iOS has long been suffering from the bug? “feature”? of, in most cases, not being able to display more than ten applications registered as being able to receive / render / play a given media type. (See THIS for a complete article on the matter.) This may mean you'll need to delete (and, possibly, reinstall so that you can see whether they are listed after the apps that should be used to receive ASX files) apps preventing GoodPlayer and Oplayer HD to be shown on the list. Unfortunately, not much else can be done.
For example, the next screenshot shows the list being populated by, for ASX / WM playback, absolutely useless titles (RushPlayer+, PowerPlayer, MediaPlayer, FlexPlayer). Also note that the default button on the right shows the top list item, “RushPlayer+”, which is also unable to process ASX files:
Important note 3: if you plan to play back video streams using the jailbreak-only XBMC, you'll notice it's not in the “Open In” list. Nevertheless, saving local ASX files is the only way to make XBMC play Internet streams as there's no way of entering Internet stream URL's in the app. Then, you'll need to send the ASX file to any(!) registered application. Then, you'll need to map the Documents (or Documents/Inbox) folder of the target app into XBMC to quickly access the files sent from other apps (in this case, Safari) and manually start XBMC.
2. Why don't several wwiTV ASX files work?
Unfortunately, the purely WM stream pages of wwiTV seem to use an ASX file format only compatible with the Windows version of Windows Media Player – and nothing else. No, not even the, otherwise, over-compatible VLC can play these ASX files, let alone all(!) of the iOS media players (including even the also very robust and standards-compliant XBMC).
Some examples of such files are as follows: http://wwitv.com/tv_streams/b5150.asx, http://wwitv.com/tv_streams/b3913.asx and http://wwitv.com/tv_streams/7984.asx (change “tv_streams” to “tv_channels” and “asx” to “htm” for the original page; for example, http://wwitv.com/tv_channels/7984.htm).
To make them work and/or to get the direct MMS stream address you need to do, you'll need to edit / view them, respectively.
Basically, if you use GoodPlayer for playback, both approaches will be OK.
If you use Oplayer HD or XBMC, you'll want to prefer ASX cleanup (see section 2.1 below). The reason for this is Oplayer HD's flipping bugs when playing back MMS streams and XBMC's total inability to accept direct MMS input.
Finally, if you use Azul Media Player - Video player for your iPad By Gplex or BUZZ Player (the old, 3.0 version will also work – no need to (re-)purchase the new 4.x series (see THIS article on the version change)!), you'll need to go the original MMS stream address extraction way (section 2.2) as these players aren't able to parse ASX files but can accept direct MMS stream URL's.
In both cases, download the ASX file first on your desktop. It's very easy: just right-click the above-annotated link and save the file. Then, open the file with a text editor (using a simple, read-only text viewer will suffice in the second case).
2.1 Editing incompatible ASX files
Several ASX files available at wwiTV have entries that are incompatible with everything but the Windows-based WMP. You need to remove at least the first one of these entries – the one that instructs the player to render a GIF static image file before starting to stream the content.
In the ASX file downloaded from the above page (http://wwitv.com/tv_channels/b3913.htm), you'll see something like this:
In the above screenshot, I've annotated the two entries, both enclosed between the <entry>...</entry> tag pairs, at the beginning and the end of the file. Of the two, you'll need to remove at least the first one. Then, the file becomes like this:
(I've made this version available HERE.)
You can also remove both entries (that is, not only the mandatory first, but also the optional last). HERE is an example of the file and here's how it looks like in a file editor:
You can already transfer this cleaned-up version to your ASX-compliant media player and tap it; the stream will be played back.
2.2 Getting the original MMS stream address
With players (currently, it's Azul Media Player and BUZZ Player) listed at the bottom of Section 2., instead of cleaning up the ASX file and passing the edited version to your player, you'll need to copy-and-paste the direct MMS stream address from it. In most ASX files, it'll be the one that starts with MMS.
The MMS stream is annotated in the following screenshot:
Here, all you need to is copying the URL (it's “mms://stream01.massive-mag.tv/massivemag_mq” in this case) and feed it to your player.
You can also test these MMS URL's in your desktop VLC, via File > Open Network. (With cleaned-up ASX files, just clicking the file will start streaming, assuming you've assigned VLC to ASX files.)
3. Using the recommended iOS players
As has already been hinted on, currently (as of late September, 2012) (only) the following video players are capable of rendering WM / SL streams:
GoodPlayer (both MMS and ASX)
XBMC (jailbreak-only; ASX only)
AcePlayer (both MMS and ASX, assuming the latter is local and isn't passed via “Open In”)
OPlayer HD (ASX only because of the direct MMS bug)
Azul Media Player (MMS only with restrictions)
Even the 3.x version of BUZZ Player (MMS only)
Let's start with the, because of its stability, features and compliance, most recommended player, GoodPlayer.
In this player, assuming you want to directly enter the (compatible – that is, not the sometimes messed-up files wwiTV has!) ASX or MMS address, tap the arrow icon in the lower right corner and select “Direct Streaming URL”. I recommend this menu item over “Downloader & Browser” for strictly streaming content as it doesn't load Google by default and presents a history of previous streams, making it easy to pick one.
Then, if you want to name your stream, tap the “+” icon at the bottom left and give the stream a name, followed by pasting the stream URL (ASX / MMS). An example of naming the above-created “https://dl.dropbox.com/u/81986513/092012/ASFWMVPlayer/b3913-firstremoved.asx” stream “ger-1”:
After this, you will only need to tap the new entry to start streaming. Note that, should the ASX file have more than one entries, the will be listed separately. This is the case with the above ASX as we've kept the last (incompatible) GIF entry, knowing the player would never start playing it automatically (and crash GoodPlayer entirely – therefore, don't tap it). An example screenshot with the main stream annotated:
Again: don't tap the second list element (test.gif)!
Ones that you only keep one entry (for example, THIS one) will look like this:
Note that you'll encounter a lot of (valid) ASX files with more than one valid MMS entries. For example, the ARD Tagesschau entry (page; direct ASX link) has two. In the following screenshot, I've manually selected the second one (it's highlighted in the shot):
If you pass the ASX file via Open In (again, this will only work for standard ASX files, not the majority of wwiTV!), the playback will automatically start. The ARD stream linked to above is such an example – it doesn't need to be cleaned up before playback.
Finally, if, instead of passing it a (if needed, cleaned-up) ASX file, you enter (paste) a MMS URL to GoodPlayer, there won't be any way of stream selection. After all, the MMS isn't a container of in cases multiple streams – unlike ASX.
If you are jailbroken and don't mind the inability to enter direct MMS addresses (and the lack of the iPad 3 Retina screen support) and/or want something free, XBMC is also an excellent app for stream playback. Just make the (strictly offline) ASX / strm / PLS / M3U files available to the player – by copying them into a directory where it can access them. An example showing all kinds of playlists:
Then, just tap the playlist (ASX / strm etc.) file and the playback automatically starts:
This player accepts both MMS URL's and (clean) ASX files. The latter must be local (non-remote) and can't be passed via “Open In” from another app (e.g., Safari) to avoid immediate crashes.
To add a (remote) MMS address, just select Media Explorer > Open Url (second list item in the main list) > +:
Again, do NOT supply remote ASX URL's here, they won't work. All ASX files must be downloaded first so that they're locally available to the player.
To start playback of a, to the Documents folder of the app, previously-transferred ASX file, just tap it in the “Documents: local files” folder.
3.4 OPlayer (HD)
This player should only be given local ASX files or remote ASX addresses because of a very nasty bug when directly entering MMS URL's (“Open URL” in the main menu): the playback will be flipped in both directions. While the upside-down flipping can still be fixed by locking the screen and turning the device upside-down, the left-right one can't and will result in unintelligible texts on the screen. A rotated example, as you'd see it on your iDevice after locking & rotating by 180 degrees:
You can use both remote (enter their address the above-mentioned “Open URL” in the main menu) and local, cleaned-up ASX files. Note that the player doesn't only parse ASX files, but can also initiate WM / SL playback from a lot of other playlist types (tested with m3u, m3u8 and strm).
3.5 Azul Media Player
This player only supports direct MMS streams – ASX files (or any kind of other playlists) aren't supported.
Unfortunately, its MMS support isn't stellar either. When you enter the MMS URL into the browser (the globe icon: second on the top right), it displays „Connection error: unsupported URL”:
Then, all you need to do is going back to the filelist view by tapping “Documents” in the top left corner and tap the globe icon again. Streaming playback will immediately start; an example with the above URL:
This, unfortunately, also means you'll in no way be able to bookmark a stream or access the playback history – unlike with all the other reviewed apps, where you can easily switch between different streams. Therefore, I don't recommend this player if you have more than one stream to watch.
Also note that it doesn't seem to be able to play back SL streams – for example, the ARD one.
3.6 BUZZ Player
You can enter a MMS URL to this MMS-only player using the third icon (a globe with a + sign):
A screenshot of playing back the same channel:
4. What about the other iOS players and a full, systematic overview of all this info?
Unfortunately, none of them are able to stream WM / SL. I've very(!) thoroughly tested them all and published the results of my tests in the beta, under-construction version of the main chart of my forthcoming Multimedia bible. Currently, the streaming-related part starts at Row 150.
The first row, “wwiTV ASX parsing”, elaborates on whether the nonstandard wwiTV ASX files (the ones with the GIF file entries), accessed remotely, can be parsed by the player. As has already been explained, none of the iOS players can do this – heck, not even VLC is able to parse these files on the desktop!
The second row, “Standard local ASX (and, more generally, other playlists) parsing”, elaborates on whether local (non-remote), previously via iTunes File Sharing-transferred and, when needed, cleaned-up (see the wwiTV incompatibility problem) ASX files are parsed by the player. In this row, I've also noted if other types (m3u, m3u8, strm) of playlists are supported.
The next, ““Open in” support for ASX” row elaborates on directly invoking the player by passing it a just-downloaded ASX file from, say, Safari. As I've explained above, being able to parse local or remote ASX files doesn't necessarily mean being able to be passed them: AcePlayer shouldn't be passed ASX files to avoid crashing.
The “MMS streaming” row lists whether the given player is able to play back direct MMS URL's (and how / where they should be entered). Again, some players can only accept MMS URL's but not ASX files / URL's and vice versa.
“Silverlight streams (e.g., ARD) as opposed to standard WMV ones” elaborates on whether wwiTV videos marked as SilverLight streams can be played back.
Finally, “Streaming history / favorites” shows whether you can add these ASX files / MMS streams as favorites, Again, as has already been pointed out above, Azul is the (only) clear loser here.
UPDATE (29/Sep/2012): some SL pages at wwiTV link to MMS streams directly and not via any kind of an ASX file. (Examples HERE and HERE.) Unfortunately, when tapping an MMS link (as opposed to doing the same to an ASX one), you aren't presented the "Open In" page, but are directly taken to a player that has registered itself as a handler to these streams. Examples of such apps are VLC, WMV Player and OPlayer HD. The first two, of course, can't play back anything streamed and, as has been explained in the article, plays back MMS streams directly entered (or, in this case, from another app - here, Safari - passed) flipped in both directions and, therefore, useless.
The solution: With MMS stream links, you need to, therefore, tap-and-hold link and select "Copy" in the context menu. In the next screenshot, I annotatated the menu item you must tap:
After this, you can already paste the MMS URL to your target, MMS playback-capable app from the clipboard. This has all been explained in the player-specific subsections above.
UPDATE (01/Oct/2012): should you encounter a player like XBMC not accepting direct MMS URL's at all (or is buggy when passed such a URL, as with OPlayer HD), you'll need to create a playlist file pointing to it.
It's actually very easy. If the player accepts not only ASX, but also other, simpler playlist formats (M3U, M3U8, STRM and possibly even PLS), you create such a file and enter the MMS stream address only as the only content. This approach works just great with both playlist-only players (OPlayer HD, XBMC). Of course, you can also edit a working (no .gif entries) ASX file and paste the URL there; however, this is more complicated and can go wrong easier than just creating a M3U / M3U8 / STRM file and directly pasting the MMS URL in there.