<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:garamond,new york,times,serif;font-size:12pt"><br>Hi,<br><br>I am trying to stream an mp4 file (h264 encoded, no audio) over RTP. When I use the pipeline to play the streamed file at the receiver using xvimagesink, it plays fine. However, when I try to save the same stream to an .mp4 file, an error for lack of library support is given. The pipelines and output are given here:<br><br>-------------------------------------------------------------------------------------------------------------------------------------<br><span style="font-weight: bold;">Sender:</span><br>gst-launch-0.10 -v&nbsp; filesrc location=Filename1.mp4 ! qtdemux ! rtpmp4vpay pt=96 ! udpsink host=127.0.0.1 port=42050 sync=false<br>Setting pipeline to PAUSED ...<br>Pipeline is PREROLLING ...<br>/pipeline0/rtpmp4vpay0.src: caps = application/x-rtp, media=(string)video,
 clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d885dad0a041e1463000001b24c61766335322e32302e30, payload=(int)96, ssrc=(guint)2296541465, clock-base=(guint)2758550644, seqnum-base=(guint)56968<br>/pipeline0/rtpmp4vpay0.sink: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001b001000001b58913000001000000012000c48d885dad0a041e1463000001b24c61766335322e32302e30, width=(int)320, height=(int)240, framerate=(fraction)2997/125<br>/pipeline0/udpsink0.sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d885dad0a041e1463000001b24c61766335322e32302e30, payload=(int)96, ssrc=(guint)2296541465, clock-base=(guint)2758550644, seqnum-base=(guint)56968<br>Pipeline is PREROLLED ...<br>Setting pipeline
 to PLAYING ...<br>New clock: GstSystemClock<br>Got EOS from element "pipeline0".<br>Execution ended after 8642131 ns.<br>Setting pipeline to PAUSED ...<br>Setting pipeline to READY ...<br>/pipeline0/udpsink0.sink: caps = NULL<br>/pipeline0/rtpmp4vpay0.sink: caps = NULL<br>/pipeline0/rtpmp4vpay0.src: caps = NULL<br>/pipeline0/qtdemux0.audio_00: caps = NULL<br>/pipeline0/qtdemux0.video_00: caps = NULL<br>Setting pipeline to NULL ...<br>FREEING pipeline ...<br><br><span style="font-weight: bold;">Receiver:</span><br>gst-launch-0.10 -v&nbsp; udpsrc port=42050 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d885dad0a041e1463000001b24c61766335322e32302e30, payload=(int)96, ssrc=(guint)2271548884, clock-base=(guint)1988216335, seqnum-base=(guint)35136" ! rtpmp4vdepay ! ffdec_mpeg4 ! xvimagesinkmrplus@mhs:~/Desktop/June$
 1e1463000001b24c61766335322e32302e30, payload=(int)96mrplus@mhs:~/Desktop/June$ lock-base=(guint)1988216335, seqnum-base=(guint)35136mrplus@mhs:~/Desktop/June$ sudo gst-launch-0.10 -v&nbsp; udpsrc port=42050 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d885dad0a041e1463000001b24c61766335322e32302e30, payload=(int)96, ssrc=(guint)2271548884, clock-base=(guint)1988216335, seqnum-base=(guint)35136" ! rtpmp4vdepay ! ffmux_mp4 ! filesink location=test9.mp4<br>Setting pipeline to PAUSED ...<br>Pipeline is live and does not need PREROLL ...<br>Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br>/pipeline0/rtpmp4vdepay0.src: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false,
 codec_data=(buffer)000001b001000001b58913000001000000012000c48d885dad0a041e1463000001b24c61766335322e32302e30<br>/pipeline0/rtpmp4vdepay0.sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d885dad0a041e1463000001b24c61766335322e32302e30, payload=(int)96, ssrc=(guint)2271548884, clock-base=(guint)1988216335, seqnum-base=(guint)35136<br>/pipeline0/ffmux_mp40.video_0: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001b001000001b58913000001000000012000c48d885dad0a041e1463000001b24c61766335322e32302e30<br>ERROR: from element /pipeline0/ffmux_mp40: Could not configure supporting library.<br>Additional debug info:<br>gstffmpegmux.c(476): gst_ffmpegmux_collected (): /pipeline0/ffmux_mp40:<br>Failed to write file header - check codec settings<br>Execution ended after 12383494375
 ns.<br>Setting pipeline to PAUSED ...<br>Setting pipeline to READY ...<br>/pipeline0/ffmux_mp40.video_0: caps = NULL<br>/pipeline0/rtpmp4vdepay0.src: caps = NULL<br>/pipeline0/rtpmp4vdepay0.sink: caps = NULL<br>/pipeline0/udpsrc0.src: caps = NULL<br>Setting pipeline to NULL ...<br>FREEING pipeline ...<br>--------------------------------------------------------------------------------------------------------------------------------------------<br><br>I got a somewhat similar problem in a list here:<br><span><a target="_blank" href="http://gstreamer-devel.966125.n4.nabble.com/Saving-a-live-stream-tc972117.html#a972117">http://gstreamer-devel.966125.n4.nabble.com/Saving-a-live-stream-tc972117.html#a972117</a></span><br><br>and applied the same solution using capsfilters as suggested here. Then, the pipeline doesnt end and I dont get any errors but the output file is always 0 bytes (no data) and I have to Ctrl+C to end the pipeline.<br><br>Please help!
 <br>Thanks.<br><br><br><br><br><br><br>gst-launch-0.10 -v&nbsp; udpsrc port=42050 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d885dad0a041e1463000001b24c61766335322e32302e30, payload=(int)96, ssrc=(guint)2271548884, clock-base=(guint)1988216335, seqnum-base=(guint)35136" ! rtpmp4vdepay ! capsfilter caps="video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, codec_data=(buffer)000001b001000001b58913000001000000012000c48d885dad0a041e1463000001b24c61766335322e32302e30, width=(int)320, height=(int)240, framerate=(fraction)2997/125" ! ffmux_mp4 ! filesink location=test9.mp4<br><br><br></div><br>

      </body></html>