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