Send mpeg-ts file source to SRT. Error about payload

Daniel Rossi electroteque at gmail.com
Wed Jul 31 14:29:54 UTC 2019


This was their response in regards to a receiver buffer size. I have not 
touched libsrt before so I would have no idea what this means

https://github.com/Haivision/srt/issues/659#issuecomment-516865921

------ Original Message ------
From: "Daniel Rossi" <electroteque at gmail.com>
To: "Nicolas Dufresne" <nicolas at ndufresne.ca>
Cc: "Discussion of the development of and with GStreamer" 
<gstreamer-devel at lists.freedesktop.org>
Sent: 8/1/2019 12:17:57 AM
Subject: Re[10]: Send mpeg-ts file source to SRT. Error about payload

>Sorry mate I am still fine tuning mpegts sending to wowza, and 
>consuming both audio and video on a listener receiver eventually from 
>Wowza.
>
>I have made contact to libsrt about the errors.
>
>I tried using UDP. I get no error. but calling and listening locally, 
>it skips frames and lots of blocky picture.
>
>gst-launch-1.0 filesrc location=sintel_lang.ts ! tsparse 
>set-timestamps=1 smoothing-latency=40000000 ! chopmydata step-size=188 
>min-size=188 max-size=1316 ! udpsink host=127.0.0.1 port=8081
>
>gst-play-1.0 udp://127.0.0.1:8081
>
>Is there a better pipeline for either loading mpeg-ts or muxing to 
>mpeg-ts from h264. I've seen nothing much out there. Most examples just 
>using the videotest source ! I've seen so many cheatsheets but nothing 
>for what I need to do.
>
>I just need a test caller for Wowza ingest to confirm if it sends 
>multiple tracks correctly. but my production requirements is consuming 
>a Wowza SRT stream target which is mpeg-ts using a receiver listener. 
>My tests have been unstable output so far. locally or remotely.
>
>
>
>
>------ Original Message ------
>From: "Nicolas Dufresne" <nicolas at ndufresne.ca>
>To: "Daniel Rossi" <electroteque at gmail.com>
>Cc: "Discussion of the development of and with GStreamer" 
><gstreamer-devel at lists.freedesktop.org>
>Sent: 7/30/2019 9:10:25 PM
>Subject: Re: Re[8]: Send mpeg-ts file source to SRT. Error about 
>payload
>
>>
>>
>>Le lun. 29 juill. 2019 23 h 48, Daniel Rossi <electroteque at gmail.com> 
>>a écrit :
>>>Thankyou. So confirming chopmydata is like "pkt_size=1316" ? It is an 
>>>obvious libsrt output, so I will have to take it up with them !
>>
>>Yes.
>>
>>>
>>>------ Original Message ------
>>>From: "Nicolas Dufresne" <nicolas at ndufresne.ca>
>>>To: "Daniel Rossi" <electroteque at gmail.com>
>>>Cc: "Discussion of the development of and with GStreamer" 
>>><gstreamer-devel at lists.freedesktop.org>
>>>Sent: 7/30/2019 2:23:19 AM
>>>Subject: Re: Re[6]: Send mpeg-ts file source to SRT. Error about 
>>>payload
>>>
>>>>Le lundi 29 juillet 2019 à 15:41 +0000, Daniel Rossi a écrit :
>>>>>It seems it needs this, which possibly matches ffmpeg's pkt_size 
>>>>>flag ? ie udp://192.168.4.43:9999?pkt_size=1316
>>>>>
>>>>>
>>>>>"chopmydata step-size=188 min-size=188 max-size=1316"
>>>>>
>>>>>I still get unstable playback locally
>>>>>
>>>>>on the sender console
>>>>>
>>>>>"10:43:54.198464/mpegtsparse2-0:*E: SRT.d: SND-DROPPED 41 packets - 
>>>>>lost delaying for 1038ms"
>>>>>
>>>>>on the receiver console
>>>>>
>>>>>"10:30:08.957619*E: SRT.c: %229645152:No room to store incoming 
>>>>>packet: offset=8907 avail=6437 ack.seq=59978716 pkt.seq=59987623 
>>>>>rcv-remain=1754"
>>>>>
>>>>>I am getting the same errors eventually for this command.It crashes 
>>>>>eventually
>>>>>
>>>>>gst-launch-1.0 videotestsrc ! video/x-raw, height=360, width=640 ! 
>>>>>videoconvert ! x264enc tune=zerolatency ! video/x-h264, 
>>>>>profile=high ! mpegtsmux ! srtsink uri="srt://192.168.4.43:8081"
>>>>
>>>>You should add is-live=1 to videotestsrc, though I agree something
>>>>seems not too robust here.
>>>>
>>>>>
>>>>>Playing it back in VLC, the picture has artifacts and it's 
>>>>>skipping. No logs on the sender however. It's for udpsink also. So 
>>>>>might be my source file ? It was converted with ffmpeg first
>>>>>
>>>>>ffmpeg -i sintel_lang_2000k.mp4 -codec:v copy -codec:a copy -map 0 
>>>>>-streamid 0:50 -streamid 1:52 -streamid 2:53 -streamid 3:54 
>>>>>-streamid 4:55 -streamid 5:56 -f mpegts sintel_lang.ts
>>>>>
>>>>>My proof of concept seems to work however. PID's of the audio are 
>>>>>sent with the stream for individual ingesting in Wowza over SRT.
>>>>>
>>>>>Is there specific documenation for sending mpeg-ts or converting 
>>>>>from h264 first ? With ffmpeg I have been doing this for my udp 
>>>>>specific tests
>>>>>
>>>>>ffmpeg -re -i sintel_lang_2000k.mp4 -codec copy -bsf:v 
>>>>>h264_mp4toannexb -map 0 -streamid 0:50 -streamid 1:52 -streamid 
>>>>>2:53 -streamid 3:54 -streamid 4:55 -streamid 5:56 -f mpegts 
>>>>>udp://192.168.4.43:10000?pkt_size=1316
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>------ Original Message ------
>>>>>From: "Nicolas Dufresne" <nicolas at ndufresne.ca>
>>>>>To: "Daniel Rossi" <electroteque at gmail.com>
>>>>>Cc: "Discussion of the development of and with GStreamer" 
>>>>><gstreamer-devel at lists.freedesktop.org>
>>>>>Sent: 7/27/2019 3:48:52 AM
>>>>>Subject: Re: Re[4]: Send mpeg-ts file source to SRT. Error about 
>>>>>payload
>>>>>
>>>>> > Le vendredi 26 juillet 2019 à 16:37 +0000, Daniel Rossi a écrit :
>>>>> > > according to gst-inspect-1.0 filesrc
>>>>> > >
>>>>> > > I have a blocksize option. Do I set this to 1316?
>>>>> > >
>>>>> > > inspecting tsparse doesn't say much, including command usage.
>>>>> > >
>>>>> > > gst-launch-1.0 -v filesrc location=sintel_lang.ts 
>>>>>blocksize=1316 ! tsparse ! srtsink uri=srt://:8888/
>>>>> > >
>>>>> > > and the receiver
>>>>> > >
>>>>> > > gst-launch-1.0 srtsrc uri=srt://192.168.4.55:8888 ! decodebin ! 
>>>>>autovideosink
>>>>> > >
>>>>> > > I get these errors.
>>>>> > >
>>>>> > > 02:34:56.655957*E: SRT.c: LiveSmoother: payload size: 18800 
>>>>>exceeds maximum allowed 1316
>>>>> >
>>>>> >
>>>>> > Apparently the parser ignores the input size, just like you 
>>>>>ignored my
>>>>> > recommendation for tsparse configuration. Anyway ...
>>>>> >
>>>>> > # Transmitter
>>>>> > gst-launch-1.0 filesrc location=my.ts ! \
>>>>> > tsparse set-timestamps=1 smoothing-latency=40000000 ! \
>>>>> > chopmydata step-size=188 min-size=188 max-size=1316 ! \
>>>>> > srtsink uri=srt://:8888
>>>>> >
>>>>> > # Receiver / Player
>>>>> > gst-play-1.0 srt://127.0.0.1:8888
>>>>> > >
>>>>> > >
>>>>> > >
>>>>> > > ------ Original Message ------
>>>>> > > From: "Nicolas Dufresne" <nicolas at ndufresne.ca>
>>>>> > > To: "Daniel Rossi" <electroteque at gmail.com>
>>>>> > > Cc: "Discussion of the development of and with GStreamer" 
>>>>><gstreamer-devel at lists.freedesktop.org>
>>>>> > > Sent: 7/26/2019 10:03:13 PM
>>>>> > > Subject: Re: Re[2]: Send mpeg-ts file source to SRT. Error 
>>>>>about payload
>>>>> > >
>>>>> > > >
>>>>> > > > Le jeu. 25 juill. 2019 23 h 30, Daniel Rossi 
>>>>><electroteque at gmail.com> a écrit :
>>>>> > > > > There is an element called tsparse, but same thing.
>>>>> > > > >
>>>>> > > > > gst-launch-1.0 -v filesrc location =sintel_lang.ts ! 
>>>>>tsparse ! srtsink uri=srt://:8888
>>>>> > > >
>>>>> > > > You should use gst-inspect-1.0 to learn about the 
>>>>>configuration for filesrc and tsparse (I'm typing this from memory, 
>>>>>and there exist in usage of mpegts and ts as element name prefix). 
>>>>>File source has an option to configure the read size, these needs 
>>>>>to be multiple of 188 and max to 1316. The ts parse as an option to 
>>>>>add and smooth timestamp, these need to be configured.
>>>>> > > >
>>>>> > > > > my pullside for the test is
>>>>> > > > >
>>>>> > > > > gst-launch-1.0 srtsrc uri=srt://192.168.4.55:8888 ! 
>>>>>decodebin ! autovideosink
>>>>> > > > >
>>>>> > > > > ------ Original Message ------
>>>>> > > > > From: "Nicolas Dufresne" <nicolas at ndufresne.ca>
>>>>> > > > > To: "Daniel Rossi" <electroteque at gmail.com>; "Discussion of 
>>>>>the development of and with GStreamer" 
>>>>><gstreamer-devel at lists.freedesktop.org>
>>>>> > > > > Sent: 7/26/2019 1:19:54 PM
>>>>> > > > > Subject: Re: Send mpeg-ts file source to SRT. Error about 
>>>>>payload
>>>>> > > > >
>>>>> > > > > >
>>>>> > > > > > Le jeu. 25 juill. 2019 22 h 25, Daniel Rossi 
>>>>><electroteque at gmail.com> a écrit :
>>>>> > > > > > > I'm trying to send an mpeg-ts source over SRT for multi 
>>>>>language track testing.
>>>>> > > > > > >
>>>>> > > > > > > When pulling this stream I am getting an internal 
>>>>>error.
>>>>> > > > > > >
>>>>> > > > > > > gst-launch-1.0 -v filesrc location =sintel_lang.ts ! 
>>>>>rtpstreampay ! srtsink uri=srt://:8888/
>>>>> > > > > > > Setting pipeline to PAUSED ...
>>>>> > > > > > > Pipeline is PREROLLING ...
>>>>> > > > > > > Pipeline is PREROLLED ...
>>>>> > > > > > > Setting pipeline to PLAYING ...
>>>>> > > > > > > New clock: GstSystemClock
>>>>> > > > > > > 12:13:33.532337/filesrc0:src*E: SRT.c: LiveSmoother: 
>>>>>payload size: 4098 exceeds maximum allowed 1316
>>>>> > > > > >
>>>>> > > > > > a) why do you use stream pay ?
>>>>> > > > > > b) you might want to use mpegtsparse to timestamp your 
>>>>>stream
>>>>> > > > > > c) configure filesrc to read 1316 bytes to fix this 
>>>>>error.
>>>>> > > > > >
>>>>> > > > > > >
>>>>> > > > > > > Is there also a way to pipeline a h264 file with multi 
>>>>>audio tracks through mpeg-ts and set PID numbers for each track 
>>>>>instead of outputting to TS via ffmpeg first ?
>>>>> > > > > > > _______________________________________________
>>>>> > > > > > > gstreamer-devel mailing list
>>>>> > > > > > > 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/20190731/7cd4b714/attachment-0001.html>


More information about the gstreamer-devel mailing list