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