<div dir="ltr"><div><div><div>Hi,<br><br></div>Now I'm using this pipeline to have more control on the audio duration:<br><br><span style class="">audiotestsrc</span> <span style class="">samplesperbuffer</span>=8000 <span style class="">num</span>-buffers=<seconds> ! audio/x-raw,rate=8000,channels=1 ! <span style class="">vorbisenc</span> managed=true min-<span style class="">bitrate</span>=32000 <span style class="">bitrate</span>=32000 max-<span style class="">bitrate</span>=32000 ! <span style class="">oggmux</span> ! <span style class="">filesink</span> location=/<span style class="">tmp</span>/<X>seconds.<span style class="">ogg</span><br>
<br></div>Then i generated some files and used <span style class="">oggz</span>-info to check the <span style class="">bitrate</span>:<br><br></div>1 second file:<br><br><div><span style class="">oggz</span>-info -b /<span style class="">tmp</span>/1second.<span style class="">ogg</span> <br>
Content-Duration: 00:00:01.024<br>Content-<span style class="">Bitrate</span>-Average: 48.617 <span style class="">kbps</span><br><br></div><br><div>3 seconds file:<br><br><span style class="">oggz</span>-info -b /<span style class="">tmp</span>/3seconds.<span style class="">ogg</span> <br>
Content-Duration: 00:00:03.008<br>Content-<span style class="">Bitrate</span>-Average: 37.978 <span style class="">kbps</span><br><br><br></div><div>15 seconds file:<br><br></div><div><span style class="">oggz</span>-info -b /<span style class="">tmp</span>/15seconds.<span style class="">ogg</span> <br>
Content-Duration: 00:00:15.008<br>Content-<span style class="">Bitrate</span>-Average: 33.743 <span style class="">kbps</span><br><br><br></div><div>30 seconds:<br></div><div><br><span style class="">oggz</span>-info -b /<span style class="">tmp</span>/30seconds.<span style class="">ogg</span> <br>
Content-Duration: 00:00:30.016<br>Content-<span style class="">Bitrate</span>-Average: 33.205 <span style class="">kbps</span><br><br></div><div><br></div><div>60 seconds:<br><br><span style class="">oggz</span>-info -b /<span style class="">tmp</span>/60seconds.<span style class="">ogg</span> <br>
Content-Duration: 00:01:00.000<br>Content-<span style class="">Bitrate</span>-Average: 32.940 <span style class="">kbps</span><br><br><br></div><div>3600 seconds:<br> <span style class="">oggz</span>-info -b /<span style class="">tmp</span>/3600seconds.<span style class="">ogg</span> <br>
Content-Duration: 01:00:00.000<br>Content-<span style class="">Bitrate</span>-Average: 32.676 <span style class="">kbps</span><br><br></div><div><br></div><div>The bigger the file the closer it seems to be of my desired <span style class="">bitrate</span>, but it never matches the <span style class="">bitrate</span> exactly.<br>
<br></div><div>I checked out the <span style class="">vorbisenc</span> <span style class="">plugin</span>, but it seems to be doing everything correctly. So i tried to use <span style class="">oggenc</span> to do some testing:<br>
<br><span style class="">oggenc</span> --managed --min-<span style class="">bitrate</span> 28 --max-<span style class="">bitrate</span> 28 --<span style class="">bitrate</span> 28 /<span style class="">tmp</span>/1second.<span style class="">wav</span><br>
    File length:  0m 01.0s<br>    Elapsed time: 0m 00.0s<br>    Rate:         30.3509<br>    Average <span style class="">bitrate</span>: 24.9 <span style class="">kb</span>/s<br><br></div><span style class="">oggenc</span> --managed --min-<span style class="">bitrate</span> 28 --max-<span style class="">bitrate</span> 28 --<span style class="">bitrate</span> 28 /<span style class="">tmp</span>/60seconds.<span style class="">wav</span> <br>
    File length:  1m 00.0s<br>    Elapsed time: 0m 01.0s<br>    Rate:         60.5768<br>    Average <span style class="">bitrate</span>: 28.4 <span style class="">kb</span>/s<br><div><br></div><div>With the <span style class="">oggenc</span> generated files <span style class="">oggz</span>-info wont give me the <span style class="">bitrate</span> anymore (when i generate with <span style class="">GStreamer</span> it does).<br>
<br>But checking the file size and the output of "play" the <span style class="">bitrate</span> is still not fixed and depending on the audio duration of the file, it will differ. <br><br></div><div>So the inconsistent behaviour of the <span style class="">CBR</span> configuration seems to be on <span style class="">Vorbis</span> itself, i thought that maybe it did not support <span style class="">CBR</span>, but it seems to support:<br>
<br><a href="http://forum">http://forum</a>.<span style class="">dbpoweramp</span>.com/<span style class="">showthread</span>.<span style class="">php</span>?16924-Why-<span style class="">doesn</span>-t-constant-<span style class="">bitrate</span>-work-with-<span style class="">Ogg</span><br>
<br></div><div>But on the <span style class="">Vorbis</span> documentation i only see the "managed" concept, I'm starting to think that:<br><br></div><div>1 - I don't have a clue of what really is <span style class="">CBR</span> :-).<br>
<br></div><div>2 - <span style class="">Vorbis</span> don't have <span style class="">CBR</span>, only a polite managed mode that will get close to what you want.<br></div><div><br></div><div>I need to be able to predict the size of the audio file that will be generated (before generating it of course :-) based on the duration of the audio (some <span style class="">transcoding</span> will happen), i cant do that with <span style class="">VBR</span>, and it seems that <span style class="">Vorbis</span> wont be the tool that will enable me to do it :-(.<br>
<br></div><div>Can anyone give me any help on this ? It would be deeply appreciated.<br><br></div><div>Best regards,<br></div><div><span style class="">Tiago</span> <span style class="">Katcipis</span><br></div><div><br></div>
<div><br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Feb 14, 2014 at 8:50 PM, Tiago Katcipis <span dir="ltr"><<a href="mailto:katcipis@inf.ufsc.br" target="_blank">katcipis@inf.ufsc.br</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-family:arial,sans-serif;font-size:13px">Hi,</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">I need to use CBR on vorbisenc, but it don't matter how much i set it to be on a fixed bitrate the bitrate is still variable. If i run "file" on the ogg file it does says it has the right bitrate, but when i play it with "play" it have another bitrate (always a little higher than the one configured). Calculating the size manually also indicates the bitrate informed by play, so it seems that it is not respecting the configured bitrate.</div>


<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">For example i run:</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">


gst-launch-1.0 pulsesrc ! audioconvert ! audioresample ! audio/x-raw,rate=8000,channels=1 ! vorbisenc managed=true min-bitrate=28000 bitrate=28000 max-bitrate=28000 ! oggmux ! filesinklocation=/tmp/test.ogg<br></div><div style="font-family:arial,sans-serif;font-size:13px">


<br></div><div style="font-family:arial,sans-serif;font-size:13px">I get:</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px"><div>file /tmp/test.ogg</div>


<div>/tmp/test.ogg: Ogg data, Vorbis audio, mono, 8000 Hz, <28000 ~28000 >28000 bps, created by: Xiph.Org libVorbis I</div></div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">


Its ok, but on play:</div><div style="font-family:arial,sans-serif;font-size:13px"><div>play /tmp/test.ogg</div><div>/tmp/test.ogg:</div><div> File Size: 13.6k     Bit Rate: 35.9k</div></div><div style="font-family:arial,sans-serif;font-size:13px">


<br></div><div style="font-family:arial,sans-serif;font-size:13px">It seems that the bitrate cant be fixed, but i read that vorbis does support CBR, am i missing something ?</div><div style="font-family:arial,sans-serif;font-size:13px">

<br></div><div style="font-family:arial,sans-serif;font-size:13px">Best regards,</div><div style="font-family:arial,sans-serif;font-size:13px">Tiago Katcipis</div></div>
</blockquote></div><br></div>