rtspsrc ! rtph264depay ! mp4mux not working

Chris chris.demots at teamist.net
Tue Sep 25 11:30:26 PDT 2012


I am having zero luck recording h264 from an Axis camera to to a file using
mp4mux. I want to use mp4mux so I can use faststart and because ffmux_mp4
produces poor video. I'm using gstreamer 0.10.25, gst-plugins-bad 0.10.13
(mp4mux), and gstreamer-ffmpeg 0.10.08.

Has anyone gotten this to work?

Using ffmux_mp4 works, but produces video with really bad artifacts during
motion:
gst-launch -e -vm rtspsrc
location="rtsp://axis-camera/axis-media/media.amp?videocodec=h264&streamprofile=test_1"
! rtph264depay byte-stream=false ! capsfilter
caps="video/x-h264,width=704,height=480,framerate=(fraction)25/1" !
ffmux_mp4 name=muxer ! filesink location=/tmp/test1.mp4


The same pipeline with the mp4mux muxer fails:
gst-launch -e -vm rtspsrc
location="rtsp://axis-camera/axis-media/media.amp?videocodec=h264&streamprofile=test_1"
! rtph264depay byte-stream=false ! capsfilter
caps="video/x-h264,width=704,height=480,framerate=(fraction)25/1" ! mp4mux
name=muxer ! filesink location=/tmp/test1.mp4

This results in a "Failed to determine time to mux" error:

. . .
 Got message #113 from element "pipeline0" (async-done): no message details
0:00:00.213694898  9030 0x7fe73c005310 WARN                GST_PADS
gstpad.c:3107:gst_pad_iterate_internal_links_default:<rtpsession0:recv_rtp_src>
Making unsafe iterator
Got message #115 from element "filesink0" (state-changed): GstMessageState,
old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING,
pending-state=(GstState)GST_STATE_VOID_PENDING;
Got message #116 from element "pipeline0" (state-changed): GstMessageState,
old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING,
pending-state=(GstState)GST_STATE_VOID_PENDING;
0:00:00.221826588  9030 0x7fe75800cf90 WARN                   qtmux
gstqtmux.c:1107:gst_qt_mux_add_buffer:<muxer> error: Failed to determine
time to mux.
Got message #117 from element "muxer" (error): GstMessageError,
gerror=(GstGError)NULL, debug=(string)"gstqtmux.c\(1107\):\
gst_qt_mux_add_buffer\ \(\):\
/GstPipeline:pipeline0/GstMP4Mux:muxer:\012Failed\ to\ determine\ time\ to\
mux.";
ERROR: from element /GstPipeline:pipeline0/GstMP4Mux:muxer: Could not
multiplex stream.
Additional debug info:
gstqtmux.c(1107): gst_qt_mux_add_buffer ():
/GstPipeline:pipeline0/GstMP4Mux:muxer:
Failed to determine time to mux.
. . .
Execution ended after 22521367 ns.
. . .
Freeing pipeline ...


Thanks in advance



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/rtspsrc-rtph264depay-mp4mux-not-working-tp4656380.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list