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

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.

Related

Idm ( Internet donwnload manager ) cannot sniff .ts videos?

I have a video that is hosted on a Vimeo player. and I actually wanna download that video
except. Idm only shows parts of the video as mp4
Earlier I downloaded 30 videos like those when IDM was showing an option to download a .ts video.
So. What do you suggest?
I tried to download (Eagleget) but it's too old and it didn't even work

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.

Play online video using Google Cardboard in my Android app

I want to play video in my Android app and the video placed at my online server. The video is in YouTube 360 format.
I read about vrtoolkit and vrvideoview at github but it plays the video which is saved locally that is it is saved in Android device.
I want to my online video Google cardboard feature.
So what's best possible way to do it?
use uri to load the video
fileUri = Uri.parse( "http://your-url-to video file" );
videoWidgetView.loadVideo(fileUri);

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.

Play Apple's .caf audio file on a webserver?

Play Apple's .caf audio file on a webserver? I have .caf audio files (Apple's open audio format) stored on my webserver and want to play them from a web browser on any O/S.
I understand, this doesn't seem like the solution you're looking for, but...
Several weeks ago we faced the same problem. We have several clients which are posting audio files to the web site from theirs iPhones, and we need to play audios on the web site.
But we didn't find any suitable flash player with .caf format support.
So we decided to convert .caf to .mp3 on the server through the ffmpeg.exe utility.
Happily, there a lot of flash players with .mp3 support.
Now I have not tried this... but...
This website:
http://modmyi.com/forums/skinning-themes-discussion/1769-how-do-i-create-caf-file.html
Seems to suggest that .CAF and .AIF may work interchangeably (It suggests that to convert to .CAF you convert to .AIF` and then rename the file).
Have you tried renaming it to .AIF and trying to play in a flash/java browser player? Alternatively just send it as a stream to the web-browser and let the client OS work out what to do with it (Like quicktime running inside the browser).
Let me know how it goes.

Resources