Splitmuxsink cannot create multiple files when using it with rtspsrc and
omxh264dec. Pipeline 1: (Create only 1 file with 46KB) gst-launch-1.0 rtspsrc location=rtsp://192.168.1.127:8000/Streaming/Channels/102 protocols=4 latency=0 name=myrtsp drop-on-latency=true user-id=admin user-pw=admin myrtsp. ! capsfilter caps=application/x-rtp,media=video ! rtph264depay ! tee name=t ! h264parse ! omxh264dec ! appsink sync=true t. ! queue ! h264parse ! splitmuxsink location=./%d.h264 async-handling=true name=filesink max-size-byte=2000000 max-size-time=2000000000 It cannot create multiple file. But when I remove "/Streaming/Channels/102", it can create multiple file: Pipeline 2: (Can create multiple file) gst-launch-1.0 rtspsrc location=rtsp://192.168.1.127:8000/ protocols=4 latency=0 name=myrtsp drop-on-latency=true user-id=admin user-pw=admin myrtsp. ! capsfilter caps=application/x-rtp,media=video ! rtph264depay ! tee name=t ! h264parse ! omxh264dec ! appsink sync=true t. ! queue ! h264parse ! splitmuxsink location=./%d.h264 async-handling=true name=filesink max-size-byte=2000000 max-size-time=2000000000 I also tried with avdec_h264: It can create multiple file: Pipeline 3: (Can create multiple file) gst-launch-1.0 rtspsrc location=rtsp://192.168.1.127:8000/Streaming/Channels/102 protocols=4 latency=0 name=myrtsp drop-on-latency=true user-id=admin user-pw=admin myrtsp. ! capsfilter caps=application/x-rtp,media=video ! rtph264depay ! tee name=t ! h264parse ! avdec_h264 ! appsink sync=true t. ! queue ! h264parse ! splitmuxsink location=./%d.h264 async-handling=true name=filesink max-size-byte=2000000 max-size-time=2000000000 Is there any wrong with tee when connect with splitmuxsink? I found that buffer which was sent to downstream is invalid PTS (function handle_mq_input() in gstmiltifilesink.c). So, it will assign timestamp to DTS. I am still investigating this problem. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I am confuse that pipline works fine if I use main stream: 101
gst-launch-1.0 rtspsrc location=rtsp://192.168.1.127:8000/Streaming/Channels/*101* protocols=4 latency=0 name=myrtsp drop-on-latency=true user-id=admin user-pw=admin myrtsp. ! capsfilter caps=application/x-rtp,media=video ! rtph264depay ! tee name=t ! h264parse ! omxh264dec ! appsink sync=true t. ! queue ! h264parse ! splitmuxsink location=./%d.h264 async-handling=true name=filesink max-size-byte=2000000 max-size-time=2000000000 Substream 102 may not provide timestamp? I wonder that omxh264 is not provided timestamp and it will set timestamp itself: line 2875 (omx/gstomxvideodec.c). Is it effect to buffer of upstream? GST_OMX_SET_TICKS (buf->omx_buf->nTimeStamp, G_GUINT64_CONSTANT (0)); But, before decode video, data was split by "tee". I also checked log of avdec_h264, *the frame does not have pts*. And output of decoded frame in avvidec has pts: libav gstavviddec.c:1583:gst_ffmpegviddec_video_frame:<avdec_h264-0>[00m pts 2502232037 duration 100000000 libav gstavviddec.c:1585:gst_ffmpegviddec_video_frame:<avdec_h264-0>[00m picture: pts 0 -- 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 |