DSM 5.0: Video Streaming & Transcoding

DSM's multimedia capabilities are brought out by packages installed on the NAS in conjunction with mobile apps / external access. The DLNA ecosystem is served with the Media Server package.

Evansport's transcoding capabilities are utilized in two packages, Video Station and Media Server. The latter enables the DS214play to act as a DLNA DMS (Digital Media Server). The various options available in the Media Server package are made clear in the gallery below.

The important points to note include the fact that folders can be set up for indexing of particular media types only and that video transcoding can be enabled for certain extensions that DLNA DMRs (Digital Media Renderers) don't commonly support (rm, rmvb, mkv). To prove that hardware transcoding works, we have a screenshot below of the resource usage and running processes on the DS214play taken while playing back a VC1 MKV clip using DLNA on a Sony KDL46EX720 TV.

Interesting aspects are pointed out in the above screen capture. Note that transcoding a 1080p VC-1 clip to 1080p H.264 consumes less than 20% CPU resources. The running processes give more insight into how hardware transcoding is utilized. We find that Synology triggers ffmpeg for this purpose. However, the options (such as -prefer_smd and -vcodec h264_smd) indicate that this is a custom build for the DS214play / Evansport platform. Before digging further, a short detour to understand the various streaming profiles is necessary.

Adaptive Bitrate Streaming

The quality of video streaming depends heavily on the network characteristics. Towards this, various adaptive bitrate streaming schemes are used. The MPEG committee's standard is called DASH (Dynamic Adaptive Streaming over HTTP) and it works by dividing the multimedia stream into segments (with each one having a MPD (media presentation description) holding the important data - URL, resolution, bitrate etc.). This scheme doesn't rely on or specify the underlying codecs. There are a number of open source implementations of the standard.

Apple has their own protocol for adaptive bitrate streaming, the HLS (HTTP Live Streaming). It also enjoys widespread software support and is publicly documented, though it is not a standard yet. Operation is similar to DASH in the sense that the stream is divided into multiple chunks, but differences come in the form of how the receiver is made aware of the available underlying streams. In the case of DASH, the MPD holds the URL, but HLS provides the list as a playlist at the start of the streaming session.

Microsoft also has its own solution, Smooth Streaming, for this purpose. High level details are available from Microsoft here. Software support for Smooth Streaming has traditionally come only from Microsoft which provides SDKs for various platforms.

There are other adaptive bitrate streaming techniques, but we chose to talk about the above three because they are amongst the transcoding profiles supported by Synology in the DS214play.

Synology's Transcoding Profiles

Synology stores transcoding aspects in various files under /volume1/@appstore/VideoStation/etc. Interesting contents are brought out in the screenshot below. Depending on the underlying architecture of the NAS, different transcoding profiles may be chosen. DS214play falls under 'evansport_2'. Other profiles (not shown in the screenshot) include x86_1, x86_2, bromolow_2 and cedarview_2.

Roku and AppleTV have special profiles. For the rest, some standard profiles are chosen. Note that anything with the _smd option can be expected to take advantage of Evansport's transcoder engine. Bitrates of the transcoded stream as well as the output audio profile can be gleaned from this data.

All this background information is fine and dandy, but I am sure readers are interested in how well does the transcoding works in practice. We are going to see a sharp polarization in opinions over this aspect. While some people are going to be extremely happy with the transcoding capabilities, others might consider the DS214play to be a disappointment in the same department.

What Works? - iOS Streaming & Compliant Files

iOS users with a library of files from cameras or other sources which don't have any type of DTS audio are most likely to be happy campers. In our tests using the DS Video app on a iPhone 4S, we found that all videos taken with camcorders (AVCHD / MPEG-2) as well as Blu-ray MKV remuxes (H.264 / VC-1) with AC3 / E-AC3 audio played back perfectly. Real Media clips in standard definition were also not a problem (though those used software transcoding). Chromecasting these clips worked without issue too.

What Doesn't? - Inconsistent Android Experience & Chromecasting, No DTS, No Plex

Unfortunately, the situation on the Android side is not that great. Due to the variety of supported formats for hardware-accelerated decode on various platforms, Synology suggests using MX Player as the decoder application for videos played via DS Video. Without the app installed, DS Video tries to play back the stream via the default Android app (Gallery / Photo) and this results in a 'Can't play video' message even on a Nexus 5 with an unaltered factory image. We did cursory testing with a Nexus 5, Samsung Galaxy Tab Pro 8.4, Samsung Galaxy Tab Pro 10.1 and an Asus Transformer TF300T. In-depth testing was done on a Nexus 4.

For our experiments, we chose a 1080p VC-1 clip with E-AC3 audio in a MKV container and DS Video on a Nexus 4. DS Video's settings include an option to select playback quality. Setting it on Auto is expected to provide the best results. However, we observed that within the local network / when external bandwidth is really good, DS Video opts to send out the unmodified VC-1 clip. With MX Player set in H/W+ decoder mode, the clip never starts playing back and we get dumped back to the DS Video interface. With H/W+ mode disabled, MX Player plays back the 1080p VC-1 clip in software mode with plenty of frame drops. In either configuration, casting the clip to a Chromecast simply didn't work. Setting the DS Video quality option to Medium gave better results. We do see transcoding getting activated within the MX Player interface, as shown in the gallery below. Unfortunately, even in this configuration, Chromecasting was a futile exercise.

Chromecasting a remuxed Blu-ray VC1 Clip (MKV) didn't work

Our experience with DS Video on an Android device and Chromecast was a mixed bag. While many media files were 'compliant' enough to be Chromecasted (H.264 (Blu-ray profile) in MKV, SD MPEG-1 / MPEG-2 / Real Media content), others simply failed to cast despite playing back on DS Video / MX Player.

We found that many of our test streams refused to play through DS Video. Synology went through some of those and determined some aspects (such as Real Audio in a HD Real Media stream, or a H.264 video with a 1920x1088 size instead of the standard 1920x1080) that couldn't be supported. We do not have any complaints about these 'difficult files' not playing back, but the bigger issue was that once an attempt to play such a file was made, the transcoder state got messed up. Any further transcoding / video serving became possible only after a restart of the system.

One of the disappointing retrogressions in the multimedia space for DSM 5.0 is the absence of a DTS license. Due to this, streams with DTS audio either don't play back through DS Video at all, or play back without audio. Apparently, Synology has been having some licensing issues with DTS, and there is no resolution in sight.

Another unfortunate aspect of the DS214play is the fact that it currently doesn't support the Plex Media Server package (SPK version 0.9.9.7.429-f80a8d6 downloaded from plex.tv). In any case, Plex has never been one to worry about hardware accelerated transcoding, and the Atom CPUs in the Evansport SoC do not perform as well as dedicated Atom CPUs such as the D270x. Given that Plex releases exist for other Evansport-based NAS units, it is not inconceivable that we will get Plex running on the DS214play in the near future.

Video Transcoding Summary

Since MX Player appears essential for DS Video on Android, it would be better if Synology works with them to make the Pro version available for all Synology NAS users who install DS Video. In addition, DS Video for Android should be smart enough to detect when transcoding is necessary, particularly if the quality settings are set to 'Auto'. In the ideal case, DS Video should be able to check up on the supported hardware codecs (and associated resolutions / bitrates) and ensure that the Video Station package on the NAS transcodes the source stream into the best possible quality in a supported codec.

On the whole, users with 'compliant' files will find the DS214play's transcoder working perfectly (as evidenced in this YouTube video), but those who don't and/or those who use Android devices end up with an inconsistent experience.

DSM 5.0: External Access DSM 5.0: Miscellaneous Multimedia Aspects
Comments Locked

45 Comments

View All Comments

  • toonvl - Tuesday, May 20, 2014 - link

    For me it's hardware RAID and RAID expansion options. FreeNAS OS can help you build a custom NAS yourself, but cannot provide RAID expansion sadly enough.That's if you want RAID 5, 6 and the likes and have the option to add/exchange disks with different capacity etc.. But if you just want RAID 1 and stick to it, then you're probably better off with a micro-ATX rig and software RAID like you suggest.
  • ZeDestructor - Tuesday, May 20, 2014 - link

    All in all, I have been completely sold on ZFS, and have no plans to use anything else for a NAS or any other form of critical storage until btrfs (a GPL-compliant and even more powerful successor to ZFS) gets a stable release. Oh, and personally I wouldn't run FreeNAS: I'd run bare FreeBSD and set it up manually.

    PS: A nice article from arstechnica on ZFS (and CoW FS in general): http://arstechnica.com/information-technology/2014...
  • ZeDestructor - Tuesday, May 20, 2014 - link

    Gah... most of my comment about ZFS got nuked.... And I can't be bothered to retype in all out, so here's the tl;dr edition (read the arstechnica article I linked for more detailed info):

    Compared to HW RAID controllers:
    - RAID5/6: ZFS has RAIDZ1/2/3, for 1, 2 or 3 disks worth of redundancy, equivalent to RAID5/6/there is no equivalent to RAIDZ3 to my knowledge

    - Add/exchange disks with different capacity: Done in ZFS by swapping each disk in a vdev (ZFS term more or less equivalent to arrays), then "resilvering" once all is done to increase it's size.

    Features no HW RAID controller has (to my knowledge):
    - Copy-on-Write (CoW): each update to a file is written as the difference to the original file. This allows for self-healing (damaged blocks are recovered using checksums and old data to regenerate current data) and snapshots (snapshots of the FS is a a state a a point in time). Snapshots make incremental backups trivial. In fact, quite a lot of people use snapshots to back up production databases instead of doing a traditional dump the DB to disk method.

    All in all, I have been completely sold on ZFS, and have no plans to use anything else for a NAS or any other form of critical storage until btrfs (a GPL-compliant and even more powerful successor to ZFS) gets a stable release. Oh, and personally I wouldn't run FreeNAS: I'd run bare FreeBSD and set it up manually.

    PS: A nice article from arstechnica on ZFS (and CoW FS in general): http://arstechnica.com/information-technology/2014...
  • toonvl - Wednesday, May 21, 2014 - link

    thanks! I'll check this out. When I have a need for a next expansion I'm probably going to use this :)
  • JeffS - Tuesday, May 20, 2014 - link

    I've been using 2-drive NAS appliances (first Netgear and then Synology) for probably 6 or 7 years now. I've got above-average technical acumen, but with two little kids and a busy job, I don't have enough hours in the day right now to worry about reliable storage. These things are small enough to sit on a bookshelf, they run quietly with low power, and a red light starts flashing and a buzzer sounds when there's a problem. About a year ago, one of the drives in my RAID-1 died. I swapped in a spare and never missed a beat. It would have been divorce court for me if our 20,000 family photos went down the drain. Yes, I still run regular backups (again, one push of a button on the front panel with an external drive plugged in), but it's a huge relief knowing that the odds are low of drive failure taking down our storage system. I never get support calls from home asking why the storage system is offline.

    Having said all that, I just bought a $250 Dell mini tower server, and I plan to move to it as our storage array. I'll probably keep the Synology and set up automated backup. I'm now trying to find space in the wiring closet for the Dell, and it's not an 'appliance' like these NAS units are.

    Basically, the NAS took away all of the thinking with regard to redundant, networked storage, and that allowed me to stop procrastinating and get everything centralized with RAID and backup. I've got a lot of hobbies, but our primary storage array shouldn't be one of them.

    We do only need about 2 TB of storage, so we're probably the ideal customer for a unit like this.
  • bill.rookard - Tuesday, May 20, 2014 - link

    Couldn't agree more. I picked up a very nice rackable case a while back, dropped a Gigabyte mATX board in with a dual core Phenom processor, a few GB of ram, and 5 WD drives with FreeNAS. With the exception of one RMA'd drive which failed after about 6 months, it's been absolutely rock solid for about 7 years now. Total cost on the entire build, including drives (5 x 2TB drives) was right around $800 (the drives alone were $600 at the time).

    While I certainly do appreciate having an easy setup for this type of unit (plug, configure, play), the limitations are just too restrictive (ie: either 4TB with redundancy or 8TB without - which is simply NOT a real choice). Yes, I'm certainly an edge case when it comes to this type of thing, but looking at any 5-bay devices (which would be my personal minimum), you're easily into near four digit costs and that's NOT including a drive.
  • ganeshts - Tuesday, May 20, 2014 - link

    I used to think like you guys till very recently. However, in addition to some of the points mentioned by other readers, there are certain aspects that only these NAS vendors provide:

    1. Mobile app ecosystem - Creation of a mobile app (iOS / Android) which presents an easy and intuitive interface to your NAS's contents
    2. Operation of relay service to access your NAS content from an external network without port forwarding
    3. Automatic backup of data from mobile devices to the NAS
    4. In the case of DS214play, a hardware accelerated transcode engine behind the media server feature.

    For a non-tech savvy consumer, or even for a person who knows the internal details, but doesn't want to spend time configuring or building a NAS, the units supplied by these NAS vendors make a good choice.
  • ZeDestructor - Tuesday, May 20, 2014 - link

    I'll consider buying them when they use Copy-on-Write filesystems, and come in sizes greater than 16bays for under 6k (a fully-built backblaze pod for 45 drives comes in around the 3k mark). I value data integrity more than any convenience, and as of now (to my knowledge), a CoW FS is the best thing you can get.

    If you are in contact with said companies, it would be nice if you could mention that to them... anyone who has encountered bit rot knows that RAID just isn't enough these days...
  • jamyryals - Tuesday, May 20, 2014 - link

    Couldn't agree with you more Ganesh. I have a home built set up right now on an old tower. I've been running Plex/Cloud-backups for a while now, and the fact these standalone NAS boxes have native integration with little hassle is very attractive. In the future I will be buying a solution like this.
  • Aikouka - Tuesday, May 20, 2014 - link

    Does Plex (read: Plex's modified version of FFMPEG) work with Evansport yet? Last I checked a month or so ago, it doesn't, which means you do not get hardware transcoding with this device (or any other Evansport-based NAS).

Log in

Don't have an account? Sign up now