Transmit Audio + Video - Redistributing Latency
stproj
smpalasis at gmail.com
Wed Oct 26 10:24:12 UTC 2016
Sebastian Dröge-3 wrote
> On Tue, 2016-10-25 at 01:10 -0700, stproj wrote:
>> Greetings,
>>
>> Im trying to transmit both audio and video over rtp but the pipeline is
>> stuck in PAUSE state. The pipeline that i use follows:
>>
>> gst-launch-1.0 filesrc location=vid2.mp4 ! qtdemux name=demux
>> demux.audio_0 ! queue ! aacparse ! avdec_aac ! audioconvert ! rtpL16pay !
>> udpsink host=localhost port=5000 demux.video_0 ! queue ! h264parse !
>> avdec_h264 ! videoconvert ! x264enc ! rtph264pay ! udpsink host=127.0.0.1
>> port = 5002
>>
>> If i cut off a branch i can view or listen the file on the other side,
>> but
>> if i have the whole pipeline the end results is:
>>
>> Setting pipeline to PAUSED ...
>> Pipeline is PREROLLING ...
>> Redistribute latency...
>> Redistribute latency...
>>
>> Do you know why this happens? Or what should i do avoid the error when
>> transmitting both audio and video?
>
> x264enc by default has ~3s of latency. Use a bigger queue for the
> audio, or reduce the latency by e.g. setting tune=zerolatency on
> x264enc.
>
> --
> Sebastian Dröge, Centricular Ltd · http://www.centricular.com
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at .freedesktop
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
> signature.asc (949 bytes)
> <http://gstreamer-devel.966125.n4.nabble.com/attachment/4680216/0/signature.asc>
Thank you for your answer,
Yes, both a bigger queue and tune = zerolatency on x264enc worked for me on
video, but the results on audio is that i can listen to the sound in "slow
motion", meaning that the sound is crippled. What i cannot tell is if its a
problem from my receiver pipeline or sender. Im providing both and the
gst_discoverer on the test video i am working. Do you think its a problem on
source or destination pipelines?
Thank you in advance.
source pipeline:
gst-launch-1.0 filesrc location=vid2.mp4 ! qtdemux name=demux \
demux.audio_0 ! queue max-size-time = 3000000000 ! aacparse ! avdec_aac
! audioconvert ! rtpL16pay ! udpsink host=localhost port=5002 \
demux.video_0 ! queue ! h264parse ! avdec_h264 ! videoconvert ! x264enc
! rtph264pay ! udpsink host=127.0.0.1 port = 5000
receiver audio pipeline
gst-launch-1.0 -v udpsrc port=5000 ! "application/x-rtp,media=(string)audio,
clock-rate=(int)44100, width=16, height=16, encoding-name=(string)L16,
encoding-params=(string)1, channels=(int)1, channel-positions=(int)1,
payload=(int)96" ! rtpL16depay ! audioconvert ! autoaudiosink
gst-discoverer information on the video im making test:
$ gst-discoverer-1.0 vid2.mp4
Topology:
container: Quicktime
audio: MPEG-4 AAC
video: H.264 (Constrained Baseline Profile)
Properties:
Duration: 0:00:11.005000000
Seekable: yes
Tags:
audio codec: MPEG-4 AAC audio
maximum bitrate: 103608
bitrate: 96408
datetime: 2015-11-17T13:28:06Z
QT atom: buffer of 25 bytes
container format: ISO MP4/M4A
video codec: H.264 / AVC
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Transmit-Audio-Video-Redistributing-Latency-tp4680210p4680243.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list