Streaming live audio from Wowza to HTML5 clients? - html

I have an existing app that streams live audio from a Flash client over RTMP to a Wowza zerver ... I am able to connect Flash clients to this and get real-time, low latency audio without problem.
I'd like to connect some HTML5 based clients in PC, Android and iOS and not use any Flash on the client side ... the RTMP URI is normally "rtmp://myserver/live/mystream" I've tried connecting video and audio tags from HTML5 pages with no success.
Wowza sells on the basis of being able to stream to any client ... if anyone knows the magic URI to put into an HTML video/audio tag, or some other method to allow me to receive the stream without suing Flash in the browser, I'd be very interested to see them.
Please note: this is live audio from an RTMP source, not files. It is audio, not video.

You will need to use HLS for playback. The URI is in the form
http://<wowzaIP>:1935/<appName>/<streamName>/playlist.m3u8
Moreover, Wowza currently supports HTML5 playback with the video tag for Safari on OSX/iOS devices only. Other browsers/platforms may be possible, but results vary. Alternatively, you can look into using an HTML5 player such as the free Wowza Player, and it should work across platforms.

Related

How to use flash player to encode and push a live stream to media server?

I have a media server (Wowza) that I am pushing a live RTMP stream to and playing it (in several protocols HLS/RTMP) back in the browser with Flowplayer.
Currently I am encoding the stream with OBS but I would like to also give my users an option to encode from within the browser with Flash.
Do I need to learn ActionScript and write my own SWF to access the camera/mic and push the stream?
Is there a commercial SWF file with parameters I can pass in (such as the RTMP stream URL etc)?
You can use flash to send Video from webcam to Wowza. Video will encoded by Flash
use webrtc send video to Wowza. Video will encoded by Web Browser
I have used https://github.com/theintencity/flash-videoio. It not bad.
Please note - Latest browser not enable flash by default

HTML5 video player showing to enable flash in browser. How can I play stream video without enable the flash?

I made a streaming server and a website to show the Video. I have tried with many HTML5 player. But problem is no player working without enable flash on browser. There are a website http://jagobd.com and its playing video even I block flash on this site. How they did it? and How can I get this kind of player open source? could you please give me any solution?
My streaming link is Rtmp
RTMP is a Flash technology, and only plays in Flash or other players that support it. No browser supports RTMP, and it's unlikely that any will in the future.
If you want to use a regular HTML5 player, you need to use a compatible streaming format. Consider DASH. While it doesn't have native support in-browser, it doesn't need it as it can be handled with MediaSource Extensions. Most modern browsers support MSE. Many encoders do as well, and you can use whatever static web hosting or CDN you want.
There are other options for video distribution as well, if you have special streaming requirements.

How can I show MJPEG, H264 Live Stream, and playback video in Chrome, Firefox and IE?

Problem
I have multiple IP cameras from multiple manufactures. The cameras provide the following live feeds:
Manufacturer_1 Feed_1: MJPEG via http
Manufacturer_1 Feed_2: h264 via rtsp
Manufacturer_2 Feed_1: h264 via http
What Works
For Chrome and Firefox MJPEG:
http live feeds work like a charm using the img tag and setting the
source to the live feed URL.
Playback of recorded MJPEG video or H264 works on all three browsers using VideoJS
What I need
Play live feeds of H264 on all three browsers. Play MJPEG feeds on IE.
What I'm trying to avoid
Using FFMPEG or VLC to transcode and stream H264 to MJPEG, which would still only work for Chrome and Firefox.
Notes
Chrome does not accept plugins. Meaning Flash or other plugin based solutions will not work.
ActiveX video controls on IE are rarely stable. Manufacturer specific controls are sub-par at best.
I know that the HTML5 video tag is implemented independently by the browsers and each browser decides what video formats to support.
This link is a quick overview of the severe browser video limitations and the burden that falls on all of us as developers who are cough in the middle of this modern browser war.
Chrome and Firefox both accept live video streams in the fragmented MP4 and WebM (which is irrelevant in this case) video containers. So you will have to do remuxing (which is still much faster than transcoding). I am also working with IP cameras and so far I haven't seen any that are capable of outputting the formats supported by the browser. So the free option is to setup FFmpeg to transcode rtsp to fragmented MP4 or if you are looking for a commercial product our company has just released an video surveillance product that can offer HTML5 compatible live streaming from RTSP cameras. If you have any interest in the commercial product leave a comment.

HTML5 h264 Live streaming video

I currently have a working H264 + AAC live stream server, but uses flv as a container and RTMP/HLS as a protocol (nginx back-end), which means that client-side I can only use flash based players, such as jwplayer or video.js.
What can I change in my 'chain' to allow HTML5 streaming? HLS works on mobile but not on desktop.
I manage all the system (meaning I can use another container, back end, protocol, etc).
Just to clarify: I do not want to stream static files, I want to stream live video
Also, I do not need controls(play/pause/ff/rewind)
Edit: It seems that rtsp->webRTC might be doable. I'm looking into it atm
You can use a player that check both protocols (RTMP + HLS), for Flash/Desktop use RTMP, and HLS for mobile (iOS / Android > 4.4).
For example Jwplayer or OSMF can play Hls protocol for Flash players, so choosing the right player you can use and configure only Hls protocol.
Html5 on desktop needs progressive download and more more than only one video codecs (like mp4 and ogg).

html5 (Non-Live) True Streaming / VOD

I understand you can feed the HTML5 <video> element RTP/RTSP video streams.
Streaming via RTSP or RTP in HTML5
Great! Now how would one go about setting up the stream?
To be clear, I'm not looking to stream live video, just encode and stream existing media/video files. Think Flash Media Server (I have a working example of the Flash route already). I'm wondering how to approach setting up the streaming server backend to serve up all the right codecs for HTML5 video in all different browsers (H.264/Ogg/WebM)
I'm looking at maybe FFServer? Or possibly the new VOD feature for VLC for streaming in H.264 (Safari, Flash) over RTSP. Possibly Icecast server for the Ogg video? Is this even possible? Are there currently any working examples of this type of html5 VOD true streaming in the wild?
This is no answer, however I would suggest trying to solve one problem at a time.
Example:
Q: Can I stream from Flash Media Server via HTML 5 "video" tag?
A: No, but progressive download is possible. (Reference: http://forums.adobe.com/thread/855764)