Skip to content

Cum să demuxezi fișiere QuickTime/MP4 cu elementul qtdemux în GStreamer

DodaTech Updated 2025-01-15 1 min read

In this tutorial, you'll learn about Cum să demuxezi fișiere QuickTime/MP4 cu elementul qtdemux în GStreamer. We cover key concepts, practical examples, and best practices.

În acest ghid vei învăța cum să demuxezi fișiere QuickTime/MP4 folosind elementul qtdemux în GStreamer. Qtdemux separă streamurile audio, video și subtitle dintr-un container MP4 sau MOV, permițând procesarea individuală.

The Wrong Way

Încercarea de a reda direct fișierul MP4 fără demuxare:

gst-launch-1.0 filesrc location=video.mp4 ! avdec_h264 ! videoconvert ! autovideosink

Datele MP4 trebuie demultiplexate înainte de decodare — decoder-ele nu pot citi containere.

The Right Way

Demuxare corectă cu qtdemux:

gst-launch-1.0 filesrc location=video.mp4 ! qtdemux ! h264parse ! avdec_h264 ! videoconvert ! autovideosink

Output:

Setting pipeline to PAUSED ...
Setting pipeline to PLAYING ...
Fișierul MP4 este redat corect.

Pentru audio și video separate:

gst-launch-1.0 filesrc location=video.mp4 ! qtdemux name=demux demux.video ! queue ! h264parse ! avdec_h264 ! videoconvert ! autovideosink demux.audio ! queue ! aacparse ! avdec_aac ! audioconvert ! autoaudiosink

Prevenție

  • Plasează qtdemux imediat după filesrc
  • Folosește h264parse pentru video H264 și aacparse pentru audio AAC
  • Adaugă queue pe fiecare ieșire a demuxer-ului pentru sincronizare
  • Qtdemux emite semnalul pad-added pentru fiecare stream descoperit

Greșeli Comune

  1. Fără filesrc — qtdemux nu deschide fișiere, are nevoie de un element sursă
  2. Fără parsere — qtdemux produce streamuri elementare care au nevoie de parsare
  3. Pad-uri neconectate — dacă nu conectezi toate pad-urile, pipeline-ul poate eșua
  4. Format neacceptat — qtdemux suportă MP4, MOV, dar nu și alte containere

FAQ

### Ce formate suportă qtdemux?

Suportă MP4, MOV, M4A, M4V, 3GP, 3G2 și alte formate bazate pe ISO Base Media File Format.

Cum extrag doar audio dintr-un MP4?

Conectează doar pad-ul audio de la qtdemux: qtdemux name=demux demux.audio ! queue ! aacparse ! avdec_aac ! audioconvert ! autoaudiosink.

Care este diferența dintre qtdemux și qtdemux2?

qtdemux este versiunea stabilă și recomandată. qtdemux2 este o reimplementare mai nouă, cu suport pentru mai multe formate.

Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Uneltele DodaTech se integrează perfect cu GStreamer pentru productivitate și securitate sporite.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro