javascript - Raspberry Pi, raspivid -> VLC -> video.js 参数在浏览器中查看Pi视频

标签 javascript raspberry-pi html5-video vlc video.js

我有一个 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 作为网络服务器。 Nginx 工作正常。这是我的 HTML 代码 (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>

我在浏览器(OS X 上的 Safari)中打开“http://martin”。 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

应用程序/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 快乐。

提前致谢!

最佳答案

我认为您正在做的正是我想做的。

我找到了这个

类型需要是type="rtmp/mp4"

此处:VideoJs with live stream

关于javascript - Raspberry Pi, raspivid -> VLC -> video.js 参数在浏览器中查看Pi视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36612244/

相关文章:

javascript - 将元素放入卡中的问题

c++ - 为什么 Visual Studio Code 在我的 main 的开头捕获异常?

python - 使用 uv4l raspicam 驱动程序设置 SimpleCV

android - Android Chrome 上的 HTML5 视频控件不会跨越这个简单页面中的整个视频宽度

javascript - 服务器在 8080 上运行,但浏览器显示网页不可用

c# - SP.UI.ModalDialog(请稍候消息)

docker - 从RPi到TV的MiniDLNA(docker)流卡住了/非常慢的.mkv文件缓冲

iOS 自动播放不起作用

youtube-api - 如何使用 YouTube iframe API 播放 VEVO 内容?

javascript - 发送表格后,框显示为红色,但表格已发送。这是我的代码