hi ppl,
I am trying to use gstreamer to record a live streame(audio and video). I am successful in recording this as an mkv file using matroskamux (h264 +lame). everything works fine able to play with sync but i am not able to seek the file while playing. and my pipeline is here which receives rtp audio video and creates a mkv file : gst-launch-0.10 gstrtpbin name=rtpbin latency=200 udpsrc caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264" port=9000 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtph264depay ! h264parse ! queue ! mux. udpsrc port=9001 ! rtpbin.recv_rtcp_sink_0 udpsrc caps="application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)PCMU" port=9500 ! rtpbin.recv_rtp_sink_1 rtpbin. ! rtppcmudepay ! mulawdec ! audioconvert ! audioresample ! lame ! queue ! mux. udpsrc port=9501 ! rtpbin.recv_rtcp_sink_1 matroskamux name=mux ! queue ! filesink location=test.mkv sync=false -v i am not able to seek it when playing it using any player like vlc i want to know if there is any option we have specify like do-timestamp=true anywhere in my pipeline. i tried this option for udpsrc as well but that didn't work for me. any timestamping method i have to use ? can anybody suggest me how to record my stream to seek it like a regualr mp4 or any other file. (anyway using code/cmdline pipliene). please give me suggestions i will try it. thanks, bujji |
On Fri, 2011-12-09 at 02:16 -0800, sivaits4u wrote:
> I am trying to use gstreamer to record a live streame(audio and video). > I am successful in recording this as an mkv file using matroskamux (h264 > +lame). everything works fine able to play with sync but i am not able to > seek the file while playing. > > and my pipeline is here which receives rtp audio video and creates a mkv > file : > gst-launch-0.10 gstrtpbin name=rtpbin latency=200 udpsrc > caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264" > port=9000 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtph264depay ! h264parse ! > queue ! mux. udpsrc port=9001 ! rtpbin.recv_rtcp_sink_0 udpsrc > caps="application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)PCMU" > port=9500 ! rtpbin.recv_rtp_sink_1 rtpbin. ! rtppcmudepay ! mulawdec ! > audioconvert ! audioresample ! lame ! queue ! mux. udpsrc port=9501 ! > rtpbin.recv_rtcp_sink_1 matroskamux name=mux ! queue ! filesink > location=test.mkv sync=false -v > > i am not able to seek it when playing it using any player like vlc Try passing the -e option to gst-launch. Cheers -Tim _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
hi Tim,
thanks for your reply. it works fine. but i want it do it in receiver pipeline application code(C/python) using gsteamer not as commandline pipeline. i tried to google to get the equivalent option in a pipeline do that but no luck. is there any api or any option available ? please help thanks, bujji |
On Sat, 2011-12-10 at 07:41 -0800, sivaits4u wrote:
> thanks for your reply. it works fine. > but i want it do it in receiver pipeline application code(C/python) using > gsteamer not as commandline pipeline. > i tried to google to get the equivalent option in a pipeline do that but no > luck. > > is there any api or any option available ? Do gst_element_send_event (pipeline, gst_event_new_eos ()) and wait for the EOS message on the pipeline's bus, then shut down the pipeline (set to GST_STATE_NULL). Cheers -Tim _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |