我有一个Raspberry Pi &它的摄像头使用以下命令运行:
/opt/vc/bin/raspivid -t 0 -w 1920 -h 1080 -fps 25 -b 2000000 --exposure auto -awb auto -hf -vf -n -o - | /usr/bin/cvlc -I dummy --live-caching=500 'stream:///dev/stdin' --sout '#standard{access=http,mux=ts,dst=:8080}' :demux=h264 --sout-keep
我可以用VLC打开一个网络流来查看:http://gr_rpi:8080。视频播放正常。VLC编解码器详细信息如下:
Stream 0 Type Video Original ID 68 Codec H264 - MPEG-4 AVC (part 10) (h264) Resolution 1920 x 1080 Decoded format Planar 4:2:0 YUV
我想让这个在浏览器中使用video.js可见。我使用nginx作为web服务器。Nginx工作正常。下面是我的超文本标记语言代码(index.html):
<html>
<head>
<link href="http://martin/node_modules/video.js/dist/video-js.css" rel="stylesheet">
</head>
<body>
<video id=Game_Room width=960 height=540 class="video-js vjs-default-skin" controls preload="none" data-setup="{}">
<source src="http://gr_rpi:8080" type="video/mp4">
<p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
</video>
<script src="http://martin/node_modules/video.js/dist/alt/video.novtt.js"></script>
<script>
var player = videojs('example-video');
player.play();
</script>
</body>
</html>我在浏览器中打开"http://martin“( OS X上的Safari)。Video.js正在运行-它会显示带有播放按钮的播放器窗口。当我单击播放按钮时,它试图缓冲/播放,然后显示“无法加载媒体,要么是因为服务器或网络出现故障,要么是因为不支持该格式。”
我在video.js中尝试了以下MIME类型,但回放同样失败:
<source src="http://gr_rpi:8080" type='video/mp4'> <source src="http://gr_rpi:8080" type='application/x-mpegurl'> <source src="http://gr_rpi:8080" type='video/h264'> <source src="http://gr_rpi:8080" type='video/mpeg4-generec'>
从video.js源代码来看,它似乎支持以下MIME类型:
应用程序/x-mpegurl
application/vnd.apple.mpegurl
视频/MP4
// HTML5 Feature detection...
var mpegurlRE = /^application\/(?:x-|vnd\.apple\.)mpegurl/i;
var mp4RE = /^video\/mp4/i;我看过VLC (https://wiki.videolan.org/VLC_command-line_help/)的参考文档,什么也没想到。
我正在寻找我应该告诉video.js的MIME类型的建议,和/或我应该在VLC或video.js中更改的参数,以使video.js满意。
提前感谢!
发布于 2016-05-20 00:51:16
https://stackoverflow.com/questions/36612244
复制相似问题