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

Nicolas Dufresne nicolas at ndufresne.ca
Tue Jul 30 11:10:25 UTC 2019


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


More information about the gstreamer-devel mailing list