Streaming audio and video RTP

Patrick Cusack patrickcusack at mac.com
Thu Apr 30 04:11:27 UTC 2020


This works to stream picture and audio via rtp...

gst-launch-1.0  \
	filesrc location=starwars.mov \
	! qtdemux name=demux \
	demux.audio_0 \
	! queue max-size-time = 3000000000 \
	! decodebin \
	! audioconvert \
	! audioresample \
	! audio/x-raw,channels=2,rate=48000 \
	! opusenc bitrate=96000 \
	! rtpopuspay \
	! udpsink host=www.myurl.com port=5052 \
	demux.video_0 \
	! queue \
	! decodebin \
	! videoconvert \
	! videorate \
	! x264enc speed-preset=ultrafast tune=zerolatency byte-stream=true key-int-max=60 \
	! video/x-h264, profile=baseline \
	! queue \
	! rtph264pay \
	! udpsink host=www.myurl.com port=5054

> On Apr 29, 2020, at 8:49 PM, Patrick Cusack <patrickcusack at mac.com> wrote:
> 
> Hmm….again no audio comes through. I am wondering if my qtdemux is correct.
> 
>> On Apr 29, 2020, at 12:29 PM, William Johnston <wgj at cast.uark.edu <mailto:wgj at cast.uark.edu>> wrote:
>> 
>> Careless of me, I linked it wrong. I linked the input of rtpbin to the input of udpsink.
>> 
>> I'll try again:
>> 
>> gst-launch-1.0 -e \
>>         rtpbin name=rb 
>>         uridecodebin uri="file:///home/fedora/starwars.mov <>" \
>>         ! qtdemux name=demux  demux.audio_0 \
>>         ! queue \
>>         ! audioconvert \
>>         ! opusenc bandwidth=superwideband bitrate-type=vbr \
>>         ! rtpopuspay  \
>>         ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
>>         ! udpsink host=www.playbacktc.com <http://www.playbacktc.com/> port=5052 \
>>         demux.video_0 \
>>         ! queue \
>>         ! videorate ! video/x-raw, framerate=30000/1001 \
>>         ! videoconvert \
>>         ! x264enc tune=zerolatency speed-preset=1 dct8x8=true quantizer=17 pass=qual \
>>         ! rtph264pay \
>>         ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
>>         ! rb.send_rtp_sink_0 \
>>         rb
>>         ! udpsink host=www.playbacktc.com <http://www.playbacktc.com/> port=5054 \
>> 
>> 
>> 
>> On 4/28/2020 6:32 PM, Patrick Cusack wrote:
>>> Ok. Good to know. Unfortunately, that doesn’t work. I get the following:
>>> 
>>> Setting pipeline to PAUSED ...
>>> Pipeline is PREROLLING ...
>>> DtsGetHWFeatures: Create File Failed
>>> DtsGetHWFeatures: Create File Failed
>>> Running DIL (3.22.0) Version
>>> DtsDeviceOpen: Opening HW in mode 0
>>> DtsDeviceOpen: Create File Failed
>>> Redistribute latency...
>>> WARNING: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0: Delayed linking failed.
>>> Additional debug info:
>>> ./grammar.y(506): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0:
>>> failed delayed linking some pad of GstURIDecodeBin named uridecodebin0 to some pad of GstQTDemux named demux
>>> Redistribute latency…
>>> 
>>> I checked the stats on my server and don’t see any audio or video packets coming in. The goal is to stream a file (eventually a video input like Decklink) to a server that receives rtp.
>>> 
>>> I can send audio or video separately and I don’t have issues.
>>> 
>>> Patrick
>>> 
>>>> On Apr 28, 2020, at 11:49 AM, William Johnston <wgj at cast.uark.edu <mailto:wgj at cast.uark.edu>> wrote:
>>>> 
>>>> You can only specify ports on element names. Try this:
>>>> 
>>>> gst-launch-1.0 -e \
>>>>         uridecodebin uri="file:///home/fedora/starwars.mov <>" \
>>>>         ! qtdemux name=demux  demux.audio_0 \
>>>>         ! queue \
>>>>         ! audioconvert \
>>>>         ! opusenc bandwidth=superwideband bitrate-type=vbr \
>>>>         ! rtpopuspay  \
>>>>         ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
>>>>         ! udpsink host=www.playbacktc.com <http://www.playbacktc.com/> port=5052 \
>>>>         demux.video_0 \
>>>>         ! queue \
>>>>         ! videorate ! video/x-raw, framerate=30000/1001 \
>>>>         ! videoconvert \
>>>>         ! x264enc tune=zerolatency speed-preset=1 dct8x8=true quantizer=17 pass=qual \
>>>>         ! rtph264pay \
>>>>         ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
>>>>         ! rtpbin name=rb rb.send_rtp_sink_0 \
>>>>         ! udpsink host=www.playbacktc.com <http://www.playbacktc.com/> port=5054 \
>>>> 
>>>> 
>>>> On 4/28/2020 12:42 PM, Patrick Cusack wrote:
>>>>> I have a endpoint that expects audio and video over ports 5052 and 5054 respectively. I am using the following script to send audio and video. I am getting a 'WARNING: erroneous pipeline: syntax error’ when I run the command. 
>>>>> Also, does using simple rtp payloads into a udp sink bypass RTCP feedback, ie if my server is NACKing on account of dropped packets, does this hinder retransmission of rtp packets?
>>>>> 
>>>>> gst-launch-1.0 -e \
>>>>>         uridecodebin uri="file:///home/fedora/starwars.mov <file:///home/fedora/starwars.mov>" \
>>>>>         ! qtdemux name=demux  demux.audio_0 \
>>>>>         ! queue \
>>>>>         ! audioconvert \
>>>>>         ! opusenc bandwidth=superwideband bitrate-type=vbr \
>>>>>         ! rtpopuspay  \
>>>>>         ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
>>>>>         ! udpsink host=www.playbacktc.com <http://www.playbacktc.com/> port=5052 \
>>>>>         demux.video_0 \
>>>>>         ! queue \
>>>>>         ! videorate ! video/x-raw, framerate=30000/1001 \
>>>>>         ! videoconvert \
>>>>>         ! x264enc tune=zerolatency speed-preset=1 dct8x8=true quantizer=17 pass=qual \
>>>>>         ! rtph264pay \
>>>>>         ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
>>>>>         ! rtpbin.send_rtp_sink_0 \
>>>>>         ! udpsink host=www.playbacktc.com <http://www.playbacktc.com/> port=5054 \
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> gstreamer-devel mailing list
>>>>> gstreamer-devel at lists.freedesktop.org <mailto:gstreamer-devel at lists.freedesktop.org>
>>>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel <https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel>
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.freedesktop.org <mailto:gstreamer-devel at lists.freedesktop.org>
>>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel <https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel>
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org <mailto:gstreamer-devel at lists.freedesktop.org>
>>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel <https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org <mailto:gstreamer-devel at lists.freedesktop.org>
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200429/85fdcd94/attachment-0001.htm>


More information about the gstreamer-devel mailing list