【发布时间】:2015-10-16 01:20:33
【问题描述】:
我想知道 HTML5 <video> 标签除了其他复杂的方法(例如使用 cam 流等其他服务器)是否可用于实时流式传输。如果可能的话,我想看一个基本的示例代码。
【问题讨论】:
标签: html video video-streaming html5-video
我想知道 HTML5 <video> 标签除了其他复杂的方法(例如使用 cam 流等其他服务器)是否可用于实时流式传输。如果可能的话,我想看一个基本的示例代码。
【问题讨论】:
标签: html video video-streaming html5-video
使用编码器(例如 VLC 或 FFmpeg)将您的输入流打包 转为OGG格式。例如,在这种情况下,我使用 VLC 打包 使用此代码的屏幕捕获设备:
C:\Program Files\VideoLAN\VLC\vlc.exe -I dummy screen:// :screen-fps=16.000000 :screen-caching=100 :sout=#transcode{vcodec=theo,vb=800,scale=1,width=600,height=480,acodec=mp3}:http{mux=ogg,dst=127.0.0.1:8080/desktop.ogg} :no-sout-rtp-sap :no-sout-standard-sap :ttl=1 :sout-keep
将此代码嵌入到 HTML 页面中的 <video> 标记中,如下所示:
<video id="video" src="http://localhost:8080/desktop.ogg" autoplay="autoplay" />
这就像桌面直播。性能可能很低,但支持直播。即使是摄像头流媒体,也只取决于您传递给视频标签的网址。
【讨论】:
用于实时视频。 @Susheel Singh 说的是真的,但它在 IE 或 chrome 中不起作用,并且需要自定义服务器组件。它还限制了您使用非常劣质的视频编解码器(Thora,但 Opus 音频非常好)。所有浏览器都支持的唯一容器是 MP4。但是 MP4 不能(完全)支持实时视频。您需要的是使用 fMP4 和 MSE 进行实时视频。使用 video.js 之类的播放器会大大简化这一过程。
【讨论】: