不能使用FFMPEG转MP4 MP4 HTML5video

我一直在努力从FFMPEG直播工作几个小时,所以提高白旗和寻求帮助。

我的场景是我有一个IP安全摄像头,我可以通过RTSP(h.264)成功连接并将video保存为文件段,并通过独立的应用程序(如VLC或通过node.js Web服务器应用程序发送“video/ mp4”和保持活动的头,并将先前由FFMPEG保存的mp4文件传输到HTML5video客户端。

不过,我想采取相同的RTSPstream,并重新stream到HTML5客户端。 我知道的HTML5客户端位和FFMPEG remuxing MP4作为MP4录制/stream媒体工作。

我已经尝试了以下内容:

1)将输出设置为HTTPstring。 我不认为FFMPEG支持这个,因为我得到“input/输出错误”和FFMPEG文件谈到另一个名为FFSERVER应用程序,这是不支持的Windows

ffmpeg -i rtsp://admin:12345@192.168.1.234:554 -vcodec copy -f mp4 -movflags frag_keyframe+empty_moov http://127.0.0.1:8888 

2)由于ffmpeg在node.js中以spawn的forms运行,所以我试着用STDOUT将节点输出到一个节点http服务器,使用我用于logging回放stream的相同头文件。 我可以在VLC中查看这个stream,这是一个好兆头,但是我不能让HTML客户端识别这个stream,它显示为空白,或者偶尔会显示stream的静态图像。

 var liveServer = http.createServer(liveStream); var liveStream = function (req, resp) { // handle each client request by instantiating a new FFMPEG instance resp.writeHead(200, {"Content-Type": "video/mp4", "Connection": "keep-alive"}); var xffmpeg = child_process.spawn("ffmpeg", [ "-i", "rtsp://admin:12345@192.168.1.234:554" , "-vcodec", "copy", "-f", "mp4", "-movflags", "frag_keyframe+empty_moov", "-" // output to stdout ], {detached: false}); xffmpeg.stdout.pipe(resp); xffmpeg.on("exit", function (code) { console.log("Xffmpeg terminated with code " + code); }); xffmpeg.on("error", function (e) { console.log("Xsystem error: " + e); }); xffmpeg.stdout.on("data",function(data) { console.log('Xdata rcv ' + data); }); xffmpeg.stderr.on("data", function (data) { console.log("XFFMPEG -> " + data); } } 

我已经尝试了IE11和Chrome浏览器的HTML5客户端。

我怀疑是不是正确的发送stream的格式停止HTML5video客户端,但不足以停止VLC。 令人恼火的是,上面的代码对于播放已经logging的MP4stream来说工作得很好。

任何想法如何通过FFMPEG生活重新stream媒体工作? 谢谢。

只是好奇你解决了吗? 我做基本上是一样的事情,除了它是屏幕演员….我已经切换到使用webm格式播放完美…但是,video将“滞后”多了几秒…更多对我不好,但可能会为你工作