在运行
我想连接两个USB 2.0相机到一个USB 3.0集线器上。如果运行两个低分辨率或帧率的相机是可以的,但在高分辨率/帧率下,我会用尽USB带宽。
ffmpeg
时,我会得到以下输入/输出/流语句。我需要了解这些细节。$ ffmpeg -y -nostdin -f v4l2 -framerate 30 -video_size 1920x1080 -c:v mjpeg -i /dev/video1 -c:v copy /tmp/v1.mov
Input #0, video4linux2,v4l2, from '/dev/video1':
Duration: N/A, start: 762195.237801, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 1920x1080, -5 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Output #0, mov, to '/tmp/v1.mov':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: mjpeg (jpeg / 0x6765706A), yuvj422p, 1920x1080, q=2-31, -5 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Stream mapping:
Stream #0:0 -> #0:0 (copy)
frame= 1685 fps= 30 q=-1.0 Lsize= 212483kB time=00:00:56.08 bitrate=31036.6kbits/s
我想连接两个USB 2.0相机到一个USB 3.0集线器上。如果运行两个低分辨率或帧率的相机是可以的,但在高分辨率/帧率下,我会用尽USB带宽。
视频流参数:
mjpeg、yuvj422p(PC,bt470bg/未知/未知)
是否意味着FFmpeg同时收到了压缩的mjpeg流和未压缩的yuv流?如果是这样,就可以解释带宽问题了。我询问这个问题是因为我发现在流映射部分压缩比特率只有31 Mbit。我的问题变成了:我能强制相机仅发送压缩后的mjpeg流吗?
P.S. 我知道可以将相机插入不同的USB端口,但我只有3个端口,需要录制6个相机,所以我需要每个USB(3.0)集线器至少连接2个相机。