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 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 [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le jeu. 25 juill. 2019 22 h 25, Daniel Rossi <[hidden email]> a écrit :
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.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I don't even know what streampay is.
I've now tried this command without the packet option as I see no documentation for that gst-launch-1.0 -v filesrc location =sintel_lang.ts ! mpegtsparse ! srtsink uri=srt://:8888 I get this due to being forced to compile from sources and load it uninstalled. [cerbero-linux-x86_64]gst-launch-1.0 -v filesrc location =sintel_lang.ts ! mpegtsparse ! srtsink uri=srt://:8888 0:00:00.037218464 2285 0x564f16bd6470 ERROR GST_PIPELINE grammar.y:816:priv_gst_parse_yyparse: no element "mpegtsparse" 0:00:00.037359838 2285 0x564f16bd6470 ERROR GST_PIPELINE grammar.y:901:priv_gst_parse_yyparse: link has no sink [source=@0x564f16be4300] 0:00:00.050644219 2285 0x564f16bd6470 ERROR GST_PIPELINE grammar.y:901:priv_gst_parse_yyparse: link has no source [sink=@0x564f16c2d9a0] ------ Original Message ------
From: "Nicolas Dufresne" <[hidden email]>
To: "Daniel Rossi" <[hidden email]>; "Discussion of the development of and with GStreamer" <[hidden email]>
Sent: 7/26/2019 1:19:54 PM
Subject: Re: Send mpeg-ts file source to SRT. Error about payload
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Nicolas Dufresne-5
There is an element called tsparse, but same thing.
gst-launch-1.0 -v filesrc location =sintel_lang.ts ! tsparse ! srtsink uri=srt://:8888 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" <[hidden email]>
To: "Daniel Rossi" <[hidden email]>; "Discussion of the development of and with GStreamer" <[hidden email]>
Sent: 7/26/2019 1:19:54 PM
Subject: Re: Send mpeg-ts file source to SRT. Error about payload
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le jeu. 25 juill. 2019 23 h 30, Daniel Rossi <[hidden email]> a écrit :
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.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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 ------ Original Message ------
From: "Nicolas Dufresne" <[hidden email]>
To: "Daniel Rossi" <[hidden email]>
Cc: "Discussion of the development of and with GStreamer" <[hidden email]>
Sent: 7/26/2019 10:03:13 PM
Subject: Re: Re[2]: Send mpeg-ts file source to SRT. Error about payload
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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 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" <[hidden email]> > To: "Daniel Rossi" <[hidden email]> > Cc: "Discussion of the development of and with GStreamer" <[hidden email]> > 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 <[hidden email]> 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" <[hidden email]> > > > To: "Daniel Rossi" <[hidden email]>; "Discussion of the development of and with GStreamer" <[hidden email]> > > > 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 <[hidden email]> 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 > > > > > [hidden email] > > > > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (201 bytes) Download Attachment |
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" <[hidden email]>
To: "Daniel Rossi" <[hidden email]>
Cc: "Discussion of the development of and with GStreamer" <[hidden email]>
Sent: 7/27/2019 3:48:52 AM
Subject: Re: Re[4]: Send mpeg-ts file source to SRT. Error about payload
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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" 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" <[hidden email]> > To: "Daniel Rossi" <[hidden email]> > Cc: "Discussion of the development of and with GStreamer" <[hidden email]> > 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" <[hidden email]> > > > To: "Daniel Rossi" <[hidden email]> > > > Cc: "Discussion of the development of and with GStreamer" <[hidden email]> > > > 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 <[hidden email]> 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" <[hidden email]> > > > > > To: "Daniel Rossi" <[hidden email]>; "Discussion of the development of and with GStreamer" <[hidden email]> > > > > > 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 <[hidden email]> 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 > > > > > > > [hidden email] > > > > > > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (201 bytes) Download Attachment |
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" <[hidden email]>
To: "Daniel Rossi" <[hidden email]>
Cc: "Discussion of the development of and with GStreamer" <[hidden email]>
Sent: 7/30/2019 2:23:19 AM
Subject: Re: Re[6]: Send mpeg-ts file source to SRT. Error about payload
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le lun. 29 juill. 2019 23 h 48, Daniel Rossi <[hidden email]> a écrit :
Yes.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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" <[hidden email]>
To: "Daniel Rossi" <[hidden email]>
Cc: "Discussion of the development of and with GStreamer" <[hidden email]>
Sent: 7/30/2019 9:10:25 PM
Subject: Re: Re[8]: Send mpeg-ts file source to SRT. Error about payload
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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" <[hidden email]>
To: "Nicolas Dufresne" <[hidden email]>
Cc: "Discussion of the development of and with GStreamer" <[hidden email]>
Sent: 8/1/2019 12:17:57 AM
Subject: Re[10]: Send mpeg-ts file source to SRT. Error about payload
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Are these params currently supported on the uri's ?
https://github.com/Haivision/srt/issues/659#issuecomment-516922869 https://github.com/Haivision/srt/issues/445 I see no reference in the sources about srt-recv:{INT, 0...} ------ Original Message ------
From: "Daniel Rossi" <[hidden email]>
To: "Nicolas Dufresne" <[hidden email]>
Cc: "Discussion of the development of and with GStreamer" <[hidden email]>
Sent: 8/1/2019 12:29:54 AM
Subject: Re[11]: Send mpeg-ts file source to SRT. Error about payload
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I believe there is bugs with gstreamer. You can see my comment here, I was able to stream locally find using ffmpeg as the caller, and gstreamer as the receiver. If I use gstreamer as the caller I get failures. Its taken me a while to get ffmpeg compiled to test it, but was easier than compiling gstreamer.
https://github.com/Haivision/srt/issues/659#issuecomment-517934242 I noticed in the source code, blocking mode is hardcoded, and I see no property to set receiver buffer. Do I file a bug ? ------ Original Message ------
From: "Daniel Rossi" <[hidden email]>
To: "Nicolas Dufresne" <[hidden email]>
Cc: "Discussion of the development of and with GStreamer" <[hidden email]>
Sent: 8/2/2019 1:38:18 AM
Subject: Re[12]: Send mpeg-ts file source to SRT. Error about payload
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le dim. 4 août 2019 7:28 AM, Daniel Rossi <[hidden email]> a écrit :
Sure, in this context I had a hard time to get this element to do something useful (for the second time in fact) and you have a use case which does not work. There is clearly something odd, miss-implemented in there. Just make sure to describe your use case clearly.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |