Videos! You’ve been Served!

Let’s talk about streaming!

With the proliferation of digital media files, the media server is becoming more and more of a reality. For families that have small children, they are a boon due to the protection of the physical media. For others, they simply hold the promise of instant recovery and playing of a particular movie.

Currently we have uShare, Jinzora and Ampache in Amahi as one-click apps.

stream

However, we went on a search to find a video media server that would meet the following criteria:

  1. Efficiently serve to multiple computers or devices
  2. Supports open formats like Matroska (mkv)
  3. Cross-platform using Open Source players like MPlayer and VLC, enabling a consistent interface.
  4. Open Source
  5. Supported streaming protocols such as RTSP, to allow for seeking within the stream

The search ultimately ended in partial failure. While there are solutions that meet criteria 1, 3, 4 and 5, relatively few meet criteria 2, and of those that do, there are problems; more on that in a minute.

First we looked at FFServer, a the little known server that comes with the FFMpeg transcoding package. While it met criteria 1,2,3 and 4, it was not completely stable and used http for the streaming protocol.

VLC followed. RTSP? Check! Matroska? Check! Mplayer and VLC? Check! FOSS? Check! Stable? No! VLC supports streaming in a server fashion, and it does support Matroska, however, the files that it streams suffer from audio synchronization problems. The advice from the VLC irc forum? Use a web server. It is faster and more efficient. Unfortunately, a web server was more than I wanted. Plus it doesn’t support RTSP. VLC’s server counterpart, VLS, is no longer supported and only supports older technologies like MPEG, and AVI, so it wouldn’t work either.

Jinzora? Great, however it is too picky about how the media has to be installed. Ampache? Again, it is web based. Coherence? Nope. Coherence, uShare and the PS3 Streaming Server, Mediatomb and the newcomer MiniDLNA show great potential, and they use DLNA/UPnP. DLNA and UPnP are technologies that show great promise for media servers in the home, and support for the protocol comes from devices like the PS3, Xbox 360 and other hardware solutions. At this point in time, Totem comes the closest to supporting DLNA/UPnP with a plugin from Coherence, but that eliminates a cross platform solution as VLC doesn’t look like it support DLNA/UPnP until well after the 1.0 release, and MPlayer doesn’t support it at all.

speedAnd the winner is Darwin Streaming Server (DSS), from Apple. While it doesn’t support Matroska, it does meet all of the other criteria, and doesn’t suffer from audio synchronization problems. In addition, the media can simply be stored in a single directory or be organized into subdirectories. Its native format is MP4, easily available from Handbrake, and the only preparation that the files need is something called hinting. Hinting, and an accompanying preparation that simply add synchronization information, adds additional streams to the MP4 container that tell DSS how to stream and seek within the stream. The result is nearly flawless streaming from my Amahi HDA to  an XP client. MP4Box, part of GPAC, handles the hinting and synchronization details with a single command. Even with multiple streams going, my HDA machine idles at a throttled 800MHz.

Additionally, DSS offers a modular approach to development, so plugging in additional support for technologies like Matroska may be forthcoming.

DSS suffers from one problem that some might find annoying, the lack of text based subtitles. MP4Box can add the stream and hint it, but DSS doesn’t send that portion of the stream. If the subtitle is burned into the H.264 stream, then there is no problem, but for multilingual or hard-of-hearing households, this may be a deal-breaker. For all others, if you are already using MP4s the sky is the limit. If you are looking at Matroska, well, the conversion process from Matroska to MP4 isn’t difficult.

Right now, for Amahi users, there isn’t a one click solution for DSS but we hope to . This should be soon fixed. For now, installing isn’t difficult as the dependencies are few. Simply download the source code from Apple, apply the patches for the 64bit version, if needed, and compile. Detailed instructions are available from CodeProject.

While there are possibly countless other possible solutions, this is the one that I found that did the job with the least overhead, while conforming to most of the criteria. Enjoy!

[Photos courtesy of ishrona]

Translations for Amahi 5.0: last call!

As we prepare for releasing Amahi 5.0, we thought we’d make a “last call” for any translations that you would like to be integrated in Amahi 5.0 out of the box.
Amahi in Chinese

Thanks to our amazing community, we already have a few completed, besides English (US): Chinese (simplified), Dutch, French (Canadian), Indonesian,  Portuguese (Brasil) and Spanish (Traditional).

Awesome work from the community!

We need help with some partial translations we have for German, Norwegian (NB – Bokmål), Italian, Greek and Russian.

Do you know any of those languages?

Do you know a language that you would like to see supported in Amahi?

The process is quick, about an hour or so to do an entire translation (less for a partial one), and it has some automatic help from Google Translate. If you are up for the task, get in touch by coming to the developer’s channel or write the team at support at amahi dot org!

Small Business Server, You say!

On Monday, Stephen J. Vaughn-Nichols over at LinuxPlanet.com, asked where is Linux’s answer to Microsoft’s Small Business Server. He also wondered why, when most distributions come with all of the server software needed to make something similar, Linux is not used more often.

We know the answer to the first question: Amahi!

In all truth, Amahi is fast becoming an SMB, SOHO and workgroup server. Recently the 4.0 release added Primary Domain Controller functionality and VPN has been a stablelinuxplanet.com feature for a long long time, and we have a lot of SMB-ready apps. The community is looking at organizing the feature requests for the new releases in Amahi’s roadmap.

The answer to the second is that while Amahi is wonderful and works very well, relatively few people know about it. Like many other open source projects, Amahi has a lack of resources. The subject of an official port of Ubuntu for Amahi keeps coming up. It is a wonderful idea. Still, we have had some Ubuntu developers working on the Ubuntu port on and off. Most developers have seriously underestimated the job and sooner or later they lose interest. We need to pool interest! We do have lots of volunteers for testing it!

Another idea is for an Amahi hardware device. Something that could be plugged in, the install code entered, and a few minutes later, voila! An Amahi server for home or business. The off-the-shelf technology for such a venture is such that a device like this is possible in a price range that would make it competitive with other NAS products such as Dlink’s DNS-323; Newegg’s most reviewed NAS product. The next version of Amahi will be more ready to take vendors input for bundling in hardware solutions!

How do we as the core of the Amahi user base, change this?

Number one: Blog about Amahi! Number two: Tweet and retweet! Number three: Post in Facebook!

Stephen J. Vaughn-Nichols’ email address is readily available at Linux Planet: write to him and tell him that such a product exists! Trumpet Amahi’s features and ease of use! Tell your own story, like many in our testimonials page! Write a one liner with a link to Amahi! Whatever! Just let him know.

Finally, find an Ubuntu developer friend and let him know what we have and that we need their help! All he or she can say is no. And even if he or she says no, ask them if they know a developer that is looking for a project. Talk to them long enough and Amahi will stick with them even if they don’t contribute.

This project is in our hands. We are going to make or break it. If we get the word out, people will start to come around to something better, namely Amahi.

Let’s make Amahi become everything it can become!