Identify the video codec - browser

I have created a app to integrate popular video services (Youtube, Dailymotion and Facebook). All the videos are played in html5 format. When the video plays in a html5 compatible browser, I want to know the codec of the video being played.
e.g. Youtube videos are played in h.264 format on Safari whereas on Firefox and Chrome it uses vp8/vp9. This can be identified by the stats provided by Youtube
I want to identify the codecs for other services on these specific browsers. How can I do that?

Related

How to embed azure media services live stream to a personal website

I have created a simple live stream using Azure Media Services. I can view it from Azure Media Player but I want to be able to embed the video to my personal website using the <Video></Video> HTML tag. I've been looking for a solution but I can't seem to find one. Is this even possible?
The HTML5 tag does not always support playback of HLS or DASH depending on the platform you are on.
https://caniuse.com/?search=hls
https://caniuse.com/?search=dash
Sounds like you are trying to playback HLS or DASH from Azure Media Services with just an HTML5 video tag and no javascript player framework. That won't work in most browsers.
Review https://howvideo.works/ for background on how HLS and DASH actually work in the browser - and the reason that you need access to a javascript library and the Media Source Extension feature of HTML5 (not always available in all browsers - see https://caniuse.com/mediasource)

Recording audio on the web and sending the data to Android app

I want to capture audio in the Chrome web browser using MediaRecorder and send the encoded audio data to the Android app for playback in real-time.
I can't find any audio format that is supported on both sides. I was trying to use opus codec, but Chrome only supports webm container, and Android supports ogg.
What is the proper way of doing this? I don't want to use WebRTC. I could use some data converters/encoders, but all libraries I found are obsolete/abandoned/insecure.
The webm container format is sometimes stored in .mkv files.
Android 5+ eats pretty much any webm the Chromium MediaRecorder class delivers. If you give MediaRecorder a MediaStream that came from getUserMedia(), and ask it for the right MIME type, you'll get Opus boxed inside webm.
const mediaRec = new MediaRecorder(stream, {mimeType: 'audio/webm;codecs=opus'})
If you put that into a file, use name.webm or name.mkv to name it. Android has been able to handle it for a long time now.
The mkvtoolnix program helps you examine these webm files to see what's in them.
If this didn't address your question, please make a comment.

How to secure a video file played through Media Source Extension API?

I have made a web video player using the Media Source Extension API. The video and audio my player downloads and plays is not secure. As in you can go to the Network in Google Chrome Inspect and download the video and audio and play it through a media player. I want to make my audio and video files to be played via my video player only.
A perfect secure video files example is here. The video player: http://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html. U can insert the source in the input: https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd. And when I download the files from Network in the Google Chrome Inspect, I cannot play the video file of .m4v in VLC or else where. So I think that this is secure. The files downloaded for playback can be found here: http://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps_1280x720_4000k.
Netflix has very very secured video files where the file try isn't even defined. So can someone advise me how to secure my video and audio files to be downloaded and played from else where. Thanks
A sample of my video player project: https://drive.google.com/file/d/156mDgIltBGMkXhx4LZfShxv3A8JrwkNP/view?usp=sharing
The m4v files can be played, you just need to append them to the initialization fragment. Netflix does not use Media Source Extensions directly. They use Encrypted Media Extensions along with a DRM provider such as widevine.

Please, recommend audio player embbed in IE browser

We have stored audio sources in WOWZA server.
We are researching a audio player to playback these in Web Browser over RTMP or HTTP(HLS).
Essential features are to seek specific point and to change play rate(x2, x4...).
We have tested HTML5 audio tag, but it does not support RTMP and HLS streaming.
How about JWplayer and flowplayer? They support these two features?
Please let me know appropriate audio player.
You can use JwPLayer for audio/html5 with HLS protocol. HLS works on iOS and Android > 4.1 (only if you use aac codec, mp3 works only using progressive download)
more infos: http://www.jwplayer.com/html5/
Update
Example, with primary flash option enabled. (remember HLS with Mp3 files doesn't work on Android)
jwplayer('').setup({playlist: [{
image: 'example.png',
file:'http://www.example.com:1935/store-1/_definst_/MP3:AUDIO.mp3/playlist.m3u8',
primary: 'flash',
});
Note
To be able to use this option (HLS with flash player) you must have JW Player Premium or Enterprise Edition.

Streaming with Azure media services

I have a media services account with a streaming unit and I have been able to upload a video and dynamically package into various streams. I am trying to have a webpage with the streaming url to be able to serve cross platform iOS, android, desktop etc.. How do I go about it.
PS: I was able to create a page with videojs and progressive download. I am tring to explore the other option with Windows Azure.
Thanks for any help.
Azure Media Services has shipped Azure Media Player which could automatically detect the capability of your browser or device, and request the appropriate streaming format- for instance, it will grab MPEG-DASH stream with EME enabled browser, or HLS for iOS devices. You could give it a try: http://amsplayer.azurewebsites.net/azuremediaplayer.html. Please contact yanmf#microsoft if you want to get into Private Preview for this player. It will be free for use when we launch very soon.
Take a look at JW Player and the Microsoft Media Platform Player Framework. Both offer plenty of playback options for progressive and adaptive streaming to a wide range of browsers and devices.
For desktop : Use OSMF plugin - Adobe + Smooth streaming URL
For iOS : Use HTML5 Video tag+HLS v3 URL
For Android : Use HTML5 Video Tag+HLS v3 URL or Dash.JS with Mpegh Dash URL
For Windows Phone : Use Dash.js + Dash.JS URL
Hope this helps...
Update1:
Azure has came up with their own Media player for streaming which will take care of playing video in all the devices.
For Demo and Test - http://www.aka.ms/azuremediaplayer
For Documentaion - http://azure.microsoft.com/blog/2015/04/15/announcing-azure-media-player/
The bitdash MPEG-DASH player works also out of the box for MPEG-DASH content, here you can see an example stream comming from Azure: http://www.dash-player.com/demo/streaming-server-encoder-support/?mpd=http%3A%2F%2Fsamplescdn.origin.mediaservices.windows.net%2Fe0e820ec-f6a2-4ea2-afe3-1eed4e06ab2c%2FAzureMediaServices_Overview.ism%2Fmanifest(format%3Dmpd-time-csf)&m3u8=undefined&autoplay=true&muted=false&usePoster=true

Resources