使用nodejs ffmpegstream摄像头
我试图从本地摄像头生成一个rtspstream,我一直在使用fluent-ffmpeg插件nodeJs,这是我的代码:
var ffmpeg = require('fluent-ffmpeg'); var proc = ffmpeg('/dev/video1') //.format('h264') .inputOptions([ '-f v4l2', '-framerate 25', '-video_size 640x480' ]) .outputOptions([ '-f rtsp', '-rtsp_transport tcp', 'rtsp://localhost:7002/live.sdp' ]) //.output('rtsp://localhost:7002/live.sdp') .on('end',function(msg){ console.log("finish ffmpeg command " + msg); }) .on('err',function(err){ console.log("error found " + err); });
在localhost:7002的另一端我有一个ffplay主机,这个ffmpeg命令完美地工作:
ffmpeg -f v4l2 -framerate 25 -video_size 640×480 -i / dev / video1 -f rtsp -rtsp_transport tcp rtsp:// localhost:7002 / live.sdp
(完美的工作意味着主机服务,播放,接收和播放来自相机的stream)
这里是我的ffplay命令:ffplay -rtsp_flags监听rtsp:// localhost:7002 / live.sdp
我的nodeJs脚本有什么问题? 我如何使用fluent-ffmpeg生成完全相同的ffmpeg命令?
find了解决这个问题的解决方法:我一直在使用像这样的subprocess:
child = exec("ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video1 -f rtsp -rtsp_transport tcp rtsp://localhost:7002/live.sdp",function(error,stdout,stderr){ sys.print('STDOUT: ',stdout); sys.print('STDERR: ',stderr); });
这应该工作,太糟糕了没有人弄清楚如何让ffmpeg工作