Back in the Windows Mobile / Symbian days, in 2007, I've already published a full roundup of then-current UPnP (desktop) server and mobile client apps (see THIS / THIS). Now, let's take a look at how it is done on the iDevice (iPad [Mini] / iPhone / iPod touch)!
As you may have guessed, the stock video player shipped with iOS, “Videos”, doesn't support accessing UPnP (also known as DLNA; in this article, I refer to it as “UPnP”) servers. That is, you'll need to use third-party apps on your iDevice. Fortunately, there are several of them.
1. What can you use UPnP for on iOS?
1.1 No need to purchase a higher-capacity iDevice for storing videos
Assuming you don't have problems with wireless streaming (a very common issue with the Apple iPad but, generally, not with other iDevices), you can even save two hundred bucks (the price difference between the 16 and 64 GB models as of now) by not keeping any videos (pictures etc.) on your iDevice but, instead, streaming them from a UPnP source.
The latter are, currently, very cheap – actually, UPnP-capable, network-attached external hard disks (or plain enclosures) cost little more than non-network-attachable ones. Just some examples: WD My Book Live Duo 6TB for $400; Western Digital My Book Live 3 TB Personal Cloud Storage Drive for $160 etc. For example, the latter is only some 10-20$ more expensive than non-networked external HDD's (like THIS one) or even internal ones, which, currently, start around $130.
1.2 No need to power on a desktop computer while playing back multimedia
Apple's own, proprietary and, in third-party apps (see THIS), in no way accessible Home Sharing can't share files from a non-desktop computer. This means you absolutely must keep at least a MacBook Air (or any other low-power PC or Mac) power on all the time to be able to stream your local files to your Apple TV or the stock Videos app on your iOS device. There are absolutely no non-computer hardware (for example, the, for home media streaming uses, immensely popular, home, cheap network-attached storage (NAS) units) doing this. This means at least elevated power usage compared to a NAS.
As opposed to Home Sharing, UPnP (along with other, widely-used file / multimedia sharing protocols like SBM (Samba) etc.) runs off a dirt cheap (see Section 1.1 above), small (highly portable), low-power (1-3Watts at most, as opposed to the 10-15+ Watts of an x86-based desktop), quiet NAS just fine. This means you just connect your NAS to your local network and you'll be able to access the files on it on any UPnP client.
In addition, by sticking with Apple's Home Sharing instead of just going for something more universal, you won't able to use any third-party players either, meaning the inability to, say, speed up or slow down playback, display special subtitles (e.g., bitmap “VobSub” ones) in the MP4 files not rendered by the stock Videos player, use DSP's like brightness / volume / saturation boosting etc. These are offered by several third-party media players and, generally, are readily available for you when playing files over UPnP. Apple has restricted access to Home Sharing sources to its own, stock Videos player and doesn't grant any third-party players access these shares. (Another pretty much useless and silly restriction if you ask me...)
1.3 Remote access
Some UPnP clients are even capable of accessing your multimedia library from another network, including even 3G access. Just a practical example very important for me, who has tens of thousands of shots from a lot of travel locations: you don't need to keep your entire photo library with you. When you want to show the pics you shot in a given place, you just fire up a UPnP client with remote access (e.g., 8player) and browse the library stored on a high-capacity UPnP-capable NAS at home. This way, you can save a lot of storage on your iDevice and can also keep its iTunes synchronization speed as fast as possible.
This is where you need to manually enter the address of a remote UPnP server in GoodPlayer (as with all the screenshots in this article, click the thumbnail for the original picture)
Plex even supports dynamic quality adjustments to account for slow access...
...and lets configure target resolution and bitrate independently for the three networking setup (local Wi-Fi, remote but via a fast connection and, finally, remote via a slower one). As is also explained in this dialog page, over cellular streaming, a 64 kbps stream is also provided.
1.4 Streaming UPnP sources to the Apple TV
As you may know, the Apple TV can't stream from any local network sources, except for the iTunes Home Sharing. By using a low-power (again, no need to turn on a high(er)-power, full (“x86”) desktop or notebook computer) iOS device as an intermediate “proxy”, you can easily stream UPnP sources to the Apple TV. All this without jailbreaking the latter and/or consuming much power by keeping a full-blown computer on!
Several iOS multimedia players are capable of this:
- ones that do support hardware playback also locally: nPlayer, PowerPlayer, 8player, AcePlayer, BUZZ Player, GoodPlayer, CineXPlayer
- ones that, while they don't support local HW playback over UPnP, nonetheless stream the original file over AirPlay just fine: GPlayer by Ginkgo Tech
2. Servers for x86/ x64 desktops
If you purchase one of the UPnP-capable NAS units, you will (after configuring them) be able to access content right on them from UPnP clients. I don't explain this as attaching them to the network and enabling UPnP sharing is 1, vendor-specific; 2, generally, well-explained in the documentation.
This section, therefore, only discusses x86/x64 servers; that is, ones that run on desktop computers.
On Windows 7, you can just use the server built into the media player. See THIS for more info.
On OS X, I recommend the free desktop server component also doubling as a decent UPnP server of the $4.99 “Plex” (iTunes link; not to be mistaken for the, after the last update, not recommended FlexPlayer).
It can be downloaded by non-Plex users as well from HERE (click the icon of your operating system in the “Organize your media with the Plex Media Server” section at the top) . That is, you don't need to purchase the iOS client to be able to download / use the Plex server.
The other Mac OS X servers are all either commercial or vastly outdated and hard-to-get. For example, the free Majestic Media Server 1.1.4 I (also) used in previous versions of my generic multimedia feature chart (to which I've linked to in several of my past articles) is no longer available HERE (if you do manage to find it and do use it, make sure you uncheck the “Hide File Extensions” checkbox before use!).
Should you want to purchase and use it, the iOS Plex client is really decent (it's completely independent of the Plex server I've recommended above). It's, in my opinion, worth the price ($5) if your videos
- aren't in an iOS-native format (MP4 / MOV / M4V) and are in HD or full HD. Then, non-jailbroken UPnP players won't in any way be able to use hardware acceleration to play them back - only jailbroken ones like XBMC and RushPlayer+ will. Two examples are BUZZ Player and PowerPlayer, which can't use hardware acceleration for the same MKV files they have no problems with when played back from the local iDevice's file system. Hardware acceleration is needed for decoding full HD H.264 even on the latest-and-greatest, fastest (iPhone 5 and iPad 4) hardware, let alone (much) slower ones (all previous models and the A5-only iPad Mini / iPod touch 5). Generally, 720p HD can be decoded by the best iOS UPnP clients on the two fastest models (iPhone 5 and iPad 4) properly – but not on previous models (and, again, the slower iPad Mini / iPod touch 5).
- your Wi-Fi network just doesn't have the throughput to reliably stream, say, a 10-25 Mbps video files. Then, even if they're iOS-native (or playable with the current client model: for example, 720p-only video decoded by the iPhone 5 or iPad 4), you'll see a lot of buffering. In this case, a dynamic reencoding, radically decreasing the streaming throughput needs, can be life-saving.
The transcoding process is much-much smoother than I hoped for. (Nevertheless, I still prefer playing back the original video file whenever possible.)
The main server-side filelist as the Plex client presents it
Of course, the iOS Plex client, no matter how good it is, isn't really a title belonging to a UPnP roundup. It can't connect to other, true UPnP servers. After all, I've only quickly reviewed it here because of its server component (the one I've introduced first), which, in addition to being an excellent dynamic reencoder for Plex clients, also works as a great UPnP server (then, without format changing / reencoding, of course).
You don't need to alter any setting in the Plex server to gain access to the directories it monitors via UPnP – it'll automatically share them on the network.
The Plex client can also show detailed information on a given title – here, the standardized Monsters test MKV
Plex, during playback of the same file, with subtitles enabled
3. iOS clients
I've very thoroughly tested all iOS clients in the following respects:
- being able to download the file locally instead of “just” streaming it. Then, you can play back the local copy any number of times and even with HW acceleration if applicable (see the question of BUZZ Player / PowerPlayer & MKV acceleration below, in the last bullet).
- being able to manually enter the parameters of the UPnP server. (This is essential with UPnP access from other networks (including 3G ones) – see section “1.3 Remote access” above.
- whether it can stream iOS-native video files (MP4 / MOV / M4V with (at least one track of) AAC audio and H.264 video) to AirPlay receivers (e.g., AppleTV)
- hardware acceleration of native iOS media formats (see previous)
- hardware acceleration of media formats the player is, otherwise, capable of playing back when locally present. (Unfortunately, the only two UPnP-capable AppStore player also offering hardware MKV acceleration, BUZZ Player and PowerPlayer, don't support hardware playback when streaming.)
Note that the following list shows the state of these players on 6/Dec/2012. No matter how diligently I update this roundup, in the future, there may be cases some records in the list become obsolete. For example, half a year ago "PlayerXtreme" would have belonged to the "absolutely useless" category (see my UPnP reviews back then); now, however, I don't consider it a bad UPnP player any more.
Also note that, when I considered it useful, I've provided additional info. In 3.1, I've listed the streaming / file access protocols (if any) the players do support. In the other sections, I've provided some tricks and tips on how to activate the given functionality. For example, few people would think 8player has an entire context menu if you tap-and-hold one of the media files in the filelist. Also this piece of highly useful information can be found in the dedicated section.
3.1 iOS players absolutely incapable of acting as a UPnP client
the stock, built-in Videos player (of course...)
iMedia Player (only HTTP streaming is supported)
Media Player PRO (was: Movie Player HD+) (only HTTP streaming is supported)
yaPlayer (absolutely no streaming support)
MoliPlayer (absolutely no streaming support)
VLC (absolutely no streaming support)
WMV Player Pro WiFi
Falcon Player and Downloader Pro for iPad
ReplayerHD (absolutely no streaming support)
viPlay (SMB / FTP only)
TTPlayerHD (absolutely no streaming support)
Privacy video player safe & lock (absolutely no streaming support)
iSpring Movie Player (absolutely no streaming support)
QQPlayerHD (absolutely no streaming support)
LuberPlayerHD (SMB / FTP only)
Playable (only HTTP streaming is supported)
Video Media Player
TopPlayer(HD) (absolutely no streaming support)
ProPlayer (absolutely no streaming support)
Play Any Video Format - PlayerX (HD) (absolutely no streaming support)
HD Player Pro (only HTTP streaming is supported)
Oplayer (SMB and FTP only)
Movie Player – Plays any Video! by Dominic Rodemer (HTTP / DropBox only)
Azul Media Player - Video player for your iPad By Gplex (HTTP only)
AVPlayer(HD) (FTP only)
It's Playing by Addition, Lda
EC Player (SMB and HTTP only)
3.2 Players capable of manual UPnP server configuration (remote access)
PowerPlayer (+ icon in bottom left)
VM Player HD (second (Globe) icon on top left)
PlayerXtreme (Menu (third icon at the top left / Connect to Server))
AcePlayer (Media Servers / „+” icon in top right)
3.3 Players capable of downloading files over UPnP (in addition to the default streaming)
PowerPlayer (select „Download” in the pop-up context menu)
VM Player HD
8player (tap-and-hold the file for the context menu, with the Downloads button, to display!)
3.4 Can even act as a server
BUZZ Player HD and BUZZ Player HD; that is, both the pre-4 and the 4+ versions. (last icon at the bottom right; first tab in the dialog. Works great!)
3.5 UPnP clients NOT capable of hardware playback of iOS-native file formats
GPlayer by Ginkgo Tech (arrow icon in bottom left) – note that it does stream the file to AirPlay receivers, though
eXPlayer HD by Zhigang Chen (UPnP-wise VERY weak and unreliable app in every respect)
yxplayer by mobilesoft.kr (UPnP-wise VERY weak and unreliable app in every respect)
RushPlayer (upon tapping the “SW” button to switch to HW decoding, it exits to the filelist view. After returning, it's playing by SW again. Generaly, VERY weak UPnP support – you definitely WON'T want to use this player to access UPnP sources.)
AnyPlayerHD: as with playing back local files (for which it's in no way recommended), this app has very weak UPnP support.
3.6 Not belonging to any of the categories above...
… that is, a player that can only automatically discover UPnP servers (and, consequently, can't be used to access remote ones via an internet address), can't download files but, at least, use hardware acceleration for iOS-native file formats
CineXPlayer – The best way to enjoy your Xvid movies by NXP Software B.V
3.7 Jailbreak-only players
RushPlayer+: hardware (HW) acceleration is partial – doesn't work with iDevice-native files at all, only non-native ones and MKV's. MP4 ones exit at once. MKV files, however, played back nicely in HW! This (the ability to play back MKV's in hardware) is the main difference from the dumbed-down and not at all recommended AppStore version. That is, if (and only if!) you jailbreak, want to play back streamed MKV's and, for some reason, don't want to use XBMC (see below), RushPlayer+ is a decent solution
XBMC: as opposed to RushPlayer+,
1, it's also capable of remote playback via „Add network location” at the bottom of the Add video source / Browse list.
2, plays back iOS-native files too using HW playback.
4. My recommendations
My picks are as follows:
This player should be one of the players you definitely should look into. It has all the goodies you can expect from UPnP players, even the most advanced ones like remote access – and a lot more; for example, the ability to not only stream video and audio, but also photos.
(Filelist in 8player)
1, I do not recommend it as a generic player for local, non-iOS-native files. The video decoders it has are far less optimized than those of the, in this regard, top players like yaPlayer, It's Playing and the like.
2, should you want to play back files (many AVI's; most high(er)-res (M)TS etc. files) with AC-3 audio, purchase it as soon as possible. It, currently, does have AC-3 support but it's fully unknown whether Dolby / Apple let them leave the player as is. They are very fast to remove players, even free ones, that do support AC-3. For example, the free DirectPlayer, which debuted as 1.0 on 29/November, was forced to remove the update in just five days. (Version 1.1, released yesterday, no longer supports AC-3.)
The runtime settings of 8player – as you can see, it also supports the ever-so-important rewinding / fast-forwarding gestures
Also note that you'll want to use its AC-3 only for videos with 720p resolution or less on current top hardware (iPhone 5 / iPad 4) and standard definition only on lesser hardware – in addition to the already-explained weak(er) set of codecs, it can't play back iOS-native files with AC-3 audio using hardware acceleration. That is, it must depend on its, as just (again) explained, lower-quality, slow(ish) decoders, resulting ins stuttering playback, particularly with higher-resolution videos and/or slow(er) iDevices.
Note that I've tested some players with AC3-only M4V hardware playback. You can find the results HERE. As you can see, I've tested the last AC-3-capable versions of players like GoodPlayer – with it, I've tested version 5.7. (AVPlayerHD and ProPlayer have both been removed from the AppStore, also “thanks” to Dolby's pretty much unrealistic demands. Of them, I've tested the last version before the removal – and still available for download (strictly) on iDevices you've previously directly downloaded the app to.) Note that the list of AC-3-capable players that also play back iOS-native media files also includes DirectPlayer 1.0. As has already been mentioned above, the (after my publishing the list) yesterday-released 1.1 version has removed all AC-3 support.
GoodPlayer has always had excellent streaming support. No wonder it has turned out to be the most recommended player in my WMV Streaming bible too.
As with other streaming protocols, its UPnP support is very good.
The only downside of the player is the (relatively) low-quality set of codecs – there certainly are better players with, say, faster H.264 codecs.
Also worth noting that, while it indeed still has its share of problems (for example, the lack of iOS-native file playback), PowerPlayer has turned out to be decidedly good in my tests. For example, as opposed to doing the same to local files, it was able to utilize hardware acceleration for networked ones; see the “Play back by iPod plug-in” button in the next screenshot:
In addition, when it comes to playing back UPnP content, it has the same features as its big brother GoodPlayer: manual address entering, downloading (as can also be seen in the screenshot above – see the “Download” button) etc.
4.3 BUZZ Player
BUZZ Player is also a very strong title with excellent streaming (including UPnP) capabilities. Definitely recommended.
BUZZ Player showing my UPnP server
4.4 (Jailbreak-only) XBMC
As usual, the absolutely stunning media player "XBMC" doesn't disappoint. While it lacks some bells and whistles like file downloading, it's a capable player with, among other things, flawless MKV playback acceleration during playback – something no AppStore player is capable of, “thanks” to Apple's overly, uselessly restrictive AppStore rules.
The following screenshot shows the “Files” list, where you can instruct XBMC to automatically look up servers (see the annotated upper row; we'll use the lower one (Add Videos) when explicitly browsing among the different networking / media sharing protocols in the next step:
You can also add one under Add Videos (again, the lower menu item in the screenshot above) > Browse > UPnP Devices:
4.5 (Jailbreak-only) RushPlayer+
Should you want to play back MKV files with hardware acceleration and, for some reason, avoid using XBMC, RushPlayer+ (the jailbreak-only big bother of the, because of Apple's silly video playback restrictions, far less capable RushPlayer) is the way to go. Its UPnP support is accessible under “WiFi” from the main menu (screenshots made in the regular AppStore version; the Cydia one has exactly the same UPnP interface). Just tap UPnP there:
Then, a lot of networked devices will be displayed:
Note that, in addition to true UPnP servers (I've annotated the only one above), it also lists some false ones. Don't tap them!
Again, I only recommend this player for MKV playback, nothing else.
Note that neither XBMC nor RushPlayer+ support direct AirPlay, not even with local files. That is, don't expect they do the same as the UPnP clients with UPnP → AirPlay stream transformation capabilities (see section 1.4 above): nPlayer, PowerPlayer, 8player, AcePlayer, BUZZ Player, GoodPlayer, CineXPlayer, GPlayer by Ginkgo Tech.
UPDATE (7/Dec/2012): I've prepared a full chart of the tested apps' UPnP (and SMB) test results HERE. Please read "5. The complete(!) feature & comparison chart" there for the link & instructions on how the chart should be read.