airstream

A command line tool for streaming to airplay-devices

Github星跟蹤圖

Airstream

A command line tool for sending videos and images to airplay-compatible devices
(like AppleTV).

Gem Version
Build Status
Code Climate
Coverage Status
Dependency Status

The airplay protocol can basically play videos in mpeg-4 (mp4, mov, ts, m4v)
format that are accessible via http. Thus for sending a local file a webserver
will be created, see below.

Local or remote images can be sent directly to an airplay-device.

Playing audio or offering a stream to an airplay device is not yet implemented
but is planned to. Do not hesitate to send me any ideas or bug informations.

Installation

gem install airstream

See Troubleshooting below, if you experience any problems while installing.

Basic Usage

Use the output argument to specify the ip-address of the remote device. Remote
files will be played directly, local files are hosted with a small webserver
(webrick). Check your firewall settings, port 7000 is used to host the file.

airstream http://example.com/sample.mp4 -o 192.168.1.8
airstream /home/me/sample.mp4 -o 192.168.1.8

You can also use wildcards and handle files as usually...

airstream /home/me/*.mp4 -o 192.168.1.8
airstream /home/me/my-birthday-20{08,10,12}.mov -o 192.168.1.8

Use airimg to send images to the airplay device.

airimg http://example.com/photo.png -o 192.168.1.8
airimg ~/Pictures/photo.png

Use -n option to set the interval between switching to the next picture.

airimg ~/Pictures/*.png -n 8

See the help for further command line options. To specify default options
use the configuration file initial generated in ~/.airstreamrc.

Controls

airstream only while playing a video file:

q ... quit
> ... skip to next file
< ... skip to prev file
. ... +30 seconds
, ... -30 seconds
space ... pause/resume

Troubleshooting

Missing ruby development libraries

Error

ERROR:  Error installing airstream:
	ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
	from extconf.rb:1:in `<main>'

Solution

Install ruby development packages:

For Ubuntu/Debian:

sudo apt-get install ruby-dev

Missing dnssd headers

Error

ERROR:  Error installing airstream:
	ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
checking for dns_sd.h... no
unable to find dnssd header

Solution

For Ubuntu/Debian:

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

For FreeBSD:

sudo pkg install avahi-libdns
gem install airstream -- --with-dnssd-lib=/usr/local/lib/ --with-dnssd-include=/usr/local/include/avahi-compat-libdns_sd/

History

  • current
    • fix progressbar fails on broken input
    • fix some dependencies
  • v0.4.0
    • Finally added tests
    • Improved stability
    • Major Bugfixes
  • v0.1.0 - v0.3.7
    • Added usage examples
    • Refactored structure
    • More input controls
    • Added basic input controls
    • Extended Readme
    • Dependency fixes
    • Changing format of progress bar
    • Hosting local file directly using webrick
    • Play remote files
    • Play local video files with local webserver
    • Sending Images

Thanks

Thanks to Bruno Aguirre (https://github.com/elcuervo) for rubys airplay gem and
Clément Vasseur for the Unofficial AirPlay Protocol Specification
(http://nto.github.com/AirPlay.html).

主要指標

概覽
名稱與所有者unused/airstream
主編程語言Ruby
編程語言Ruby (語言數: 2)
平台
許可證
所有者活动
創建於2012-11-03 20:18:35
推送於2023-03-17 13:28:11
最后一次提交
發布數0
用户参与
星數630
關注者數23
派生數26
提交數88
已啟用問題?
問題數37
打開的問題數11
拉請求數7
打開的拉請求數2
關閉的拉請求數11
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?