<meta http-equiv="content-type" content="text/html; charset=utf-8"><div>Hi Ronald, </div><br><div class="gmail_quote">On Fri, Apr 15, 2011 at 12:12 PM, Ronald S. Bultje <span dir="ltr">&lt;<a href="mailto:rsbultje@gmail.com">rsbultje@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi,<br>
<br>
(This may fit better on -tools.)<br>
<div><div></div><div class="h5"><br>
On Fri, Apr 15, 2011 at 2:55 AM, Jieyun Fu &lt;<a href="mailto:jieyunfu@mit.edu">jieyunfu@mit.edu</a>&gt; wrote:<br>
&gt; One short version of the question: is there anyway to let Libav write to a<br>
&gt; RTMP server directly? I only know how to write to a file on the disk, from<br>
&gt; output-example.c.<br>
&gt;<br>
&gt; A very slightly longer version of the question: I have a video generator<br>
&gt; that generates the video using libav, and is able to write the video into a<br>
&gt; file on the disk. Now, I need to use ffmpeg to send this file to a RTMP<br>
&gt; server simultaneously, when this video is being generated.<br>
&gt;<br>
&gt; One way to solve this problem, is to let this video generator write the<br>
&gt; video to say, output.flv, and then while this video is still being written,<br>
&gt; fork a process from the video generator that executes:<br>
&gt;<br>
&gt;  ffmpeg -re -i output.flv -f flv rtmp://server/output/ ( just an example,<br>
&gt; skipped many parameters)<br>
&gt;<br>
&gt; But is there anyway to use piping to avoid writing to the disk and then call<br>
&gt; ffmpeg, but let ffmpeg takes my video generator as its input directly?<br>
<br>
</div></div>Why not just output to rtmp:// directly then?<br>
<br>
Ronald<br>
_______________________________________________<br>
libav-api mailing list<br>
<a href="mailto:libav-api@libav.org">libav-api@libav.org</a><br>
<a href="https://lists.libav.org/mailman/listinfo/libav-api" target="_blank">https://lists.libav.org/mailman/listinfo/libav-api</a><br>
</blockquote></div><br><div><br></div><div>Thank you very much for your reply. ffmpeg binaries has an option &quot;-re&quot;, in my intuitive and unprofessional understanding, this means encode the video to rtmp:// at a nearly real-time rate. Aka if the video lasts 10 seconds, ffmpeg will deliberately take 10 seconds to stream this video to rtmp://. Is there anyway for libav to achieve that? </div>

<div><br></div><div>Thank you again. BTW, what&#39;s the difference between libav-api and libav-tools?</div>