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.
Related
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.
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.
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
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?
My system:
I run ubuntu natty, and have an old analog TV card, the winTV-go +FM. and vlc 1.1.9., apache2
What I want to achieve:
take the output of my old tv card, stream it with vlc and have the stream embedded on a local site to be displayed with html5, so i can watch the stream on my ipad 1 or 2
Current situation:
I have managed to get streaming with vlc working (i don't use the gui) with different containters and codecs. I have 3 working stream-commands that include:
1: vlc -vvv v4l2:///dev/video0:width=640:height=480 :input-slave=alsa://hw:1,1 --sout '#transcode{vcodec=mp4v,acodec=mp3,vb=8000,ab=128,channels=1,samplerate=44100}:standard{access=http,mux=ts,dst=192.168.1.10:9090}'
2: vlc -vvv v4l2:///dev/video0:width=640:height=480 :input-slave=alsa://hw:1,1 --sout '#transcode{vcodec=theo,acodec=mp3,vb=8000,ab=128,channels=1,samplerate=44100}:standard{access=http,mux=ogg,dst=192.168.1.10:9080/test.ogv}'
3: vlc -v v4l2:///dev/video0:width=640:height=480 :input-slave=alsa://hw:1,1 --sout '#transcode{vcodec=h264,vb=1024,acodec=mp3,channels=1,ab=128,samplerate=44100}:standard{access=http,mux=ts,dst=192.168.1.10:9080/test.mp4}'
I can open all 3 streams on a different computer and play them in vlc, Note on the side: the *.ogv stream i can also just enter as an url (http://192.168.1.10:9080/test.ogv) in chrome and it displays it there as a video, the other 2 streams it tries to download as a file.
So far so good, now I come to my html5 code (had some trouble pasting it here, so i used pastebin to dsiplay the code):
pastebin html5 code
this works perfectly in chrome, but because it is ogv it will of course not work on the ipad, so i need to use h.264/mp4 as that is supported/built in with safari, but when using the stream command 1 or 3 then i get no video displayed on ipad or chrome.
When not using stream-command 2 (the ogv command) I adjust the html5 code to one of the following (I have tried all 3):
<source src=http://192.168.1.10:9080/test.mp4 type=video/mp4; codecs="avc1.4D401E, mp3"'>
or
<source src=http://192.168.1.10:9080/test.mp4 type=video/mp4'>
or
<source src=http://192.168.1.10:9080/test.mp4'>
none of these work.
I have also added mime types to my /etc/mime.types
video/mp4 mp4
video/quicktime qt mov
video/mp4v-es
video/ogg ogv
video/webm webm
video/x-matroska mpv mkv
application/x-mpegURL m3u8
video/MP2T ts
application/x-mpegURL .m3u8
how do I have to specify the html5 code for it to be properly displayed on my ipad? anyone got a clue?
btw I have also tried http apple live stream using ffmpeg and segmenter and i get that working as well, but due to the fact that TV is a continuous stream of data it does not work well with the playlist, so i stops after a while and you need to restart etc, not very handy and i want the above working, would appreciate the help, thanks in advance :)
For HTML5 and h.264 you have to use AAC as the audio codec and mp4 as the mux, where you are currently using mp3 for audio and TS for mux. That said, I don't have VLC live streaming via HTML5 video working yet.
iPad viewers of my live web show are watching via the oPlayer free app on my h.264/AAC/FLV stream that I also use for Flash clients, but I'm hoping to get HTML5 live streaming to work.