What is the technology behind streaming pages like earthcam.com? - node.js

There are some webpages that stream the live video to the browser, let's take an example of www.earthcam.com - does anyone know how exactly does it work?
Do they have the stream sent through some node.js server with some protocols (what kind of?), etc. As I understand there are only few formats supported on each platform:
Safari:
HLS (iOS and mac only)
h.264
MP4
Firefox
DASH (via MSE but no h.264)
h.264 via Flash only!
VP9
MP4
OGG
Webm
IE
Flash
DASH (via MSE IE 11+ only)
h.264
MP4
Chrome
Flash
DASH (via MSE)
h.264
VP9
MP4
webm
ogg
And earth cam works everywhere. Do they use flash in case of windows and some other technology in case of Mac OS?

Yes, they detect what browser you are using (User-Agent), and choose a technology that works for that platform.

Related

WebRTC recording with AAC encoding

I'm recording screens and webcam video in a Chrome extension using WebRTC but it appears the audio streams in my .mp4 videos are encoded with Opus which causes QuickTime to display an Error -2048: Couldn't open the file video.mp4 because it is not a file that QuickTime understands.
Is it possible to use a different audio encoding option supported by Quicktime?
I don't believe mp4 supports any audio codecs supported by WebRTC.
If possible I would use Matroska, that supports VP8/VP9/H264 and Opus/PCM which will cover pretty much all WebRTC calls.

How to play a RTP stream in HTML5?

The Janus server is able to replay the RTP stream.
Is there a way to play a RTP stream directly into a video html5 element ?
(I don't really get the difference between RTP and RTSP)
And how can I play the RTP stream: should I transcode it to some HLS ?
You don't, it's not supported in HTML5. I'd recommend transcoding it to DASH and/or HLS, using either open source tools like ffmpeg or commercial solutions like bitmovin.
Webrtc is supported in HTML5, so you can view the video on the browser.
Janus Server supports different plugin for RTSP/RTP, which will receive data in RTSP/RTP and then send that data to the web browser client using webrtc.
https://janus.conf.meetecho.com/docs/streaming.html

Can anyone explain me corellation between MSE DASH and HLS?

I am new to media streaming, just started learning about adaptive streaming.
I have few queries, please clarify -
Does MSE support only DASH streaming, I mean if any website using DASH and my browser supports MSE with DASH, it will play. But if a website uses HLS, then my browser is not playing video content although it has MSE.
Is it because MSE does not support HLS, or my browser MSE does not have implementation of HLS?
If I inspect a webpage playing video stream, I checked many sites uses video tag with "src" attribute as blob. Does blob means it is using MSE.
Can we have blob in "src" attribute for DASH(I checked in Youtube) and for HLS(as in dailymotion or twitch.tv) as well?
I was reading few articles on twitch.tv, does twitch.tv only support HLS with html5 player or flash? If suppose a browser does not support flash and HLS through html5 player, then there is no way to play twitch.tv content on browser?
Thanks
MediaSource Extensions (MSE) supports anything you can de-mux in JavaScript and send to the browser's native codecs. Browsers don't support DASH natively. Some browsers support HLS natively but most don't. It is possible to use both DASH and HLS in browsers that support MSE with the correct JavaScript library for handling each.
The blob you see could be a regular blob (an immutable chunk of binary), but more than likely it's coming from MSE.
I can't speak to what Twitch does internally.
Your questions don't really make sense as they are asked, so I can't answer the 1,2,3. But I can clear up some of your confusion. HLS and DASH are a collection of technologies, not single competing technologies. Most HTTPS streaming protocols are made up of a binary video format, and a text based manifest format. DASH uses an overly complex XML manifest format with a fragmented MP4 video format. HLS uses an m3u8 manifest, with fragmented Transport stream for the video format. As of IOS 10 HLS also supports fragmented MP4. MSE can play fragmented MP4. But browsers don't read manifests. Hence a player application must be used to download and parse the manifest, download the video fragments, then give them to the browser to play. Twitch uses HLS with transport streams, but runs custom software in the browser to convert them to MP4 fragments. (Or flv streams in the case of flash). When you see a src with a blob, that is a normal (not fragmented) MP4, and is completely different. Safari is an exception, it can play HLS using an m3u8 manifest as the source.

RTSP is the only stream working from my WOWZA streaming engine

I have every stream type enabled on my wowza server.
a week ago i had it working in the wowza test players
now the only one that works is the RTSP in VLC
now every stream just shows a black screen.
If i try to access the m3u8 via Safari browser i can hear the audio but no visual
Any assistance on this would be a major help.
this is due to incompatible video, audio codec. you need to user right encoder or you can use wowza transcoder to transcode your stream (h.264 , AAC) . it will resolve your playback problem. if you are using flash media live encoder you can select h.264 encoding method, and audio codec should be aac or mp3.
Some quick troubleshooting steps:
What source encoder are you using? Can you playback the source URL on VLC as well? What codec info is displayed in VLC for the source stream? It should be one of the supported codecs for Wowza.
What codec info is displayed in VLC for the RTSP playback link generated by your Wowza server?
Do you see any errors/warnings in the access log when you publish and playback your HLS (m3u8) stream?
Usually, this kind of error is due to an incorrect video codec, or an encoding setting, or network saturation where the video packets are not coming through correctly. You can check what error or warning messages are being generated by tailing the access log found in logs/ folder of your Wowza installation directory.
Hope this helps.

How to play mp3 audio in an application for firefox os?

I tried with several players but only supports the format. Ogg player or there any way to play a. Mp3 in firefox os. I also used to open the audio player of Firefox with the default OS file. Mp3
The Firefox OS Simulator does not support mp3 playback.
but the Firefox OS device support it.

Resources