chrome.tabCapture to VLC - google-chrome-extension

I would like to capture the tab of the Chrome browser and forward it as a stream to another computer which will play the stream via VLC. I am able to capture MediaStream of a tab of the Chrome browser using javascript and the chrome.tabCapture API, but I do not know how to forward this stream to VLC. Can you please give me some ideas? Thank you

Related

Embedding a streaming audio page into an iframe

I am trying to figure out a way to embed a url that streams an audio stream to either an iframe of the best cross compatible browser frame that I could use. I would like to have it autoplay on mobile devices - which I would assume would be no issue as it's already streaming all the time anyway.
My stream url is
http://67.212.165.106:8028/stream
Thanks for any assistance with this, I tried to enclose this url in an iframe but it doesn't work.
Here's where I have that:
http://radio.baseballpodcasts.net/IframePlayer.html
Tried this and it doesn't seem to work:
http://radio.baseballpodcasts.net/IframePlayer.html
You're linking directly to a stream so there's nothing to iframe. What you need is an <audio> element.
<audio src="http://67.212.165.106:8028/stream" controls preload="none" autoplay></audio>
Note that autoplay does not normally work. If users come to your site and click play often enough, it may eventually.

How To Capture WebRTC Stream From Different Page In NodeJS

I'm new to Node.js and WebRTC concept. I'm trying to make a an audio stream in which one of the page is the music controller and the other page is just playing whatever stream the music controller page is playing.
I based the idea on this link:
https://webrtc.github.io/samples/src/content/capture/video-pc/
But instead of video I just want audio. I'm able to make it work when they are on the same page but there is a problem when capturing stream from different page/url. NodeJS cannot access DOM elements so I'm stuck. I tried accessing the controller page audio element using document.getElementById but its not working. Please help how to get over this.

Nest Camera Video Streaming in VLC player

I have got a public share nest camera address from my friend.
Instead of using a web browser for seeing the video, I want to use a VLC player to video stream. This way allows me to use many other features of VLC to do video analytics on the video.
How to do it?
I was able to do this in these steps:
Go to the public video share URL. It should be something like this:http://video.nest.com/live/pSgnOZ0s4t
If you use developer tool on chrome and see network traffic ....look for a URL with .m3u8 in the end... it will be something like this:https://stream-delta.dropcam.com/nexus_aac/37451e60aeac457f9800704f1662147e/playlist.m3u8
Once you get that open that file in a text editor....you will get something like this inside the file
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=400816,CODECS="avc1.77.31,mp4a.40.2",RESOLUTION=1280x720
chunklist_w391480529.m3u8
The stream URL is then
https://stream-delta.dropcam.com/nexus_aac/37451e60aeac457f9800704f1662047e/chunklist_w391480529.m3u8
Once you have this then install livestreamer to extract video like this:
livestreamer "hls://https://stream-delta.dropcam.com/nexus_aac/37451e60aeac457f9800704f1662047e/chunklist_w391480509.m3u8" best -o nest_video.ts
This will save the file to your disk.
I used this to avoid nest aware subscription. Unfortunately, they charge so much for that service. When someone can just save the video to a disk and upload to a cheap cloud option...
I wrote a page that takes a public Nest video url and returns an HLS media .m3u8 streaming url
get media url for nest/ dropcam cameras

How to play realtime binary stream through client speakers in HTML5

I need help playing a binary stream to a client's speakers using the client's web browser. The stream is being recorded from a client's web browser and is sent to a NodeJS server using BinaryJS. I have successfully streamed the binary data back to the client from the server, but cannot figure out how to play it. I am using NodeJs, BinaryJS, webAudio API, and HTML5. I have also been testing with Firefox. Has anybody done this before? Thanks in advance.
If this is an option for you, the simplest option would be to encode your data to a compressed format (say, mp3, ogg, opus, etc.), and simply put the URL in an <audio> tag.
This pages is a good introduction on how to stream mp3 from node.

Send content to chromecast from native application

Is it possible to send video to the chromecast device from a native application? It would be nice to share any window on a system instead of only chrome tabs. Also, is there any documentation of the communication used by chrome to communicate with the chromecast? It is my understanding that the chromecast essentially loads content from an embedded chrome instance, but there appears to be more direct ways of communicating with the device since it is able to stream content from a chrome tab using the extension.
You need to whitelist your receiver device if you are developing a receiver application. That would be a Chome app that runs on the receiver's Chrome instance.
You need to whitelist a sender url if you are developing a Chrome app that will cast it's contents.
Video casting works by sending a url to the receiver device, which the device will load directly.
Tab casting works by encoding the tab contents using WebM/Opus (in the Chrome cast extension) and streaming that to the receiver device. (This is limited to 720p, see this question)
Chrome apps can only use Video casting.
The chrome cast extension is going to be the only way to stream directly to the device.
So the answer to your question is no, you cannot stream video directly to the device. The receiver must load the video from the url you provide.
There is some speculation whether the receiver can be provided with a local url or if it must already be available on the internet. This has yet to be clarified.
From how I understand the Chromecast architecture:
You can display any URL you want on the TV (you have to whitelist your app and register the URL first). It must be a URL. This can include HTML, JS, CSS, etc. Anything that is already on the internet.
To receive data from a device (say, the URL of a video to load), you must implement logic to interpret messages from channels. These messages are encoded as JSON, which makes it difficult to send videos or pictures (binary data). It is obviously easiest to upload things like this to some website, and have the receiver display them.
People have asked, "well, then how does the tab/screen sharing work?" The JSON encoding is just what Google provides in their SDK. In their own source, they don't have this restriction.
Update:
It turns out you can actually stream local videos to your TV by just opening the local file in Chrome, and then casting that to your TV.

Resources