torrent-stream + chromecast

Related tags

Mad science peercast
Overview

peercast

torrent-stream + chromecast

npm install -g peercast

Usage

Be on the same wifi as your chromecast and do

peercast magnet:?xt=urn:btih:99feae0a05c6a5dd9af939ffce5ca9b0d16f31b0

Currently this does not do any transcoding so the torrent should be mp4 (or whatever chromecast supports)

Programmatic usage

var peercast = require('peercast')

var engine = peercast(torrentOrMagnetLink)

engine.on('chromecast-status', function(status) {
  console.log('chromecast status: %s', status.playerState)
})

engine.on('chromecast-playing', function(file) {
  console.log('chromcast is playing %s', file.name)
})

License

MIT

Comments
  • dns service error: unknown

    dns service error: unknown

    I get the following error: *** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi. *** WARNING *** Please fix your application to use the native API of Avahi! *** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node *** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi. *** WARNING *** Please fix your application to use the native API of Avahi! *** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister /usr/lib/node_modules/peercast/node_modules/mdns/lib/browser.js:86 dns_sd.DNSServiceBrowse(self.serviceRef, flags, ifaceIdx, '' + requested_type, ^

    Error: dns service error: unknown at Error (native) at new Browser (/usr/lib/node_modules/peercast/node_modules/mdns/lib/browser.js:86:10) at Object.create as createBrowser at module.exports (/usr/lib/node_modules/peercast/index.js:25:22) at /usr/lib/node_modules/peercast/bin.js:19:16 at /usr/lib/node_modules/peercast/node_modules/read-torrent/index.js:18:13 at doNTCallback0 (node.js:428:9) at process._tickCallback (node.js:357:13) at Function.Module.runMain (module.js:459:11) at startup (node.js:136:18)

    I am using arch linux with kernel 4.2.5-1

    opened by deyaaeldeen 1
  • simplify stuff by using chromecast-player

    simplify stuff by using chromecast-player

    Hey,

    I've build a small lib called chromecast-player a couple of days ago. Its purpose is to simplify the process of finding a chromecast device in the network and then starting the playback of some media file. Checkout if this could be a fit for peercast :)

    opened by xat 1
  • Add exit message

    Add exit message

    When Node.js have been working hard (steaming torrent's apparently is hard) it can sometime take a while to exit. The user might not know this and thinks it will not exit. This PR will print a nice message to the user telling him that we got the request and are working on exiting...

    opened by watson 1
  • Please fix your application to use the native API of Avahi!

    Please fix your application to use the native API of Avahi!

    Upon running:

    $ peercast
    *** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see <http://0pointer.de/blog/projects/avahi-compat.html>
    *** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see <http://0pointer.de/blog/projects/avahi-compat.html>
    
    opened by bitnom 1
  • command needs double quotes to work

    command needs double quotes to work

    update usage instructions in README.md to include double quotes:

    Usage

    Be on the same wifi as your chromecast and do

    peercast magnet:?xt=urn:btih:99feae0a05c6a5dd9af939ffce5ca9b0d16f31b0
    

    should be:

    peercast "magnet:?xt=urn:btih:99feae0a05c6a5dd9af939ffce5ca9b0d16f31b0"
    
    opened by emilianos 1
  • cannot read property `playerState` of undefined

    cannot read property `playerState` of undefined

    Error appears a few seconds after launching peercast sometimes - so far haven't noticed any condition that correlates.

    Chromecast is connecting
    Connected to 3/5 peers
    Downloaded 1 MB (346.7 kB/s) with 0 hotswaps
    Uploaded 0 Bytes (0 b/s)
    /Users/rds45/.nvm/v5.7.1/lib/node_modules/peercast/bin.js:28
        status = st.playerState.toLowerCase()
                   ^
    
    TypeError: Cannot read property 'playerState' of undefined
        at EventEmitter.<anonymous> (/Users/rds45/.nvm/v5.7.1/lib/node_modules/peercast/bin.js:28:16)
        at emitOne (events.js:90:13)
        at EventEmitter.emit (events.js:182:7)
        at DefaultMediaReceiver.<anonymous> (/Users/rds45/.nvm/v5.7.1/lib/node_modules/peercast/index.js:55:20)
        at emitOne (events.js:90:13)
        at DefaultMediaReceiver.emit (events.js:182:7)
        at MediaController.onstatus (/Users/rds45/.nvm/v5.7.1/lib/node_modules/peercast/node_modules/castv2-client/lib/senders/default-media-receiver.js:16:10)
        at emitOne (events.js:90:13)
        at MediaController.emit (events.js:182:7)
        at MediaController.onmessage (/Users/rds45/.nvm/v5.7.1/lib/node_modules/peercast/node_modules/castv2-client/lib/controllers/media.js:19:12)
    
    opened by blahah 0
  • Tell the user if no chromecast available

    Tell the user if no chromecast available

    I ran peercast today and it downloaded the entire torrent I wanted to cast without ever casting it to my chromecast. I eventually realised this was because the chromecast wasn't discoverable on the network - it would be cool if peercast had a big notice to the user that the casting wasn't going to happen.

    (I ended up watching with playback, which is awesome :))

    opened by blahah 2
  • Unhandled 'error' event

    Unhandled 'error' event

    I get this error now after starting avahi and using peercast:

    *** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi. *** WARNING *** Please fix your application to use the native API of Avahi! *** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node *** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi. *** WARNING *** Please fix your application to use the native API of Avahi! *** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister Chromecast is connecting Connected to 0/0 peers Downloaded 0 Bytes (0 b/s) with 0 hotswaps Uploaded 0 Bytes (0 b/s) events.js:141 throw er; // Unhandled 'error' event ^

    Error: getaddrinfo -3008 at errnoException (/usr/lib/node_modules/peercast/node_modules/mdns/lib/resolver_sequence_tasks.js:199:11) at getaddrinfo_complete (/usr/lib/node_modules/peercast/node_modules/mdns/lib/resolver_sequence_tasks.js:112:10) at GetAddrInfoReqWrap.oncomplete (/usr/lib/node_modules/peercast/node_modules/mdns/lib/resolver_sequence_tasks.js:120:9)

    opened by deyaaeldeen 3
Owner
Mathias Buus
Rød grød med fløde
Mathias Buus
Streaming torrent client for node.js

peerflix Streaming torrent client for Node.js npm install -g peerflix Usage Peerflix can be used with a magnet link or a torrent file. To stream a vi

Mathias Buus 6k Dec 29, 2022
⚡️ Streaming torrent client for the web

WebTorrent The streaming torrent client. For node.js and the web. Sponsored by WebTorrent is a streaming torrent client for node.js and the browser. Y

WebTorrent 27.4k Jan 4, 2023
Streaming torrent client for node.js

peerflix Streaming torrent client for Node.js npm install -g peerflix Usage Peerflix can be used with a magnet link or a torrent file. To stream a vi

Mathias Buus 6k Dec 29, 2022
Adds links to Discogs pages from various sites. Auto search for music on torrent and other sites. Does multi auto-search on Artist/Discography pages. Auto search local HDDs/filelists using Voidtools Everything search engine.

Discogs Scout: Adds links to Discogs pages from various sites. Auto search for music on torrent and other sites. Does multi auto-search on Artist/Disc

null 27 Dec 27, 2022
A JavaScript library for EASILY fetching info from TheMovieDB API with support for torrent file names.

TheMovieDB-API-Wrapper.js A easy to use, pure vanilla JavaScript API wrapper for TheMovieDB Show your support! A JavaScript library for easily fetchin

Marketing Pipeline 5 Dec 2, 2022
Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC technology

Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC technology

Alex X 742 Jan 4, 2023
tar-stream is a streaming tar parser and generator.

tar-stream tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can e

Mathias Buus 356 Jan 3, 2023
Turns XLSX into a readable stream.

xlstream Memory-efficiently turns XLSX file into a transform stream with all its benefits. Stream is pausable. Emits all default events (data, end, et

Claviz 147 Dec 16, 2022
Highly performant JavaScript data stream ETL engine.

bellboy Highly performant JavaScript data stream ETL engine. How it works? Bellboy streams input data row by row. Every row, in turn, goes through use

Claviz 86 Dec 16, 2022
A server side agnostic way to stream JavaScript.

JS in JSN A server side agnostic way to stream JavaScript, ideal for: inline hydration network free ad-hoc dependencies bootstrap on demand libraries

Andrea Giammarchi 26 Nov 21, 2022
This repo is a collection of code samples and links to previous twitch live stream sessions. If you have any ideas or suggestions for future episodes, feel free to open an issue.

Talk DEV to me Talk DEV to me is a monthly show on twitch.tv/aws hosted by Tiago Barbosa and Alex Melnyk, where we invite customers, partners, or Amaz

AWS Samples 122 Jan 6, 2023
This is the Full Stack Application that we're building as a part of Praveen's Live Stream.

Community Class Room Intro Motivation Tech Stack Used PreRequisites Installation Instructions Features Marketing Public Pages Basic Design from the Th

Praveen Kumar Purushothaman 8 Apr 24, 2022
Get JSON RPC on a stream

json-rpc-on-a-stream Get JSON RPC on a stream npm install json-rpc-on-a-stream

Mathias Buus 13 May 31, 2022
Unsupervised machine learning with multivariate Gaussian mixture model which supports both offline data and real-time data stream.

Gaussian Mixture Model Unsupervised machine learning with multivariate Gaussian mixture model which supports both offline data and real-time data stre

Luka 26 Oct 7, 2022
Stream animes for free without any interruption.

Aniflix Stream animes for free without any interruption. Free $0 Ad Free Open Source 99.89% uptime Preview Main Server : https://aniflix.eu.org (Repli

Pramurta Sinha | b31ngd3v 18 Dec 17, 2022
Stream Chat Messaging Example App

Stream Chat Messaging Example App Is your core product something that would benefit from the increased engagement that comes from in-app chat? With St

Ashutosh Mohanty 7 Nov 20, 2022
A lean framework for developing Elgato Stream Deck plugins

A lean framework for developing Elgato Stream Deck plugins

Nando Vieira 17 Dec 17, 2022
Simple example script that receives the signal from one iptv channel and relays it via websocket to another server to replicate the stream to multiple players

Simple example script that receives the signal from one iptv channel and relays it via websocket to another server to replicate the stream to multiple players

Ericky Thierry 3 Feb 20, 2022
Swaps video ads for an ad-free stream.

VideoAdBlockForTwitch This video adblock for Twitch extension will swap Twitch video ads for an ad-free version of the stream at 480p and then automat

cleanlock 1.5k Jan 2, 2023
Share an abstract-level database over the network or other kind of stream.

many-level Share an abstract-level database over the network or other kind of stream. The successor to multileveldown. If you are upgrading, please se

Level 15 Mar 27, 2022