MJPEG-Streaming

in https://www.cisco.com/c/en/us/td/docs/solutions/Enterprise/Video/pktvideoaag.html

es sagt:

Eine andere Art der Videokomprimierung ist MJPEG … der resultierende Videostream ist größer, aber die Paketgrößen sind mit 1316 Bytes (Payload) konsistenter.

ist das wahr?

Wahrscheinlich. Mjpeg hat keine Interframe-Komprimierung. Macht Datenraten vorhersehbarer.
@DigiVisionMedia Ok, hat das etwas mit der Paketgröße zu tun?
Ich weiß nicht. Ich spekuliere nur. Bei einem Komprimierungsschema wie mjpeg hat jeder Frame normalerweise eine sehr ähnliche Größe wie die direkt davor und danach. Ein intelligentes Stream-Protokoll könnte dies zu seinem Vorteil nutzen.
Siehe MJPEG-Wikipedia-Artikel . "HTTP [MJPEG]-Streaming erstellt Pakete mit einer Folge von JPEG-Bildern, die von Clients empfangen werden können." Unterstützt meine Spekulation. Was die Überprüfung dieser genauen Paketgrößennummer betrifft, kann ich nichts finden. Ein Teil des Problems ist, dass es keinen offiziellen Standard für MJPEG gibt. Es ist wie der Ururgroßvater des modernen Webvideos, das geboren wurde, als das Internet noch wild war.
@DigiVisionMedia denke ich. Ich denke, jeder Frame wird sowieso nie in ein Ethernet- und IP- oder RTTY- oder ATM- oder X.25- oder Ku-Band-QAM-Satellitenpaket passen. Ob die Frames also ähnlich groß sind, hat nichts mit den Paketen zu tun. Sie werden eine Reihe von Paketen füllen, Tausende und Abertausende, bevor Sie auch nur ein Vollbild erhalten. Ob Sie das letzte Paket auf 1299 oder 1305 füllen, wird keinen Unterschied machen.
@DigiVisionMedia Zweitens habe ich gesehen, dass MJPEG auch in der Bitrate sehr variabel geworden ist, alles hängt von der Komplexität des Inhalts ab. Wenn Sie einen Banner-Bildschirm wie „WORLD TV“ haben und es nur ein weißer Bildschirm und große schwarze Buchstaben sind, zerschmettert der JPEG-Quantisierer jedes Bild auf etwa 98 oder 200 k. Es spielt also keine Rolle, dass es keine zeitliche Komprimierung innerhalb des Frames gibt, denn wenn Sie nach den "WORLD TV" -Frames einen Frame erhalten, der etwa 400 verschiedene Farben, sechzig siebzig verschiedene Silhouetten von Tieren, Menschen usw. enthält, erhalten Sie die Vorstellung von der Bitrate Raketen auf 1M 2M 3Mbits / Sek.
Das gilt für alle Kompressionen. Wenn das Video sehr aktiv ist, werden mehr Daten benötigt. Aber aussagekräftige Videos springen selten von statischen 2-Bit-Farben zu 16-Bit-Naturszenen mit viel Bewegung. Zumindest nicht mehr als ein paar Mal hier und da. Wie gesagt, ich habe spekuliert. Ich verstehe mjpeg ziemlich gut. Ich verstehe Netzwerken überhaupt nicht. Ich könnte komplett weg sein.
@DigiVisionMedia Nun, behalte einfach die Grundlagen im Hinterkopf, die Datenübertragung über ein Netzwerk erfolgt immer in kleinen Stücken, wie REAL Little, wie 1316 BYTES . Selbst eine 320 x 288 8-Bit-Farbe enthält also viele Pakete. Diese Behauptung in der CICSO-Dokumentation scheint so, als hätte sie jemand gerade eingesendet, weil mir nichts einfällt, was einen Sinn dafür ergibt.
@DigiVisionMedia Ich denke, wenn Sie sich eine Mietleitung oder einen SAT-TRANSPONDER ansehen, wissen Sie vielleicht, dass Sie eine bestimmte Verbindungsgeschwindigkeit haben, und wenn Sie sie nicht mit dieser Geschwindigkeit verwenden, werden Sie trotzdem belastet, wenn Sie also Ihre komprimieren H264-Video bis zu 800 KB/s ist einfach dumm, weil Sie für 10 MB/s bezahlen. Sie wissen also, dass MJPEG es auf 8 MB/s herunterbringt und grundsätzlich höher als h264 ist. Ich bin mir immer noch nicht sicher über Ihre Behauptung, dass die Datenrate vorhersehbarer ist.

Antworten (1)

Obwohl MJPEG möglicherweise eine stabilere und zeitlich höhere lokale durchschnittliche Bitrate hat, kann seine Bitrate angesichts des Eingabeinhalts stark variieren. Siehe MJPEG-Komprimierung ; die Behauptung, dass die resultierenden Netzwerkrahmen/-pakete konsistenter sein werden, ist völlig unbegründet. Auf Makroebene kann MJPEG beispielsweise bei einem 10-Mb/s-Ku-Band-Spotbeam-Satellitentransponder tatsächlich eine HARD MUXRATE-Funktion simulieren, die der MPEG-Transportstrom-Muxer normalerweise ausführen würde, aber selbst dies ist angesichts der hohen Variabilität von MJPEG fraglich Bitrate bei sehr einfachen Inhalten.

Harte Muxrate: https://stackoverflow.com/questions/44392689/ffmpeg-vbr-cbr-conversion-and-streaming-of-mpeg-2-ts-video-files