Playing video to multiple chromecasts - chromecast

I would like to develop a chromecast receiver and sender app which would play the same video to multiple chromecasts and both those videos are in sync. Is there a low level access to video playback and can you use web sockets or other technology to synchronise playback between multiple devices?

You cannot control/communicate with two chromecasts using one sender. In other words, two chromecasts will have their own sessions and any synchronization between the two should be done out of band, using, say, a cloud backend or so, within each receiver.

Related

Where does a Janus Gateway fit in a audio calling web app

I have created a small prototype where you can call a person if he/she is online on https://echo-land.herokuapp.com
It uses twilio's API to fetch STUN and TURN servers. Users create and accept offer and connect in a p2p fashion.
I have read many articles which mentions that this architecture(MESH) will fail when I create a room with multiple participant. Now I want to know that If i use Janus as a gateway where do I have to fit in to make the system functional?
In a mesh topology each user has to upload their video to each viewer, so if you had a 4 person conference call each user would need to upload video 3 times.
With Janus you upload your video once, and then Janus distributed to each viewer.
Janus has a videoroom construct that sounds like it could fit your design. You could have a user join a videoroom, and that would give you a concept of presence.

OpenTok: Is it possible to publish a stream from a broadcasted TV channel?

We have a TV channel, and we are thinking of creating an android App to display our channel, live. I am looking for the right solutions for that.
I just got in touch with OpenTok, and it seems to be mostly about streaming phone's camera or webcam.
So before going deep with my team, I would like to know if OpenTok can also publish streamed live video channel, and continuously, or at least as long as, or as soon as, there is an active subscription on the session.
What format is your TV channel in? If you can play it in a video tag, you could use Chrome/Chromium via puppeteer to play the video, and use captureStream to pass the stream into the OpenTok JS SDK. You could of course also observe when users are added or removed from the session to turn on/ turn off this publisher.
It might also be better to look at HLS streaming, which OpenTok also supports. It might be best to skip the OpenTok step and go straight to a HLS stream.

Can we implement live audio streaming functionality using tokbox

I am having a requirement to broadcast live audio on my website.
Scenarios are:
One user will talk/sing in my application (only audio) and
His followers will have to listen that live audio instantly in the same application(followers can listen only).
After broadcasting live audio the followers may give replay through chat.
Can we implement the above scenario using Tokbox?
Note: I am developing my web application in ASP.Net MVC5 + WEB API.
You should be able to do it with TokBox.
Use OT.initPublisher({ videoSource: null }) to publish audio only. See https://tokbox.com/developer/guides/audio-video/js/#voice And for singing you may want to tune the audio quality, see https://tokbox.com/developer/guides/audio-video/js/#audio-tuning
Subscribing to this stream will allow your users to listen to the live audio
You will be able access the audio by creating an audio-only archive. The TokBox API provides the audio-only archive for you but you will have to integrate a playback system into your chat system yourself. See https://tokbox.com/developer/guides/archiving/

Using multiple Chromecast to display same content for unattended TV

We have a number of TVs where we want to display dynamic content. This is very similar to the built in Chromecast application that displays photos and art from Google, the major difference is that we have a mixture of photos and videos, and want to display for instance a whole video clip, then a few photos for 30 sec. each, then another video, then more photos, and finally when all is done, cycle through the whole thing again. We want to do the setup once for each Chromecast/TV, then let it run for days or even weeks.
One option could be a web server displaying the whole sequence repetitively on a specific web page url, and then have the Chromecast display its assigned web page. I looked at the development docs. and I suspect that I will need to develop a Chrome Sender application and use the standard receiver application on the Chromecast. It is not clear for me if the sender (Chrome) needs to run all the time, or once the setup is done, the Chromecast knows which url to display and can then be left alone for days.
We hope to replace dedicated servers and software that connect to the various TVs, and the Chromecast offering customization could be a very inexpensive solution.
Maybe this does not make sense, let me know!
The sender can be a chrome sender or a native app on an Android or iOS device; as for the receiver, you would need to write a custom receiver; that receiver, which is basically an HTML5 page, can receive the whole schedule (urls, etc) at the very beginning, or it can fetch the schedule dynamically from a certain server, etc. Once the receiver starts, your sender doesn't need to stay connected but if for whatever reason your chromecast is rebooted, or loses connectivity, etc, your sender would need to start your application on the chromecast again; there is no magical way for chromecast to start your app automatically.

Chromecast Web Sender api: switch audio track

I have streams that contains multiple audio tracks and I'd like to provide a way to users so they can change the audio.
Does Chromecast web sender api has such functionality?
If not, how can this be implemented?
Yes, it is supported by APIs, read our documentation, specially the section "Using the Tracks APIs". Note that our Default an Styled receivers only support multiple Text Tracks but you can write your own receiver to support multiple Audio Tracks with the provided APIs.

Resources