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

  • Chloiber - Tuesday, May 20, 2014 - link

    Exactly.
    I don't own a NAS yet, but plan to buy a Synology 4b NAS (probably DS414). I'm a very tech savvy person and have built my own PCs since years - but I just want a NAS that works, that I have to setup once in a matter of minutes and never (or rarely) worry again. I don't want to waste any more free time on these things
  • awktane - Tuesday, May 20, 2014 - link

    I have a much larger version. Reasons I chose a NAS device rather than building my own:
    -8 disks in pretty much the same space as it would take to store 8 hdds side by side on their own
    -My time is worth more than the cost difference. I can turn features on with a click rather than installing and configuring packages.
    -In the event of a failure I don't want to have to set it all up again. I don't want to cause a failure accidentally or some update to screw things up. I can't afford downtime.
    -Fewer possible points of failure. The hardware is much simpler and streamlined.
  • cjs150 - Tuesday, May 20, 2014 - link

    I have had a NAS for 2-3 years. (QNAP).

    I would never bother with a 2 bay NAS, I want redundancy, as HDs do fail. I know that technically ZFS is a better solution than RAID 5 but for a home media store, RAID 5/6 is fine.

    Yes I could build a cheap Mini-ITX build to do the same job, but a good NAS takes 5 mins to set up (then about 10 hours to build a 6TB RAID 5 array!) and should simply work.

    Perfect for people like me who do not have the time to spend fiddling with it for optimum set up and have a family wanting access to the film library now!
  • Beany2013 - Tuesday, May 20, 2014 - link

    I think when my DS214+ needs replacing (or when I find £500 down the back of the couch, etc) one of the chunkier, VMware/citrix/HyperV certified units will be next - I can then justify building another VM server and using that as a small SAN type thingy.

    I can use the DS214 as an iSCSI host, but it's not really quick enough over a single GbE link, and I don't have trunking/aggregating capable switch to boost performance...

    In time...oh yes, in time....
  • bznotins - Tuesday, May 20, 2014 - link

    Thanks for the discussion, it's really helped me to understand the benefit of a unit like this (mostly time/simplicity). Which are perfectly good reasons to go that route.

    What I was concerned about was that I was missing some other benefit of a NAS other than time/ease. It doesn't appear to be the case.

    As someone who needs four drives + optical (ripping) + SSD (OS), I have always just leaned toward rolling my own. I love the ability to use TeamViewer to remote into my PC and manage things. Plex runs great. I keep AirSync native on it to sync my music collection to my Android devices over WiFi. In order to manage my media, it's great to be able to run Media Companion on it.

    I guess for all my needs, if I got one of these NAS boxes I would still need a full-time PC to manage my media and streaming needs. Thus, it makes sense to take the time and effort to build my own.

    Appreciate the discussion.
  • Major_Kusanagi - Tuesday, May 20, 2014 - link

    I got an incredible deal on a Dell T20 Server: $199 with a Haswell processor and 4GB of RAM to start. The expansion abilities are nice, to include up to 6 drives (13TB total space). Granted, I could have built my own, but getting an actual server with a modern processor for $199 can't be beat.
  • GTaudiophile - Tuesday, May 20, 2014 - link

    I must be the idiot then. About 3 years ago I build a small tower using a AMD Athlon X2 quad-core CPU, 16GB ECC RAM, and 4x 1TB drives running FreeNAS7 in a ZFS2 configuration. Performance through SAMBA was simply abysmal. Earlier this year I bought the DS214play and it just works the way I want it to. I run 2x 4TB drives in RAID1 using the old 4x 1TB drives as a backup to the NAS. I love that it's a small, silent box that sits on an IKEA Expedit shelf. it hides behind a photograph. Performance through SAMBA is much better than what I experienced before. Setup and Web access is indeed idiot proof. And most of all I feel I have great support (and apps) behind the product. I frankly got tired of doing the "nerd" solution. I just wanted something small, silent, supported, and highly functional. The DS214play does this for me.
  • Major_Kusanagi - Tuesday, May 20, 2014 - link

    I don't think you're an idiot GTaudiophile, sometimes I don't want to deal with the whole 'geek out' thing either, and I'm a Systems Administrator. :-p
  • bsd228 - Tuesday, May 20, 2014 - link

    Poor samba performance 3 years ago points to problems around the SMB1->2 migration, particularly when we're talking about freenas7. MS made it a moving target. Eventually solved. But you're cheating a bit by comparing it to 3 years later technology. If you have rebuilt with a more recent freenas release, or gone to solaris, you'd have also seen better samba performance.
  • chaos215bar2 - Tuesday, May 20, 2014 - link

    I know this is somewhat tangential to the main review, but since you mention Photo Station, one important thing to note is that it does not properly support photos in non-sRGB color spaces (including AdobeRGB which is very common in mid-to-high end cameras). These photos all end up looking muddy and washed out in Photo Station, since the color space is discarded during processing.

Log in

Don't have an account? Sign up now