<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<font size="-1"><font face="Helvetica, Arial, sans-serif">Okay for the
OGG packaging, it make sense, i will compile it that way to reduce the
frames "aggregation".<br>
<br>
In your opinion, for low latency, wich should be the right server
option?<br>
<br>
Other thing that i've noticed is that for static images (i.e) a static
bitmap on every frame (with these options), the bitrate does not
decreased (if image does not change, bitrate should be near 0... It
occours also with a high key frame interval)...<br>
<br>
Thanks a lot,<br>
Tiago<br>
<br>
</font></font><br>
Gregory Maxwell wrote:
<blockquote
 cite="mid:e692861c1001060653u46fecc49o60ec3c6dacfac866@mail.gmail.com"
 type="cite">
  <pre wrap="">On Wed, Jan 6, 2010 at 1:34 AM, iMDT - Tiago Jacobs <a class="moz-txt-link-rfc2396E" href="mailto:tiago@imdt.com.br">&lt;tiago@imdt.com.br&gt;</a> wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Thanks for your response.
I made some testing with "live" streaming.

I used this very basic command line:

ffmpeg2theora /dev/video0  -f video4linux2 --inputfps 12 -x 352 -y 288 -A 32
-V 500 -K 2  -d 1 -o - | oggfwd localhost 8000 hackme /teste.ogv

Warning: could not set desired buffer delay of 1, using 12 instead.

This message is generated by :
    </pre>
  </blockquote>
  <pre wrap=""><!---->[snip]

Buffer delay does not do what you think it does. It sets the
constraint interval for rate control in frames, it does not directly
influence the delay of theora. The delay of theora is one frame.

  </pre>
  <blockquote type="cite">
    <pre wrap="">It seems that buf_delay is set by th_encode_ctl...
The lower "latency" i got was 12seconds... Am i missing something?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Yes, you're missing that icecast isn't at all designed for low latency
streaming, that if you need low latency for ogg low latency streaming
doesn't generally work over tcp, and that by default most ogg tools
pack multiple frames into a single ogg page when they can to reduce
framing overhead.  You've also said nothing of your client software,
so I have no idea how much buffering it is performing.

You could change ffmpeg2theora to only insert a single frame per ogg
page easily enough.

Cutting
            if (info-&gt;v_pkg&gt;22 &amp;&amp; ogg_stream_flush(&amp;info-&gt;to, &amp;og)) {
and
            if (info-&gt;a_pkg&gt;22 &amp;&amp; ogg_stream_flush(&amp;info-&gt;vo, &amp;og)) {

in theorautil.c down to 1 should be enough.

  </pre>
  <blockquote type="cite">
    <pre wrap="">Other thing that i've noticed is that for static images (i.e) a static
bitmap on every frame (with these options), the bitrate does not have "d
ffmpeg2theora /dev/video0  -f video4linux2 --inputfps 12 -x 352 -y 288 -A 32
-V 500 -K 2  -d 1 -o - | oggfwd localhost 8000 hackme /teste.ogv
    </pre>
  </blockquote>
  <pre wrap=""><!---->
You appear to have been cut off here.
  </pre>
</blockquote>
</body>
</html>