UNPKG

airplay-js

Version:

JS Native Apple AirPlay client library for AppleTV

74 lines (60 loc) 2.21 kB
var util = require( 'util' ); var url = require( 'url' ); var browser = require('../airplay').createBrowser(); var media = { url : 'http://commondatastorage.googleapis.com/gtv-videos-bucket/big_buck_bunny_1080p.mp4', subtitles: [{ language: 'en-US', url: 'http://carlosguerrero.com/captions_styled.vtt', name: 'English', }], } browser.on( 'deviceOn', function( device ) { console.log( 'device online: ' + device.id ); var hls = require( '../airplay' ).createHLS(); hls.on( 'start', function () { console.info( '[HLS] start: %s', hls.getURI() ); }); hls.on( 'stop', function () { console.info( '[HLS] stop: %s', hls.getURI() ); }); hls.on( 'request', function ( req ) { // var uri = url.parse( req.url, true ); console.info( '[HLS] request: %s', req.url ); }); hls.on( 'process', function ( d ) { console.info( '[HLS] segment process: %s, %s, %s', d.index, d.file, d.out.toString() ); }); hls.on( 'segment', function ( d ) { console.info( '[HLS] segment created: %s, %s, %s', d.index, d.file, d.out ); }); hls.on( 'open', function ( d ) { console.info( '[HLS] opend: %s, %s', d.file, util.inspect( d.info ) ); }); hls.on( 'error', function ( err ) { console.info( '[HLS] segment error: ', util.inspect( err ) ); }); hls.on( 'NoFFMPEG', function ( err ) { device.simpleplay(media.url, 0, function(){ console.log("Playing using normal streaming method (not HLS)") }) }); hls.start( 7001 ); hls.open( media, function ( info ) { device.simpleplay( hls.getURI(), '0.000000', function ( res ) { console.info( 'result: ', res ); setTimeout(function(){ device.status( function ( info ) { console.info( 'AppleTV status:', info ? info : 'unavailable' ); if ( info ) { console.log(info) } }); }, 4000); }); }); }); browser.on( 'deviceOff', function( device ) { console.log( 'device offline: ' + device.id ); }); browser.start();