Beim Ausführen von ffmpeg
erhalte ich die folgenden Eingabe-/Ausgabe-/Stream-Anweisungen. Ich muss die Details hier verstehen.Grundlegendes zu ffmpeg-Eingabestrominformationen
$ 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
Ich möchte 2 USB-Kameras über einen USB 3.0-Hub verbinden. Meine Kameras sind USB 2.0 Kameras. Das Ausführen von 2 Kameras mit niedriger Auflösung oder Bildrate funktioniert, aber bei hoher Auflösung/Bildrate ist die USB-Bandbreite erschöpft.
Hat
Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown)
bedeutet, dass ffmpeg beide die Kompressen MJPEG Strom und und unkomprimierte YUV Strom empfängt? Wenn dies der Fall ist, erklärt es die Bandbreite Problem. Ich frage, weil ich sehe, dass die komprimierte Bitrate im Stream-Mapping-Bereich nur 31 Mbit beträgt.Meine Frage würde dann werden, kann ich die Kamera zwingen nur streamen Sie den komprimierten MJPEG Stream?
p.s. Ich weiß, dass ich die Kameras an separate USB-Ports anschließen kann, aber ich habe nur 3 Ports und muss 6 Kameras aufnehmen, also brauche ich mindestens 2 Kameras pro USB (3.0) -Hub.