如何调用一个ffmpeg进程处理多个输入流

ailth 发布于 2014/10/14 16:13
阅读 4K+
收藏 2

我现在在弄一个Red5的直播功能,需要把摄像头的rtsp地址推送到Red5。现在使用下面的命令已经实现了:

ffmpeg -threads 2 -i "rtsp://192.168.1.134:8554/1" -pass 2 -q:v 5 -vcodec copy -ar 44100 -dn -sn -f flv "rtmp://192.168.1.134/oflaDemo/live" 


但是现在存在一个问题,我这边要推送到Red5的摄像头非常多,总共在150个上下。按照上面的方式,就会产生150个ffmpeg进程.这样消耗上似乎有点大,进程管理器里面看到150多个进程,客户估计也会有意见。

所以想请教一下各位,有什么方式能够达到既推送到Red5,进程数又比较少呢(最多5到10个)?

我也考虑过直接调用ffmpeg的库里面的函数去实现,但是因为对视频这块属于一无所知,所以不知道要调用那些函数才能实现上面ffmpeg参数的功能。所以如果哪位能够告知一下实现方法,以及调用那些函数的话,感激不尽!

以下是问题补充:

@ailth:流媒体服务器系统为windows Server 2003/2008。因为不能把摄像头地址暴露在外,所以只能使用red5。如果有其他的方案也请赐教。 (2014/10/14 16:15)
加载中
0
sunzhyng
sunzhyng
150个进程同时运行的话,应该考虑按业务拆分了。如果只是同样的直播内容不同角度,那需要一个导播台
a
ailth
业务怎么拆分呢,有20到30个房间,然后每个房间有4到6个摄像头对不同的位置。然后这些摄像头都要求能够直播观看
返回顶部
顶部