Comment 3 for bug 1097610

Revision history for this message
Lem (lem-jjr) wrote :

Soundconverter 2.1.2, in gstreamer.py, line 668 and 669:

def add_opus_encoder(self):
        return 'opusenc bitrate=%s cbr=false ! oggmux' % (self.opus_quality * 1000)

Adding cbr=false seemed to result in a different output.

Encoded on Ubuntu 13.10 (unsure whether soundconverter 2.1.2 from source is using gstreamer 0.10 or 1.0), before adding cbr=false:
$ opusinfo 03\ -\ North\ Bound\ \(1\).opus
Processing file "03 - North Bound (1).opus"...

New logical stream (#1, serial: 7dc771f2): type opus
WARNING: Implausibly low preskip in Opus stream (1)
Encoded with Encoded with GStreamer Opusenc
User comments section follows...
 TITLE=North Bound
 ARTIST=Tony O'Connor
 ALBUM=Seashore Sunrise
 DISCNUMBER=1
 DATE=1991-01-01
 TRACKNUMBER=3
 TRACKTOTAL=6
 GENRE=New Age
 DESCRIPTION=EAC FLAC -8
 COMMENT=EAC FLAC -8
Opus stream 1:
 Pre-skip: 0
 Playback gain: 0 dB
 Channels: 2
 Original sample rate: 48000Hz
 Packet duration: 20.0ms (max), 20.0ms (avg), 20.0ms (min)
 Page duration: 260.0ms (max), 259.9ms (avg), 120.0ms (min)
 Total data length: 5129508 bytes (overhead: 1.26%)
 Playback length: 5m:16.539s
 Average bitrate: 129.6 kb/s, w/o overhead: 128 kb/s (hard-CBR)
Logical stream 1 ended

After adding cbr=false:

$ opusinfo 03\ -\ North\ Bound\ \(2\).opus
Processing file "03 - North Bound (2).opus"...

New logical stream (#1, serial: 658e5e51): type opus
WARNING: Implausibly low preskip in Opus stream (1)
Encoded with Encoded with GStreamer Opusenc
User comments section follows...
 TITLE=North Bound
 ARTIST=Tony O'Connor
 ALBUM=Seashore Sunrise
 DISCNUMBER=1
 DATE=1991
 TRACKNUMBER=3
 TRACKTOTAL=6
 GENRE=New Age
 DESCRIPTION=EAC FLAC -8
 COMMENT=EAC FLAC -8
Opus stream 1:
 Pre-skip: 0
 Playback gain: 0 dB
 Channels: 2
 Original sample rate: 48000Hz
 Packet duration: 20.0ms (max), 20.0ms (avg), 20.0ms (min)
 Page duration: 280.0ms (max), 261.2ms (avg), 220.0ms (min)
 Total data length: 5145176 bytes (overhead: 1.26%)
 Playback length: 5m:16.539s
 Average bitrate: 130 kb/s, w/o overhead: 128.4 kb/s
Logical stream 1 ended

However using opusenc (opus-tools 0.1.8) with --bitrate=128, I get a different file again:
$ opusinfo 03\ -\ North\ Bound.flac.opus
Processing file "03 - North Bound.flac.opus"...

New logical stream (#1, serial: 126ed0e5): type opus
Encoded with libopus 1.1
User comments section follows...
 ENCODER=opusenc from opus-tools 0.1.8
 ENCODER_OPTIONS=--bitrate 128
 TITLE=North Bound
 ARTIST=Tony O'Connor
 ALBUM=Seashore Sunrise
 DISCNUMBER=1
 DATE=1991
 TRACKNUMBER=03
 TRACKTOTAL=06
 GENRE=New Age
 DESCRIPTION=EAC FLAC -8
 COMMENT=EAC FLAC -8
Opus stream 1:
 Pre-skip: 356
 Playback gain: 0 dB
 Channels: 2
 Original sample rate: 44100Hz
 Packet duration: 20.0ms (max), 20.0ms (avg), 20.0ms (min)
 Page duration: 1000.0ms (max), 998.6ms (avg), 560.0ms (min)
 Total data length: 5431593 bytes (overhead: 0.763%)
 Playback length: 5m:16.533s
 Average bitrate: 137.3 kb/s, w/o overhead: 136.2 kb/s
Logical stream 1 ended

Anyway, the different size/bitrate files might be due to opus version. But, was it really that simple to just add cbr=false?