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

Daniel Rossi electroteque at gmail.com
Tue Jul 30 03:48:48 UTC 2019


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 !

------ 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/20190730/a51e1ab1/attachment-0001.html>


More information about the gstreamer-devel mailing list