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

Daniel Rossi electroteque at gmail.com
Mon Jul 29 15:41:11 UTC 2019


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"

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/20190729/a06ae4ff/attachment.html>


More information about the gstreamer-devel mailing list