Watching a movie or a TV show is something we all enjoy after a day of hard work. I already had a fully featured home theater system built by using a Raspberry Pi, but it required me to sit and watch in front of the TV (more on that here). I was not a big fan of doing this specially when watching lengthy movies. Therefore I upgraded this setup to wirelessly stream media so that i can watch them on a phone or a tablet. The media content is shared from a single location, and multiple devices can connect to it and stream the content.
I had the following requirements in mind when I started working on this project:
1) Reuse existing hardware rather than buying new ones
I already had another Raspberry Pi handling all downloads including movies and TV shows (read more here). This can be reused to share the downloaded media over the local network.
2) Multiple devices should be able to stream the media
Using Kodi as the media center client covers this as it runs on multiple platforms such as Mobile, PC and Raspberry Pi. Kodi supports SMB media sources, hence it can stream and play the media shared from the other Raspberry Pi (downloader).
Shown above is how it all comes together. Downloader is a Raspberry Pi running Deluge server and PyLoad. It can download files over HTTP, FTP and BitTorrent. Downloaded content is stored in a USB hard drive and shared over the local network using Samba (read more here).
Home Theater is another Raspberry Pi running OpenELEC, which is a distribution of Kodi (read more here). It has a SMB media source configured to connect to the downloader file share and stream the content over WiFi. I can stream movies/TV shows to the TV thanks to this.
Other devices such as the phone/tablet and PC runs Kodi natively, and does the same to stream movies/TV shows.
I was able to successfully stream all the media over a standard WiFi n connection (300 mbps). Full HD (1080p) playback was very smooth, and there was no lag even when seeking/fast forwarding. Better still, multiple devices were able to simultaneously stream the same movie without any lag as well.