2017-06-28 3 views
0

Ich versuche zu verstehen, wie ein MP4-Video im Online-Streaming über RTP segmentiert wird (es ist mit H.264-Codec codiert). Es gibt einige Tools wie FFmpeg oder MP4box oder wir können das ISO-Format selbst [moov, moof und mdat] für das Streaming verwenden. Was ich wissen möchte, ist, wie diese Tools mdat Teil des Videos segmentieren werden, werden sie alle Einheiten (eine Gruppe von Video und Audio Frames) von MP4 Video trennen und sie als ein Segment mit verwandten Moov Teil machen oder sie tun es in einigen andere Weise?Segmentierung von MP4-Video über RTP

oder werden sie H264 Streaming und NAL-Einheiten für das Streaming verwenden?

Diese Frage scheint so einfach, aber ich möchte wirklich wissen, wie es funktioniert.

Vielen Dank im Voraus!

+0

MP4 wird nicht über RTP gesendet. Es wird von MP4 nach RTP umgepackt und (möglicherweise) auf der anderen Seite wieder zurück. – szatmary

+0

so wird es in DASH oder HLS-Streaming verwendet werden? für RTP kann ich ffmpeg nicht verwenden? – lighting

+0

Was? Dash und HLS und RTP sind konkurrierende Technologien. Sie können zwischen ihnen umwandeln, aber Sie verwenden nicht eins über dem anderen. RTP verwendet keine Segmente. Segmente verwenden nur in HTTP-Protokollen (HLS und DASH) – szatmary

Antwort

1

Typischerweise geht die Video-Streaming-Flow wie folgt aus:

Capture Video--> Encode-->          -->Decode-->Display 
          Mux--> Transmit--> Receive-->De-Mux 
Capture Audio--> Encode-->          -->Decode-->Display 

Also, im Grunde in Ihrem Fall ffmpeg nimmt NAL-Einheiten von H.264 und Multiplexern mit codierten Audio-Bitstrom und überträgt zusammen.

+0

Also, wenn ich ein Paket erhalte, was es enthält? Kann ich sagen, ich habe MOOV Header und MDAT-Einheiten? Wenn ja, wären die ersten vier Bytes Einheitsgröße (nach dem Entfernen des Headers)? Und wenn ich ein MP4-Video mit H.264-Codec habe, den ich streamen will, wird es H.264-Codec erkennen und das für das Streaming paketieren? Was passiert mit dem Format? – lighting

+0

Sie können diesen Link sehen: https://stackoverflow.com/questions/8525824/mp4-iso-14496-12-how-do-you-find-the-video-and-audio-access-units – mdasari

+0

kann ich zugreifen die NAL-Einheiten in MP4-Videodateien? zum Beispiel in einem heruntergeladenen MP4-Video? – lighting