/airplayer

:movie_camera: Command-line AirPlay video client for Apple TV

Primary LanguageRubyMIT LicenseMIT

AirPlayer

Command-line AirPlay video client for Apple TV

Gem Version Dependency Status Build Status Coverage Status Code Climate

Requirements

  • OS X, Ubuntu, Arch Linux
  • Ruby 2.2 or later
  • Bundler 1.10.0 or later
  • AppleTV 2G or later
  • youtube-dl (If you want to watch YouTube)

For Arch Linux

nss-mdns package is required.

$ sudo pacman -S nss-mdns

or

$ yaourt -S nss-mdns

For Ubuntu

$ sudo apt-get install rdnssd libavahi-compat-libdnssd-dev

Installation

RubyGems

$ gem install airplayer

Bundler

$ git clone git://github.com/Tomohiro/airplayer.git
$ cd airplayer
$ bundle install --deployment --binstubs
$ bin/airplayer version
1.1.0

Usage

Play online video

$ airplayer play http://heinlein.local/Movies/AKIRA.m4v

 Source: http://heinlein.local/misc/Movies/AKIRA.m4v
  Title: AKIRA.m4v
 Device: Apple TV (10.0.1.2)
   Time: 00:04:25 |=                                              | 3% Streaming

Play video

$ airplayer play '~/Movies/Trailers/007 SKYFALL.mp4'

 Source: http://10.0.1.6:7070
  Title: SKYFALL.mp4
 Device: Apple TV (10.0.1.2)
   Time: 00:00:20 |=====                                         | 11% Streaming

Play all video in specific directory

$ airplayer play ~/Movies/Trailers

 Source: http://10.0.1.6:7070
  Title: 007 Casino Royale.mp4
 Device: Apple TV (10.0.1.2)
   Time: 00:02:33 |==============================================| 100% Complete

 Source: http://10.0.1.6:7070
  Title: 007 Quantum Of Solace.mp4
 Device: Apple TV (10.0.1.2)
   Time: 00:02:01 |==============================================| 100% Complete

 Source: http://10.0.1.6:7070
  Title: 007 SKYFALL.mp4
 Device: Apple TV (10.0.1.2)
   Time: 00:02:36 |==============================================| 100% Complete

Play video podcast XML

Example: CNN video podcast

$ airplayer play http://rss.cnn.com/services/podcasting/cnnnewsroom/rss.xml

 Source: http://rss.cnn.com/~r/services/podcasting/cnnnewsroom/rss/~5/z7DirHubdP0/exp-travel-insider-hilton-head-island.cnn.m4v
  Title: exp-travel-insider-hilton-head-island.cnn.m4v
 Device: Apple TV (10.0.1.2)
   Time: 00:00:44 |============                                  | 39% Streaming

Play YouTube video

$ airplayer play 'http://www.youtube.com/watch?v=QH2-TGUlwu4'

Repeat play

Repeat one

$ airplayer play '~/Movies/Trailers/007 SKYFALL.mp4' --repeat

Repeat all

$ airplayer play '~/Movies/Trailers' --repeat

Shuffle play

$ airplayer play '~/Movies/Trailers' --shuffle

Select Device

If you have multiple "AirPlay" devices, specifying the device number for the following play is available on any device.

Check the AirPlay device number

$ airplayer devices
0: John's Apple TV (10.0.1.2:7000) # John's Apple TV number is 0
1: Jane's Apple TV (10.0.1.3:7000) # Jane's Apple TV number is 1

Use --device or -d options

$ airplayer play --device 1 '~/Movies/GHOST IN THE SHELL.mp4'

Advanced Usage

Register to OS X Service

You can create Automator Service, that opens URL from your browser in airplayer.

automator service

Supported MIME types

AirPlay Overview - Configuring Your Server

File extension MIME type Ruby mime-types
.ts video/MP2T video/mp2t
.mov video/quicktime video/quicktime
.m4v video/mpeg4 video/m4v
.mp4 video/mpeg4 application/mp4, video/mp4

LICENSE

© 2012 - 2016 Tomohiro TAIRA.

This project is licensed under the MIT license. See LICENSE for details.