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