Security News
Introducing the Socket Python SDK
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
castv2-client
Advanced tools
This module implements a Chromecast client over the new (CASTV2) protocol. A sender app for the DefaultMediaReceiver
application is provided, as well as an Application
base class and implementations of the basic protocols (see the controllers
directory) that should make implementing custom senders a breeze.
This implementation tries to stay close and true to the protocol. For details about protocol internals please see https://github.com/thibauts/node-castv2.
For advanced use, like using subtitles with the DefaultMediaReceiver check the wiki.
$ npm install castv2-client
On windows, to avoid native modules dependencies, use
$ npm install castv2-client --no-optional
Launching a stream on the device :
var Client = require('castv2-client').Client;
var DefaultMediaReceiver = require('castv2-client').DefaultMediaReceiver;
var mdns = require('mdns');
var browser = mdns.createBrowser(mdns.tcp('googlecast'));
browser.on('serviceUp', function(service) {
console.log('found device "%s" at %s:%d', service.name, service.addresses[0], service.port);
ondeviceup(service.addresses[0]);
browser.stop();
});
browser.start();
function ondeviceup(host) {
var client = new Client();
client.connect(host, function() {
console.log('connected, launching app ...');
client.launch(DefaultMediaReceiver, function(err, player) {
var media = {
// Here you can plug an URL to any mp4, webm, mp3 or jpg file with the proper contentType.
contentId: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/big_buck_bunny_1080p.mp4',
contentType: 'video/mp4',
streamType: 'BUFFERED', // or LIVE
// Title and cover displayed while buffering
metadata: {
type: 0,
metadataType: 0,
title: "Big Buck Bunny",
images: [
{ url: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/images/BigBuckBunny.jpg' }
]
}
};
player.on('status', function(status) {
console.log('status broadcast playerState=%s', status.playerState);
});
console.log('app "%s" launched, loading media %s ...', player.session.displayName, media.contentId);
player.load(media, { autoplay: true }, function(err, status) {
console.log('media loaded playerState=%s', status.playerState);
// Seek to 2 minutes after 15 seconds playing.
setTimeout(function() {
player.seek(2*60, function(err, status) {
//
});
}, 15000);
});
});
});
client.on('error', function(err) {
console.log('Error: %s', err.message);
client.close();
});
}
FAQs
A Chromecast client based on the new (CASTV2) protocol
The npm package castv2-client receives a total of 1,284 weekly downloads. As such, castv2-client popularity was classified as popular.
We found that castv2-client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.
Security News
A new Rust RFC proposes "Trusted Publishing" for Crates.io, introducing short-lived access tokens via OIDC to improve security and reduce risks associated with long-lived API tokens.