joargp / node-airplay

Apple AirPlay client library for node.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

node-airplay NPM version DevDependencies Status

node-airplay is a client library for Apple's AirPlay remote playback protocol.

some code full reference node-airplay, thanks!

Installation

From npm:

npm intall airplay2 -g

From source:

git clone https://github.com/zfkun/node-airplay.git
npm link

Dependencies

+ node-plist

- It's my fork, add node-webkit support

- If you are not in node-webkit, you can modify package.json like:

~~"dependencies": { "plist": "~0.4.3", ... }~~

  • node_mdns

    • It's my fork, hack an error no such record
    • Unfortunately the original node_mdns is woefully out of date and has required many tweaks to get working
  • ffmpeg

~~项目已自带(dep目录下),若不喜欢,~~下面是自行安装命令

brew install ffmpeg

Usage

// remote video
var browser = require( 'airplay2' ).createBrowser();
browser.on( 'deviceOn', function( device ) {
    device.play( 'http://remotehost/video.mp4', 0, function() {
        console.info( 'video playing...' );
    });
});
browser.start();
// local video (by HLS)
var hls = require( 'airplay2' ).createHLS();
hls.start( 7001 );
hls.open( '/Users/zfkun/videos/1.mkv', function( info ) {
    console.info( 'video opened: ', info );
});

var browser = require( 'airplay2' ).createBrowser();
browser.on( 'deviceOn', function( device ) {
    device.play( hls.getURI(), 0, function() {
        console.info( 'video playing...' );
    });
});
browser.start();

Help

API

Todo

  • 多码率切换
  • 外挂字幕

About

Apple AirPlay client library for node.js