Hi,<br><br><div class="gmail_quote">On Tue, May 15, 2012 at 8:43 AM, Rufael Mekuria <span dir="ltr">&lt;<a href="mailto:R.N.Mekuria@cwi.nl" target="_blank">R.N.Mekuria@cwi.nl</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I don&#39;t think its such a good idea to save H.264 to avi, I would recommend trying mp4mux and save to mp4 instead,<br></blockquote><div><br>There is also Matroska:<br><br><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-matroskamux.html">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-matroskamux.html</a><br>
<br>Best regards,<br>Tiago Katcipis<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
hope it helps, with me this works fine.<br>
<br>
best,<br>
<br>
Rufael<br>
<br>
----- Oorspronkelijk bericht -----<br>
Van: &quot;garrett&quot; &lt;<a href="mailto:weaverg@email.arizona.edu">weaverg@email.arizona.edu</a>&gt;<br>
Aan: <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
Verzonden: Dinsdag 15 mei 2012 04:00:28<br>
Onderwerp: Re: How to save incoming h264 stream without re-encoding?<br>
<div class="HOEnZb"><div class="h5"><br>
I&#39;m trying to do the exact same thing. I stumbled upon a heap of unanswered<br>
threads like these on my search, so I&#39;ll bump this one because it&#39;s most<br>
similar to what I want to do.<br>
<br>
I&#39;m trying to transmit H264 video in RTP packets, over UDP and then on the<br>
receiving end reconvert the packets into an H264 stream and both output the<br>
stream with ximagesink and save the h264 stream into a file.<br>
<br>
I can output the live stream to ximagesink just fine. Saving the stream is a<br>
whole different ordeal. No matter what I do, I cannot save a stream to a<br>
file.<br>
<br>
I&#39;ll start by posting my transmit script.<br>
gst-launch-0.10 v4l2src ! queue ! &#39;video/x-raw-yuv,width=640,height=480&#39; !<br>
x264enc bitrate=500 speed-preset=superfast tune=zerolatency ! queue !<br>
rtph264pay ! udpsink host=224.1.1.1 port=5010 auto-multicast=true<br>
<br>
This is my most desired receiving script (it&#39;s supposed to both show the<br>
video in a window and write the video to an avi file):<br>
gst-launch-0.10 udpsrc multicast-group=224.1.1.1 auto-multicast=true<br>
port=5010 caps=&#39;application/x-rtp, media=(string)video,<br>
clock-rate=(int)90000, encoding-name=(string)H264,<br>
sprop-parameter-sets=(string)\&quot;Z0KAHukBQHpCAAAH0AAB1MAIAA\\=\\=\\,aM48gAA\\=\&quot;,<br>
payload=(int)96, ssrc=(uint)<a href="tel:3315029550" value="+13315029550">3315029550</a>, clock-base=(uint)3926529534,<br>
seqnum-base=(uint)45576&#39; ! gstrtpjitterbuffer drop-on-latency=true<br>
latency=500  ! rtph264depay ! tee name=videosrc \<br>
videosrc. ! queue ! ffdec_h264 ! ffmpegcolorspace ! ximagesink sync=false \<br>
videosrc. ! queue ! avimux ! filesink location=video.avi<br>
<br>
Unfortunately that doesn&#39;t work, doesn&#39;t throw any errors, but it doesn&#39;t<br>
bring up the video window nor does it try to write a file. If I take out the<br>
last line (the tee for printing out the file), it does bring up the video<br>
window. If I take out the second to last line (the tee for displaying the<br>
window) it creates the file, but it&#39;s zero bytes in size.<br>
<br>
My scripts do depend on the elements rtph264pay and rtph264depay which are<br>
poorly documented. I thought that perhaps the output of rtph264depay doesn&#39;t<br>
output an h264 format avimux likes. So I ran this script:<br>
gst-launch-0.10 v4l2src ! queue ! &#39;video/x-raw-yuv,width=640,height=480&#39; !<br>
x264enc bitrate=500 speed-preset=superfast tune=zerolatency ! rtph264pay !<br>
rtph264depay ! avimux ! filesink location=video.avi<br>
<br>
Which doesn&#39;t work, it only writes a file of zero bytes large, but if I took<br>
out the &quot;rtph264pay ! rtph264depay !&quot; part, it works fine. But what&#39;s more?<br>
If I add &quot;ffdec_h264 ! ffmpegcolorspace !&quot; between rtph264depay and avimux<br>
it does write a file (albeit a very large file).<br>
<br>
But then if I try to run this script as the receive script (just to try to<br>
write a file):<br>
gst-launch-0.10 udpsrc multicast-group=224.1.1.1 auto-multicast=true<br>
port=5010 caps=&#39;application/x-rtp, media=(string)video,<br>
clock-rate=(int)90000, encoding-name=(string)H264,<br>
sprop-parameter-sets=(string)\&quot;Z0KAHukBQHpCAAAH0AAB1MAIAA\\=\\=\\,aM48gAA\\=\&quot;,<br>
payload=(int)96, ssrc=(uint)<a href="tel:3315029550" value="+13315029550">3315029550</a>, clock-base=(uint)3926529534,<br>
seqnum-base=(uint)45576&#39; ! gstrtpjitterbuffer drop-on-latency=true<br>
latency=500  ! rtph264depay ! ffdec_h264 ! ffmpegcolorspace ! tee<br>
name=videosrc \<br>
videosrc. ! queue ! avimux ! filesink location=video.avi<br>
<br>
It does not work. So what is the deal here? Is there any way to write video<br>
from a h264 stream?<br>
<br>
--<br>
View this message in context: <a href="http://gstreamer-devel.966125.n4.nabble.com/How-to-save-incoming-h264-stream-without-re-encoding-tp1559487p4633660.html" target="_blank">http://gstreamer-devel.966125.n4.nabble.com/How-to-save-incoming-h264-stream-without-re-encoding-tp1559487p4633660.html</a><br>

Sent from the GStreamer-devel mailing list archive at Nabble.com.<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</div></div></blockquote></div><br>