So,
I am trying to decode a TS received over an udpsrc. When using decodebin, I'm able to do so, but i wish to create the entire pipeline, declaring the decoders myself. I am pretty sure I am missing something, but I can't figure out what element I'm missing. *The following pipeline does decode and play the TS correctly:* $ gst-launch-1.0 udpsrc port=7000 do-timestamp=true ! decodebin name=d ! queue ! videoconvert ! videorate ! video/x-raw,framerate=30/1 ! glimagesink d. ! queue ! audioconvert ! pulsesink *On the other hand, the pipeline below does not work at all:* $ gst-launch-1.0 udpsrc port=7000 do-timestamp=true ! tsdemux name=d ! h264parse ! avdec_h264 ! videoconvert ! videorate ! video/x-raw,framerate=30/1 ! autovideosink d. ! aacparse ! avdec_aac ! audioconvert ! autoaudiosink *As a result of the latter pipeline, I get a frozen image, no audio and the following messages:* Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock WARNING: from element /GstPipeline:pipeline0/GstTSDemux:d: Delayed linking failed. Additional debug info: ./grammar.y(506): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstTSDemux:d: failed delayed linking some pad of GstTSDemux named d to some pad of GstAacParse named aacparse0 Redistribute latency... Redistribute latency... ------- And it stays that way until I cancel the execution. *I am supposedly working with the correct parsers, as we can see with gst-discoverer-1.0:* $ gst-discoverer-1.0 udp://192.168.1.109:7000 Analyzing udp://192.168.1.109:7000 Done discovering udp://192.168.1.109:7000 Topology: container: MPEG-2 Transport Stream audio: MPEG-4 AAC audio: MPEG-4 AAC audio: MPEG-4 AAC audio: MPEG-4 AAC video: H.264 Properties: Duration: 99:99:99.999999999 Seekable: no Tags: audio codec: MPEG-4 AAC bitrate: 484875 minimum bitrate: 257625 maximum bitrate: 257625 video codec: H.264 ------------------------------- Thanks, Arthur -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
You are missing the rtp depayloader:
-- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thank you for the reply!
As you've suggested, I have tried with rtp depay. It does not open any window to display the image and the audio doesn't work as well, but it does not give me any errors. When I run gst-launch with the verbose option, it does give me some messages, but I don't really know what they mean. *Here is the pipeline I've created:* $ gst-launch-1.0 udpsrc port=7000 "caps=application/x-rtp,media=(string)video,clock-rate=(int)90000" ! rtpbin ! rtpmp2tdepay ! tsdemux emit-stats=true name=demux ! queue ! h264parse ! avdec_h264 ! autovideosink demux. ! queue ! aacparse ! avdec_aac ! autoaudiosink -v *Here is the output:* Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... /GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps = "application/x-rtp\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000" /GstPipeline:pipeline0/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_sink_0.GstProxyPad:proxypad2: caps = "application/x-rtp\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000" /GstPipeline:pipeline0/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:recv_rtp_src: caps = "application/x-rtp\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000" /GstPipeline:pipeline0/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:sink: caps = "application/x-rtp\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000" /GstPipeline:pipeline0/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:recv_rtp_sink: caps = "application/x-rtp\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000" /GstPipeline:pipeline0/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_sink_0: caps = "application/x-rtp\,\ media\=\(string\)video\,\ clock-rate\=\(int\)90000" Setting pipeline to PLAYING ... New clock: GstSystemClock /GstPipeline:pipeline0/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0: stats = "application/x-rtp-session-stats\,\ rtx-drop-count\=\(uint\)0\,\ sent-nack-count\=\(uint\)0\,\ recv-nack-count\=\(uint\)0\,\ source-stats\=\(GValueArray\)NULL\,\ rtx-count\=\(uint\)0\;" /GstPipeline:pipeline0/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0: stats = "application/x-rtp-session-stats\,\ rtx-drop-count\=\(uint\)0\,\ sent-nack-count\=\(uint\)0\,\ recv-nack-count\=\(uint\)0\,\ source-stats\=\(GValueArray\)NULL\,\ rtx-count\=\(uint\)0\;" /GstPipeline:pipeline0/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0: stats = "application/x-rtp-session-stats\,\ rtx-drop-count\=\(uint\)0\,\ sent-nack-count\=\(uint\)0\,\ recv-nack-count\=\(uint\)0\,\ source-stats\=\(GValueArray\)NULL\,\ rtx-count\=\(uint\)0\;" /GstPipeline:pipeline0/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0: stats = "application/x-rtp-session-stats\,\ rtx-drop-count\=\(uint\)0\,\ sent-nack-count\=\(uint\)0\,\ recv-nack-count\=\(uint\)0\,\ source-stats\=\(GValueArray\)NULL\,\ rtx-count\=\(uint\)0\;" ------ It keeps sending that message every couple of seconds until I cancel the execution. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Sorry for double posting, but I've still not managed to get a pipeline to
work, does anyone else have an idea of why it is not working? -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
When I was trying to replace decodebin with the equivalent sub-components to
transcode a .ts file, I had to get very specific by placing caps between queue and h264parse, and also between h264parse and avdec_h264. Your source, of course, will be different from mine, but these are the caps I added : ... ! queue \ ! video/x-h264,stream-format=byte-stream,alignment=nal,interlace-mode=interleaved \ ! h264parse \ ! video/x-h264,format=byte-stream,alignment=au,width=1920,framerate=30/1 \ ! avdec_h264 \ ! nvvidconv \ ... -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |