<html><head><style id="css_styles" type="text/css">blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc }
blockquote.cite2 {margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc; margin-top: 3px; padding-top: 0px; }
a img { border: 0px; }
li[style='text-align: center;'], li[style='text-align: right;'] {  list-style-position: inside;}
body { font-family: Segoe UI; font-size: 12pt;   }</style></head><body><div>Sorry mate I am still fine tuning mpegts sending to wowza, and consuming both audio and video on a listener receiver eventually from Wowza. <br /><br />I have made contact to libsrt about the errors. <br /><br />I tried using UDP. I get no error. but calling and listening locally, it skips frames and lots of blocky picture. <br /><br />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</div><div><br /></div><div>gst-play-1.0 udp://127.0.0.1:8081<br /><br />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. <br /><br />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. <br /><br /><br /><br /></div>
<div><br /></div>
<div>------ Original Message ------</div>
<div>From: "Nicolas Dufresne" <<a href="mailto:nicolas@ndufresne.ca">nicolas@ndufresne.ca</a>></div>
<div>To: "Daniel Rossi" <<a href="mailto:electroteque@gmail.com">electroteque@gmail.com</a>></div>
<div>Cc: "Discussion of the development of and with GStreamer" <<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>></div>
<div>Sent: 7/30/2019 9:10:25 PM</div>
<div>Subject: Re: Re[8]: Send mpeg-ts file source to SRT. Error about payload</div><div><br /></div>
<div id="xa5c5f092c6e5412"><blockquote cite="CAKQmDh8TYwUDhtzkLL40LoUnGa_A+OGhh5z=+_R_q3pFgzijVQ@mail.gmail.com" type="cite" class="cite2">
<div dir="auto"><div><br /><br /><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le lun. 29 juill. 2019 23 h 48, Daniel Rossi <<a href="mailto:electroteque@gmail.com">electroteque@gmail.com</a>> a écrit :<br /></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="m_-8367888518900417201plain"><div>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 !</div></div></blockquote></div></div><div dir="auto"><br /></div><div dir="auto">Yes.</div><div dir="auto"><br /></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_-8367888518900417201plain">
<div><br /></div>
<div>------ Original Message ------</div>
<div>From: "Nicolas Dufresne" <<a href="mailto:nicolas@ndufresne.ca" rel="noreferrer">nicolas@ndufresne.ca</a>></div>
<div>To: "Daniel Rossi" <<a href="mailto:electroteque@gmail.com" rel="noreferrer">electroteque@gmail.com</a>></div>
<div>Cc: "Discussion of the development of and with GStreamer" <<a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer">gstreamer-devel@lists.freedesktop.org</a>></div>
<div>Sent: 7/30/2019 2:23:19 AM</div>
<div>Subject: Re: Re[6]: Send mpeg-ts file source to SRT. Error about payload</div><div><br /></div>
<div id="m_-8367888518900417201xb2ff6b7a352441f"><blockquote type="cite" class="m_-8367888518900417201cite2">

<div class="m_-8367888518900417201plain_line">Le lundi 29 juillet 2019 à 15:41 +0000, Daniel Rossi a écrit :</div>
<blockquote type="cite" class="m_-8367888518900417201cite">
<div class="m_-8367888518900417201plain_line"> It seems it needs this, which possibly matches ffmpeg's pkt_size flag ?  ie udp://<a href="http://192.168.4.43:9999?pkt_size=1316" rel="noreferrer">192.168.4.43:9999?pkt_size=1316</a></div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> "chopmydata step-size=188 min-size=188 max-size=1316"</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> I still get  unstable playback locally</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> on the sender console</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> "10:43:54.198464/mpegtsparse2-0:*E: SRT.d: SND-DROPPED 41 packets - lost delaying for 1038ms"</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> on the receiver console</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> "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"</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> I am getting the same errors eventually for this command.It crashes eventually</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> 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://<a href="http://192.168.4.43:8081" rel="noreferrer">192.168.4.43:8081</a>"</div>
</blockquote>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line">You should add is-live=1 to videotestsrc, though I agree something</div>
<div class="m_-8367888518900417201plain_line">seems not too robust here.</div>
<div class="m_-8367888518900417201plain_line"> </div>
<blockquote type="cite" class="m_-8367888518900417201cite2">
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> 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</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line">  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</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> 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.</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> 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</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> 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://<a href="http://192.168.4.43:10000?pkt_size=1316" rel="noreferrer">192.168.4.43:10000?pkt_size=1316</a></div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> ------ Original Message ------</div>
<div class="m_-8367888518900417201plain_line"> From: "Nicolas Dufresne" <<a href="mailto:nicolas@ndufresne.ca" rel="noreferrer">nicolas@ndufresne.ca</a>></div>
<div class="m_-8367888518900417201plain_line"> To: "Daniel Rossi" <<a href="mailto:electroteque@gmail.com" rel="noreferrer">electroteque@gmail.com</a>></div>
<div class="m_-8367888518900417201plain_line"> Cc: "Discussion of the development of and with GStreamer" <<a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer">gstreamer-devel@lists.freedesktop.org</a>></div>
<div class="m_-8367888518900417201plain_line"> Sent: 7/27/2019 3:48:52 AM</div>
<div class="m_-8367888518900417201plain_line"> Subject: Re: Re[4]: Send mpeg-ts file source to SRT. Error about payload</div>
<div class="m_-8367888518900417201plain_line"> </div>
<div class="m_-8367888518900417201plain_line"> > Le vendredi 26 juillet 2019 à 16:37 +0000, Daniel Rossi a écrit :</div>
<div class="m_-8367888518900417201plain_line"> > > according to gst-inspect-1.0 filesrc</div>
<div class="m_-8367888518900417201plain_line"> > ></div>
<div class="m_-8367888518900417201plain_line"> > > I have a blocksize option. Do I set this to 1316?</div>
<div class="m_-8367888518900417201plain_line"> > ></div>
<div class="m_-8367888518900417201plain_line"> > > inspecting tsparse doesn't say much, including command usage.</div>
<div class="m_-8367888518900417201plain_line"> > ></div>
<div class="m_-8367888518900417201plain_line"> > > gst-launch-1.0 -v filesrc location=sintel_lang.ts blocksize=1316 ! tsparse ! srtsink uri=srt://:8888/</div>
<div class="m_-8367888518900417201plain_line"> > ></div>
<div class="m_-8367888518900417201plain_line"> > > and the receiver</div>
<div class="m_-8367888518900417201plain_line"> > ></div>
<div class="m_-8367888518900417201plain_line"> > > gst-launch-1.0 srtsrc uri=srt://<a href="http://192.168.4.55:8888" rel="noreferrer">192.168.4.55:8888</a> ! decodebin ! autovideosink</div>
<div class="m_-8367888518900417201plain_line"> > ></div>
<div class="m_-8367888518900417201plain_line"> > > I get these errors.</div>
<div class="m_-8367888518900417201plain_line"> > ></div>
<div class="m_-8367888518900417201plain_line"> > > 02:34:56.655957*E: SRT.c: LiveSmoother: payload size: 18800 exceeds maximum allowed 1316</div>
<div class="m_-8367888518900417201plain_line"> ></div>
<div class="m_-8367888518900417201plain_line"> ></div>
<div class="m_-8367888518900417201plain_line"> > Apparently the parser ignores the input size, just like you ignored my</div>
<div class="m_-8367888518900417201plain_line"> > recommendation for tsparse configuration. Anyway ...</div>
<div class="m_-8367888518900417201plain_line"> ></div>
<div class="m_-8367888518900417201plain_line"> > # Transmitter</div>
<div class="m_-8367888518900417201plain_line"> > gst-launch-1.0 filesrc location=my.ts ! \</div>
<div class="m_-8367888518900417201plain_line"> > tsparse set-timestamps=1 smoothing-latency=40000000 ! \</div>
<div class="m_-8367888518900417201plain_line"> > chopmydata step-size=188 min-size=188 max-size=1316 ! \</div>
<div class="m_-8367888518900417201plain_line"> > srtsink uri=srt://:8888</div>
<div class="m_-8367888518900417201plain_line"> ></div>
<div class="m_-8367888518900417201plain_line"> > # Receiver / Player</div>
<div class="m_-8367888518900417201plain_line"> > gst-play-1.0 srt://<a href="http://127.0.0.1:8888" rel="noreferrer">127.0.0.1:8888</a></div>
<div class="m_-8367888518900417201plain_line"> > ></div>
<div class="m_-8367888518900417201plain_line"> > ></div>
<div class="m_-8367888518900417201plain_line"> > ></div>
<div class="m_-8367888518900417201plain_line"> > > ------ Original Message ------</div>
<div class="m_-8367888518900417201plain_line"> > > From: "Nicolas Dufresne" <<a href="mailto:nicolas@ndufresne.ca" rel="noreferrer">nicolas@ndufresne.ca</a>></div>
<div class="m_-8367888518900417201plain_line"> > > To: "Daniel Rossi" <<a href="mailto:electroteque@gmail.com" rel="noreferrer">electroteque@gmail.com</a>></div>
<div class="m_-8367888518900417201plain_line"> > > Cc: "Discussion of the development of and with GStreamer" <<a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer">gstreamer-devel@lists.freedesktop.org</a>></div>
<div class="m_-8367888518900417201plain_line"> > > Sent: 7/26/2019 10:03:13 PM</div>
<div class="m_-8367888518900417201plain_line"> > > Subject: Re: Re[2]: Send mpeg-ts file source to SRT. Error about payload</div>
<div class="m_-8367888518900417201plain_line"> > ></div>
<div class="m_-8367888518900417201plain_line"> > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > Le jeu. 25 juill. 2019 23 h 30, Daniel Rossi <<a href="mailto:electroteque@gmail.com" rel="noreferrer">electroteque@gmail.com</a>> a écrit :</div>
<div class="m_-8367888518900417201plain_line"> > > > > There is an element called tsparse, but same thing.</div>
<div class="m_-8367888518900417201plain_line"> > > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > > gst-launch-1.0 -v filesrc location =sintel_lang.ts ! tsparse ! srtsink uri=srt://:8888</div>
<div class="m_-8367888518900417201plain_line"> > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > 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.</div>
<div class="m_-8367888518900417201plain_line"> > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > > my pullside for the test is</div>
<div class="m_-8367888518900417201plain_line"> > > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > > gst-launch-1.0 srtsrc uri=srt://<a href="http://192.168.4.55:8888" rel="noreferrer">192.168.4.55:8888</a> ! decodebin ! autovideosink</div>
<div class="m_-8367888518900417201plain_line"> > > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > > ------ Original Message ------</div>
<div class="m_-8367888518900417201plain_line"> > > > > From: "Nicolas Dufresne" <<a href="mailto:nicolas@ndufresne.ca" rel="noreferrer">nicolas@ndufresne.ca</a>></div>
<div class="m_-8367888518900417201plain_line"> > > > > To: "Daniel Rossi" <<a href="mailto:electroteque@gmail.com" rel="noreferrer">electroteque@gmail.com</a>>; "Discussion of the development of and with GStreamer" <<a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer">gstreamer-devel@lists.freedesktop.org</a>></div>
<div class="m_-8367888518900417201plain_line"> > > > > Sent: 7/26/2019 1:19:54 PM</div>
<div class="m_-8367888518900417201plain_line"> > > > > Subject: Re: Send mpeg-ts file source to SRT. Error about payload</div>
<div class="m_-8367888518900417201plain_line"> > > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > > > Le jeu. 25 juill. 2019 22 h 25, Daniel Rossi <<a href="mailto:electroteque@gmail.com" rel="noreferrer">electroteque@gmail.com</a>> a écrit :</div>
<div class="m_-8367888518900417201plain_line"> > > > > > > I'm trying to send an mpeg-ts source over SRT for multi language track testing.</div>
<div class="m_-8367888518900417201plain_line"> > > > > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > > > > When pulling this stream I am getting an internal error.</div>
<div class="m_-8367888518900417201plain_line"> > > > > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > > > > gst-launch-1.0 -v filesrc location =sintel_lang.ts ! rtpstreampay ! srtsink uri=srt://:8888/</div>
<div class="m_-8367888518900417201plain_line"> > > > > > > Setting pipeline to PAUSED ...</div>
<div class="m_-8367888518900417201plain_line"> > > > > > > Pipeline is PREROLLING ...</div>
<div class="m_-8367888518900417201plain_line"> > > > > > > Pipeline is PREROLLED ...</div>
<div class="m_-8367888518900417201plain_line"> > > > > > > Setting pipeline to PLAYING ...</div>
<div class="m_-8367888518900417201plain_line"> > > > > > > New clock: GstSystemClock</div>
<div class="m_-8367888518900417201plain_line"> > > > > > > 12:13:33.532337/filesrc0:src*E: SRT.c: LiveSmoother: payload size: 4098 exceeds maximum allowed 1316</div>
<div class="m_-8367888518900417201plain_line"> > > > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > > > a) why do you use stream pay ?</div>
<div class="m_-8367888518900417201plain_line"> > > > > > b) you might want to use mpegtsparse to timestamp your stream</div>
<div class="m_-8367888518900417201plain_line"> > > > > > c) configure filesrc to read 1316 bytes to fix this error.</div>
<div class="m_-8367888518900417201plain_line"> > > > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > > > ></div>
<div class="m_-8367888518900417201plain_line"> > > > > > > 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 ?</div>
<div class="m_-8367888518900417201plain_line"> > > > > > > _______________________________________________</div>
<div class="m_-8367888518900417201plain_line"> > > > > > > gstreamer-devel mailing list</div>
<div class="m_-8367888518900417201plain_line"> > > > > > > <a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer">gstreamer-devel@lists.freedesktop.org</a></div>
<div class="m_-8367888518900417201plain_line"> > > > > > > <a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></div>
</blockquote>
</blockquote></div>
</div></blockquote></div></div></div>
</blockquote></div>
</body></html>