How to stream live video in HTML5?

2019-03-11 06:44发布

问题:

I'm looking for a way to broadcast a live video taken from a webcam or camera rooted to a PC. The broadcast should be displayed in a HTML5 page using the tag (which support rtp, and rtsp I think).

The user viewing the stream should not have to install any plug-in or video player such as QuickTime.

I need the video to be in mp4 format such as: rtsp://www.mywebsite/streaming/video.mp4

This would be the link I'd put as the src of the html 5 video tag.

So I'd like to know if it's possible, what are my options to do such things.

回答1:

It's possible. But you will have major problems if you're looking for cross browser support. What you can do is offer HTML5 video to the browsers supporting it and then offer QuickTime for browsers not supporting it.

<video src="stream.mp4">

    <!-- Don't support <video> -->
    <object>
        <param name="src" value="video.mp4" />
        
    <param name="autoplay" value="true" />
        
    <param name="type" value="video/quicktime" height="256" width="320" />
        
    
    <embed src="video.mp4" height="256" width="320" autoplay="true" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/" />
    </object>

</video>

Also see: Streaming via RTSP or RTP in HTML5



回答2:

I don't think it is possible now to "cheat" the HTML5 browser to encapsulate the live video stream to a ".mp4" file. I believe HTML5 will consider live video support in a near future. What you can do is just wait. :)



回答3:

For maximum compatibility, here’s what our video workflow will look like, Make one version that uses H.264 baseline video and AAC “low complexity” audio in an MP4 container & Make another version that uses WebM (VP8 + Vorbis) or Theora video and Vorbis audio in an Ogg container. I think this combination solves your problem & it plays on most of browsers. You should required at least two versions of Video to play in all the browsers.