How to Stream Favorite Movies (MP4 Files) From Linux Terminal to Your Apple TV
If you are in search of a solution to stream your downloaded movie content to an Apple TV on your home network, you may have hit a barrier that many Linux users hit, which is that Apple hasn’t made it easy to tap into their AirPlay technology.
There is a way however, to take your .mp4 video files and stream them to your Apple TV, thanks to a few nifty Ruby programs and the libraries used by the Airplay protocol.
Assuming you are using Ubuntu (or any Ubuntu based distro) you will need to install the following dependencies required to communicate with your Apple TV device.
1. Open a terminal window and install the package “libavahi-compat-libdnssd-dev” by typing the following command.
$ sudo apt-get install libavahi-compat-libdnssd-dev
2. After that installation is complete make sure you have at least Ruby 2.0 installed on your system. Inside of your terminal type the following to ensure that it is indeed installed.
$ ruby --version
You will receive an output that should look something like this:
ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-linux]
If 1.9.x is installed, you will want to upgrade your version of Ruby to 2.x by adding the Ruby PPA to your apt sources list. You would do so by typing the following commands in your terminal.
$ sudo apt-add-repository ppa:brightbox/ruby-ng
When prompted hit ENTER. Next run,
$ sudo apt-get update $ sudo apt-get install ruby2.0-dev
3. Now that Ruby is up to date, we will need to install two “gems” that will allow us to send our video to our Apple TV. The gems we will install are airplayer and airstream.
To install we will need to run the following:
$ sudo gem install airplayer $ sudo gem install airstream
Note: This will automatically install the dependencies required to run these programs as well as the programs themselves.
4. We have the software we need to stream our video, but we need to know where on our network our Apple TV is (where to send our video). To do this we run,
$ airplayer devices
This command will output something that will resemble,
0: Apple TV (Resolution: 1280x720, Version: 200.54, IP: 192.168.0.6:7000)
Note: Take note of that IP address (minus the ‘:7000’) portion.
5. Now go the path, where your favorite movies stored and then in a terminal window run the following command to stream the movie to your Apple TV.
$ cd /path/where/video/is/ $ airstream -o IP.OF.APPLE.DEVICE ./nameofvideo.mp4
6. Now check out your TV and viola! You are streaming your video to your Apple TV.
Now, some knowledgeable on this subject may airplayer alone is sufficient to handle playback of video on Apple TV. It has been my experience that the airstream gem does this task more reliably. I simply use the airplayer gem to discover the IP address of the Apple TV.
If you have videos that are not in mp4 format and are .mkv, .avi, .mov, they will need to be converted in order for playback to work via airstream.
Feel free to post your questions, and I hope this will be a painless process to accessing what is rightfully yours.