我试图从本地摄像头生成rtsp流,我一直在使用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命令:
rtsp://localhost:7002/live.sdp ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/ -f rtsp -rtsp_transport tcp
(完美的工作意味着主机服务、播放、接收和播放来自摄像机的流)
下面是我的ffplay命令: ffplay -rtsp_flags听rtsp://localhost:7002/live.sdp
我的nodeJs脚本有什么问题?如何使用fluent-ffmpeg生成完全相同的ffmpeg命令?
发布于 2015-01-10 06:50:35
找到了一个解决这个问题的解决方案:我一直在使用这样的子进程:
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起作用。
https://stackoverflow.com/questions/27818454
复制相似问题