Sto trasmettendo un file mp4 (mpeg-4) da un dispositivo a un altro utilizzando gstreamer sul flusso RTP. Fondamentalmente sto suddividendo il file mp4 nel suo file audio e video e poi inviandolo tutto sull'altro dispositivo dove viene trasmesso in streaming. Ora, voglio salvare il file mp4 su disco nell'altro dispositivo, ma il mio problema è che sono in grado di salvare i file audio e video separatamente e non può essere riprodotto singolarmente.Combinazione di un flusso audio e video utilizzando gstreamer
Sono confuso su come combinare sia i flussi audio e video rtp per formare il mio file mp4 indietro e salvarlo su un file nell'altro dispositivo.
Ecco i codici di linea di comando:
Sender (Server)
gst-launch-0.10 -v filesrc location=/home/kuber/Desktop/sample.mp4 \
! qtdemux name=d \
! queue \
! rtpmp4vpay \
! udpsink port=5000 \
d. \
! queue \
! rtpmp4gpay \
! udpsink port=5002
Receiver (client)
gst-launch-0.10 udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)243, config=(string)000001b0f3000001b50ee040c0cf0000010000000120008440fa282fa0f0a21f, payload=(int)96, ssrc=(uint)4291479415, clock-base=(uint)4002140493, seqnum-base=(uint)57180" \
! rtpmp4vdepay \
! ffdec_mpeg4 \
! xvimagesink sync=false \
udpsrc port=5002 caps="application/x-rtp, media=(string)audio, clock-rate=(int)32000, encoding-name=(string)MPEG4-GENERIC, encoding-params=(string)2, streamtype=(string)5, profile-level-id=(string)2, mode=(string)AAC-hbr, config=(string)1290, sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3, payload=(int)96, ssrc=(uint)501975200, clock-base=(uint)4248495069, seqnum-base=(uint)37039"\
! rtpmp4gdepay \
! faad \
! alsasink sync=false
una soluzione che ho pensato era di eliminare il codificatore nel ricevitore e il mittente e cioè: rtpmp4gpay e rtpmp4gdepay e faad. ciò comporterebbe lo streaming del file audio e video invece dei flussi codificati e quindi l'uso di qtmux nel ricevitore per unire sia lo streaming audio che video, ma ricevo errori sull'incompatibilità di qtmux con udpsrc. Dove dovrei esattamente fare quel cambiamento? – user1795516
@ av501 ........ – user1795516
gst-launch-0.10 porta udpsrc = 5000 caps = "application/x-rtp, media = (stringa) video, clock-rate = (int) 90000, nome-codifica = (stringa) MP4V-ES, profile-level-id = (stringa) 243, config = (stringa) 000001b0f3000001b50ee040c0cf0000010000000120008440fa282fa0f0a21f, payload = (int) 96, ssrc = (uint) 4291479415, clock-base = (uint) 4002140493, seqnum- base = (uint) 57180 "! rtpmp4vdepay! coda ! qtmux name = muxer udpsrc port = 5002 caps = "application/x-rtp, media = (string) audio, clock-rate = (int) 32000, encoding-name = (stringa) MPEG4-GENERIC, encoding-params = (stringa) 2, – user1795516