I have generated a MPEG-TS source with RTP via FFmpeg like so:
ffmpeg -stream_loop -1 -re -i jamie.mp4 -vcodec mpeg2video -pix_fmt yuv420p -me_method epzs -r 29.97 -g 45 -bf 2 -trellis 2 -cmp 2 -subcmp 2 -s 704x396 -b 2500k -bt 300k -acodec mp2 -ac 2 -ab 192k -ar 44100 -async 1 -y -f rtp_mpegts rtp://239.0.0.1:1234 and can play it back with this pipeline: gst-launch-1.0 udpsrc multicast-group=239.0.0.1 auto-multicast=true port=1234 ! decodebin name=decoder decoder. ! queue ! audioconvert ! audioresample ! osxaudiosink decoder. ! videoconvert ! autovideosink when I try to add a jitterbuffer, it has the same state as above but video does not play: Eriks-MacBook-Pro:vma erik$ gst-launch-1.0 udpsrc multicast-group=239.0.0.1 auto-multicast=true port=1234 ! rtpjitterbuffer mode=0 latency=100 ! decodebin name=decoder decoder. ! queue ! audioconvert ! audioresample ! osxaudiosink decoder. ! videoconvert ! autovideosink Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Got context from element 'autovideosink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\ gldisplaycocoa0"; Setting pipeline to PLAYING ... New clock: GstSystemClock _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le mardi 17 mars 2020 à 16:34 -0400, Erik Herz a écrit :
> I have generated a MPEG-TS source with RTP via FFmpeg like so: > > ffmpeg -stream_loop -1 -re -i jamie.mp4 -vcodec mpeg2video -pix_fmt yuv420p -me_method epzs -r 29.97 -g 45 -bf 2 -trellis 2 -cmp 2 -subcmp 2 -s 704x396 -b 2500k -bt 300k -acodec mp2 -ac 2 -ab 192k -ar 44100 -async 1 -y -f rtp_mpegts rtp://239.0.0.1:1234 > > and can play it back with this pipeline: > > gst-launch-1.0 udpsrc multicast-group=239.0.0.1 auto-multicast=true port=1234 ! decodebin name=decoder decoder. ! queue ! audioconvert ! audioresample ! osxaudiosink decoder. ! videoconvert ! autovideosink > > when I try to add a jitterbuffer, it has the same state as above but video does not play: If it plays with the first pipeline, then it's unlikely to be an RTP MP2T payloaded stream. Only RTP streams can play through jitterbuffer. Change you ffmpeg command to produce RTP MP2T payloaded stream. > > Eriks-MacBook-Pro:vma erik$ gst-launch-1.0 udpsrc multicast-group=239.0.0.1 auto-multicast=true port=1234 ! rtpjitterbuffer mode=0 latency=100 ! decodebin name=decoder decoder. ! queue ! audioconvert ! audioresample ! osxaudiosink decoder. ! videoconvert ! autovideosink > Setting pipeline to PAUSED ... > Pipeline is live and does not need PREROLL ... > Got context from element 'autovideosink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\ gldisplaycocoa0"; > Setting pipeline to PLAYING ... > New clock: GstSystemClock > > _______________________________________________ > 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 |
Free forum by Nabble | Edit this page |