record H264 stream use multifilesink

Michelle Guo guolulu_318 at
Mon Nov 6 10:20:15 UTC 2017

Hi Nicolas

Thank you for your help before, I solved my problem successfully. In the
record branch, I use the default muxer instead of matroskamux, and save the
file as *.mp4 instead of *.mkv, then, these two branches can work both well
without mosaic. 

The pipeline is like this:
    gst-launch-1.0 rtpbin name=rtpbin \ 
port=5000 ! queue ! rtpbin.recv_rtp_sink_0  rtpbin. ! rtph264depay ! tee 
 name=teevideo teevideo. ! queue ! vpudec ! overlaysink async=false \ 
 teevideo. ! queue ! 
"video/x-h264,width=1024,height=768,framerate=(fraction)25/1" ! 
splitmuxsink location="/../data/save%d.mp4" max-files=300
max-size-time=10000000000 &

Recently, I find a new problem. The last mp4 file is unplayable, I think
maybe because the splitmuxsink is not be closed. If I use C programe to
explain this pipeline, I use
 "gst_object_unref(GST_OBJECT(m_pipeline));" to close the pipeline, and I
hope the splitmuxsink element can be closed by this way, however, the last
mp4 file is still unplayable.

I hope you can give me some advice to close splitmuxsink element and make
the last mp4 file in the playable state. Thank you so much!


Sent from:

More information about the gstreamer-devel mailing list