Tag: live streaming

使用Gstreamer和Node.js的Live Stream h.264video到客户端网页

我想利用下面的例子来接受多个摄像头并stream入客户端网页。 https://delog.wordpress.com/2011/04/26/stream-live-webm-video-to-browser-using-node-js-and-gstreamer/ 这里的参考是我的gstreamer命令: gst-launch-1.0 -ve \ videotestsrc is-live = true! video / x-raw,width = 640,width = 480,framerate = 10/1! timeoverlay! 排队! videoconvert! vaapih264enc! h264parse! 排队! matroskamux streamable = true! 队列leaky = 2! tcpserversink port = 9001 host = 127.0.0.1 recover-policy = keyframe sync-method = latest-keyframe \ videotestsrc is-live = true! video / x-raw,width = 640,width […]

HLS与S3直播 – 这些假设是否正确?

我想做一个直播。 而且,我想用HLS。 据我所知,HLS实时stream只是一个扩展名为“.m3u8”的主播放列表文件,列出了所有要播放的文件。 但是,对于直播,因为所有的文件都不容易获得,所以他们在进来时被添加。 我想现在使用S3来承载这些文件和播放列表文件。 现在,我想更新S3中的播放列表文件。 但它实际上将取代现有的播放列表文件,而不是只更新它(根据这个答案 )。 所以,我假设文件replace期间不会有死机。 如果有一个死亡时间,我该如何克服呢? 这是做到这一点的方式,还是有其他更好的方法来做到这一点。 我正在使用一个NodeJS服务器,只是FYI。 *没有文件时的死时间。

在Node.js服务器上的实时videostream

我一直在研究这个很多,但很沮丧,因为我觉得解决scheme应该很简单,尽pipe我知道不会。 理想情况下,我只想使用节点来承载服务器,webrtc getusermedia获取本地客户端上的实时stream,并使用像socket.io发送stream到服务器,然后服务器将stream广播到远程客户; 就好像它是一个简单的消息聊天应用程序。 考虑到这一点,这似乎是一种简单的方法,因为实况video需要连续发送大量的数据,这不等同于在事件发送之后发送单个消息甚至文件(发送button被按下) 。 也许我错了,然而,一个现场videostream应用程序遵循相同的节点/ socket.io信使应用程序的结构? 你会发送从getUserMedia返回的媒体对象,blob,一些二进制数据一些(我试过所有这些,但可能不正确)。 理想的目标是一个应用程序,使用尽可能less的额外绒毛 ,小npm安装,less额外的JavaScript库,或less许担心编码/解码或任何地狱ICE或STUN是。 有没有什么办法可以或者我要求太多? 理想的客户 var socket = io(); var local = document.getElementById("local_video"); var remote = document.getElementById("remote_video"); // display local video navigator.mediaDevices.getUserMedia({video: true, audio: true}).then(function(stream) { local.src = window.URL.createObjectURL(stream); socket.emit("stream", stream); }).catch(function(err){console.log(err);}); // displays remote video socket.on("stream", function(stream){ remote.src = window.URL.createObjectURL(stream); }); 理想服务器 var app = require("express")(); […]