了解ffmpeg输入流信息

时间:2017-07-09 18:40:15

标签: video ffmpeg 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 3.0集线器连接2个USB摄像头。我的相机是USB 2.0相机。以低分辨率或帧速率运行2个摄像头,但在高分辨率/帧速率下,我的USB带宽耗尽。

  

Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown)是否意味着   ffmpeg正在接收两者压缩mjpeg流以及   未压缩的yuv流?如果是这种情况,它会解释带宽   问题。我问,因为我可以看到流映射部分中的压缩比特率仅为31 Mbit。

     

我的问题就变成了,我可以强迫相机   流压缩的mjpeg流?

P.S。我知道我可以将相机插入单独的USB端口,但我只有3个端口,需要记录6个摄像头,所以每个USB(3.0)集线器至少需要2个摄像头。

1 个答案:

答案 0 :(得分:2)

Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown)中,mjpeg是编解码器,yuvj422p是ffmpeg解码输入的未压缩流的像素格式,pc表示整个位深度用于表示颜色,即0 =黑色,255 =白色。接下来的三个值表示颜色空间属性。我相信顺序是原色,空间和传递特性(或伽玛函数)。

所以,你不是一次摄取两个流。