HTTP Live Streaming, RTP Steaming, iPod Control

Show or tell us what you are doing with your wandboard!

HTTP Live Streaming, RTP Steaming, iPod Control

Postby RFigleaf » Sun Mar 09, 2014 5:10 am

I've been working on this for about 1 full year now. It runs great on a Wandboard Dual. "Listen to your music collection through your web browser":

http://freedomstreamer.com

Basically it lets me browse for music (MP3, FLAC, WAV, AAC, M4A, etc.) stored on a connected USB Drive, a connected iPod, or a Network Shared Folder. I can pick songs I want to listen to in any web browser, and it plays them back in order like a Jukebox. Connect Line Out to an amplifier, or stream to most web browsers, or VLC.

See the users guide (PDF file) section "Software License Information" (on page 3) for all the tech that is used, you can also see most all of the screenshots:

http://freedomstreamer.com/freedomstreamer.pdf

With HTTP Live Streaming (HLS), it streams the music right to a web browser on my iDevice or my Android phone/tablet. RTP streaming is supported (streams to VLC, for example), and on-the-fly conversion to WAV is also available if using a browser that does not support HLS. If metadata and album art is available, they are displayed in the browser as well. The microphone input is used, and can be streamed via HLS or RTP too (can use it like a baby monitor, or to stream a live event over your LAN).

The wandboard hardware was not modified in any way. I'm using an Ubuntu root filesystem based on the July 2013 image that seem to no longer be available at wandboard.org. I recently built my own kernel to support NTFS and HFS+ filesystems.

It uses Apache2 webserver, and audio is mostly based on GStreamer. Uses the iMX.6 hardware MP3 encoder for HLS and RTP streaming. Uses the hardware decoders as much as possible. The whole back-end is written in C -- Dynamic HTML is generated by the C code, and sent to Javascript via WebSockets. (Dynamic HTML changes while the user browses filesystems, or the Jukebox Queue changes, or metadata changes when a new song is played... there is a lot of static HTML, too). With WebSockets, the user interface is very snappy.

There are configuration screens to allow the user to configure the network (TCP/IP or WiFi) settings. The intent is "plug-and-play" -- you plug it into your LAN, DHCP assigns an address, and avahi allows you to connect to it over your LAN via http://freedomstreamer.local (the user can change that, too -- it is just the hostname). The only time the user really has to set up the network is for WiFi name and password, or to set a static IP address (which seems to perform better in my experience -- occasionally my router will change the DHCP address right in the middle of streaming a song... everything eventually recovers, but sometimes it takes a minute or two, kind of annoying... with a static IP, everything is rock solid).

I've been running one unit on my LAN without a reboot since Christmas Eve 2013.

It has been a lot of fun, I've learned many new things. The Wandboard has been awesome, in my experience. Sure, lots of challenges, but that is part of the learning.

Cheers,
RFigleaf
RFigleaf
 
Posts: 5
Joined: Mon Feb 24, 2014 1:07 am

Return to Showcase and success stories

Who is online

Users browsing this forum: No registered users and 2 guests

cron