Hi All,<br><br>I want to save the incoming RTP payloaded H.264 video data from a live source to a file. The pipelines I use is<br><br>Sender:<br>gst-launch filesrc location=/home/jyoti/Desktop/h264-aac/alien.mp4 ! qtdemux name=d d. ! queue ! rtph264pay ! udpsink port=5002<br>
<br>Receiver:<br>gst-launch udpsrc caps=&quot;application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)4d4033, sprop-parameter-sets=(string)\&quot;Z01AM5JSAoP2AiAAAAMDACAAAAYR4wZJ\\,aO4CvIA\\=\&quot;, payload=(int)96, ssrc=(guint)529574254, clock-base=(guint)940521219, seqnum-base=(guint)11356&quot; port=5002 ! rtph264depay ! ffmux_mp4 ! queue ! filesink location=~/Desktop/test --gst-debug=*:1<br>
<br>The pipeline gives me the following error:<br>**********************************************************************************************************<br>Setting pipeline to PAUSED ...<br>Pipeline is live and does not need PREROLL ...<br>
Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br>0:00:02.847065223 15058  0x9359fd8 ERROR               ffmpeg :0:: time base not set<br>0:00:02.847607619 15058  0x9359fd8 ERROR               ffmpeg :0:: time base not set<br>
0:00:02.847765092 15058  0x9359fd8 ERROR               ffmpeg :0:: time base not set<br>ERROR: from element /GstPipeline:pipeline0/ffmux_mp4:ffmux_mp40: Could not configure supporting library.<br>Additional debug info:<br>
gstffmpegmux.c(566): gst_ffmpegmux_collected (): /GstPipeline:pipeline0/ffmux_mp4:ffmux_mp40:<br>Failed to write file header - check codec settings<br>Execution ended after 1604133490 ns.<br>Setting pipeline to PAUSED ...<br>
Setting pipeline to READY ...<br>Setting pipeline to NULL ...<br>FREEING pipeline ...<br>**********************************************************************************************************<br>When I did debug the function &quot;gst_ffmpegmux_collected&quot;. I saw that the codec parameters are not set properly in <br>
av_write_header() used in gst_ffmpegmux_collected(). <br>* st-&gt;codec-&gt;time_base.num = 0 and st-&gt;codec-&gt;time_base.den = 1;<br>* And the st-&gt;codec-&gt;width = 0 and st-&gt;codec-&gt;height = 0.<br><br><br>So to just have a quick hack I used the capsfilter between rtph264depay and ffmux_mp4 with video caps from sender, <br>
the pipeline doesn&#39;t quit now but instead throws error messages. And the parameters now are:<br>* st-&gt;codec-&gt;time_base.num = 1 and st-&gt;codec-&gt;time_base.den = 24<br>* And the st-&gt;codec-&gt;width = 320 and st-&gt;codec-&gt;height = 240<br>
<br>Receiver&#39;s pipeline with capsfilter.<br><br>gst-launch udpsrc caps=&quot;application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)4d4033, sprop-parameter-sets=(string)\&quot;Z01AM5JSAoP2AiAAAAMDACAAAAYR4wZJ\\,aO4CvIA\\=\&quot;, payload=(int)96, ssrc=(guint)529574254, clock-base=(guint)940521219, seqnum-base=(guint)11356&quot; port=5002 ! rtph264depay ! capsfilter caps=&quot;video/x-h264, codec_data=(buffer)014d4033ffe10018674d403392520283f6022000000303002000000611e3064901000568ee02bc80, width=(int)320, height=(int)240, framerate=(fraction)24/1&quot; !  ffmux_mp4 ! queue ! filesink location=~/Desktop/test --gst-debug=*:1<br>
<br>****************************************************************************************************************<br>Setting pipeline to PAUSED ...<br>Pipeline is live and does not need PREROLL ...<br>Setting pipeline to PLAYING ...<br>
0:00:00.252624333 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 1 &gt;= 1<br>0:00:00.293548372 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 2 &gt;= 2<br>
0:00:00.335302005 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 3 &gt;= 3<br>0:00:00.376955618 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 4 &gt;= 4<br>
0:00:00.418564944 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 5 &gt;= 5<br>0:00:00.460233384 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 6 &gt;= 6<br>
0:00:00.502093709 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 7 &gt;= 7<br>0:00:00.543625785 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 8 &gt;= 8<br>
0:00:00.585262073 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 9 &gt;= 9<br>0:00:00.626933983 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 10 &gt;= 10<br>
0:00:00.668587406 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 11 &gt;= 11<br>0:00:00.710255640 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 12 &gt;= 12<br>
0:00:00.752176246 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 13 &gt;= 13<br>0:00:00.793557705 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 14 &gt;= 14<br>
0:00:00.835298782 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 15 &gt;= 15<br>0:00:00.877036479 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 16 &gt;= 16<br>
0:00:00.877128406 15031  0x857e438 ERROR               ffmpeg :0:: error, non monotone timestamps 16 &gt;= 16<br>****************************************************************************************************************<br>
<br>I would be very greatful if someone can suggest me on how to do. <br><br>Thanks in advance<br>