本方案通过多进程实现两个USB摄像头同时工作。每个摄像头运行在独立的进程中,每个进程拥有独立的H264Encoder实例,从而避免了底层C库的单实例限制。
:camera2),处理第二个摄像头(cameraId=2){
"width": 640,
"height": 480,
"framerate": 25,
"cameraId": 1
}
或者不指定cameraId(默认为1):
{
"width": 640,
"height": 480,
"framerate": 25
}
{
"width": 640,
"height": 480,
"framerate": 25,
"cameraId": 2
}
第一个摄像头:json { "ip": "192.168.1.100", "port": 8888, "width": 640, "height": 480, "framerate": 25, "simPhone": "013120122580", "cameraId": 1 }
第二个摄像头:json { "ip": "192.168.1.100", "port": 8889, "width": 640, "height": 480, "framerate": 25, "simPhone": "013120122580", "cameraId": 2 }
停止第一个摄像头:json { "cameraId": 1 }
停止第二个摄像头:json { "cameraId": 2 }
如果不指定cameraId,默认停止第一个摄像头。
camera2标识,便于区分logicalChannelId=2,第一个使用logicalChannelId=1h264_1234567890123.h264h264_camera2_1234567890123.h264android:process=":camera2"配置在独立进程中运行