Bug Report Audio bitrate capped at 160kbps / Low audio quality

Lapppy

Member
I've noticed while using OBS-MP that it seems like the audio quality is lower when compared to the regular OBS.

After a bit of experimentation... it turns out that even when I set the audio bitrate to 320kbps, the output is actually 160kbps and it is reported in the log file as 160kbps. Setting the bitrate lower (ex. 64kbps) works fine.

Even though, Im pretty sure the default audio bitrate in OBS is 128kbps yet it sounds way better than 160kbps in OBS-MP. Maybe there is more to my audio issues...?

Code:
16:37:33: OBS 0.10.1 (64bit, windows)
16:37:33: CPU Name: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
16:37:33: CPU Speed: 3592MHz
16:37:33: Physical Cores: 4, Logical Cores: 8
16:37:33: Physical Memory: 12193MB Total, 10306MB Free
16:37:33: Windows Version: 6.2 Build 9200
16:37:33: audio settings reset:
    samples per sec: 44100
    speakers:        2
    buffering (ms):  1000

16:37:33: ---------------------------------
16:37:33: Initializing D3D11..
16:37:33: Available Video Adapters:
16:37:33:     Adapter 0: NVIDIA GeForce GTX 645
16:37:33:     Adapter 1: Intel(R) HD Graphics 4600
16:37:33: Loading up D3D11 on adapter NVIDIA GeForce GTX 645 (0)
16:37:33: D3D11 loaded sucessfully, feature level used: 45056
16:37:34: video settings reset:
    base resolution:   1920x1080
    output resolution: 1920x1080
    fps:               30000/1001
    format:            I444
16:37:34: No blackmagic support
16:37:34: Failed to start search for DeckLink devices
16:37:34: output 'simple_stream' (rtmp_output) created
16:37:34: output 'simple_file_output' (flv_output) created
16:37:34: encoder 'simple_h264' (obs_x264) created
16:37:34: encoder 'simple_aac' (ffmpeg_aac) created
16:37:34: service 'default_service' (rtmp_common) created
16:37:34: WASAPI: Device 'Speakers / Headphones (IDT High Definition Audio CODEC)' initialized
16:37:34: source 'Desktop Audio' (wasapi_output_capture) created
16:37:34: WASAPI: Device 'Desktop Microphone (Cinema - Microsoft LifeCam.)' initialized
16:37:34: source 'Mic/Aux' (wasapi_input_capture) created
16:37:34: source 'minecraft' (scene) created
16:37:34: source 'Camera Placement Layer' (image_source) created
16:37:34: source 'Camera' (dshow_input) created
16:37:34: source 'Display Capture' (monitor_capture) created
16:37:34: source 'rs' (scene) created
16:37:34: source 'Game Capture' (game_capture) created
16:37:34: Camera: Using interval 333666
16:37:35: Update check: latest version is: 0.10.0
16:38:48: [x264 encoder: 'simple_h264'] preset: veryfast
16:38:48: [x264 encoder: 'simple_h264'] profile: main
16:38:48: [x264 encoder: 'simple_h264'] settings:
    bitrate:     2500
    buffer size: 2500
    fps_num:     30000
    fps_den:     1001
    width:       1920
    height:      1080
    keyint:      59
    cbr:         on
16:38:48: Using ffmpeg "aac" aac encoder
16:38:48: FFmpeg AAC: bitrate: 160, channels: 2
16:38:48: [flv output: 'simple_file_output'] Writing FLV file 'C:\Users\Jono\Videos/2015-05-21 16-38-48.flv'...
16:40:51: [flv output: 'simple_file_output'] FLV file output complete
16:40:51: Output 'simple_file_output': stopping
16:40:51: Output 'simple_file_output': Total frames: 3676
16:40:51: Output 'simple_file_output': Number of skipped frames: 0 (0%)
16:40:56: [x264 encoder: 'simple_h264'] settings:
    bitrate:     2500
    buffer size: 2500
    fps_num:     30000
    fps_den:     1001
    width:       1920
    height:      1080
    keyint:      59
    cbr:         on
16:40:56: [x264 encoder: 'simple_h264'] settings:
    bitrate:     2500
    buffer size: 2500
    fps_num:     30000
    fps_den:     1001
    width:       1920
    height:      1080
    keyint:      59
    cbr:         on
16:40:56: [x264 encoder: 'simple_h264'] preset: veryfast
16:40:56: [x264 encoder: 'simple_h264'] profile: main
16:40:56: [x264 encoder: 'simple_h264'] settings:
    bitrate:     2500
    buffer size: 2500
    fps_num:     30000
    fps_den:     1001
    width:       1920
    height:      1080
    keyint:      59
    cbr:         on
16:40:56: warning: 2 frames left in the queue on closing
16:40:56: Using ffmpeg "aac" aac encoder
16:40:56: FFmpeg AAC: bitrate: 160, channels: 2
16:40:56: [flv output: 'simple_file_output'] Writing FLV file 'C:\Users\Jono\Videos/2015-05-21 16-40-56.flv'...
16:41:03: [flv output: 'simple_file_output'] FLV file output complete
16:41:03: Output 'simple_file_output': stopping
16:41:03: Output 'simple_file_output': Total frames: 198
16:41:03: Output 'simple_file_output': Number of skipped frames: 0 (0%)
16:41:05: service 'default_service' destroyed
16:41:05: encoder 'simple_h264' destroyed
16:41:05: encoder 'simple_aac' destroyed
16:41:05: warning: 2 frames left in the queue on closing
16:41:05: output 'simple_stream' destroyed
16:41:05: output 'simple_file_output' destroyed
16:41:05: source 'Desktop Audio' destroyed
16:41:05: WASAPI: Device 'Speakers / Headphones (IDT High Definition Audio CODEC)' Terminated
16:41:05: source 'Mic/Aux' destroyed
16:41:05: WASAPI: Device 'Desktop Microphone (Cinema - Microsoft LifeCam.)' Terminated
16:41:05: Freeing OBS context data
16:41:05:     6 user source(s) were remaining
16:41:05: source 'minecraft' destroyed
16:41:05: source 'Camera Placement Layer' destroyed
16:41:05: source 'Game Capture' destroyed
16:41:05: source 'rs' destroyed
16:41:05: source 'Display Capture' destroyed
16:41:05: source 'Camera' destroyed
16:41:05: Number of memory leaks: 0
 

Gol D. Ace

Member
OBS MP will strictly apply the recommended settings for the service you have chosen under Stream even when just recording when the output mode it set to simple.

Example Twitch:

Code:
        "recommended": {
            "keyint": 2,
            "cbr": true,
            "profile": "main",
            "max video bitrate": 3500,
            "max audio bitrate": 160
        }

But you can avoid this.

Under Output > Output Mode = Advanced

In the Streaming tab make sure that "Enforce streaming service encoder settings" is turned off (otherwise you will get the 160 cap again)
Also set other video settings here like bitrate and co.

Now go into the recording tab.
Leave Type set to Standard and Encoder set to (Use stream encoder)
Select your output path.

For the Audio Bitrate go to the Audio Tab and change the bitrate here.

You should now be able to record with higher audio bitrate.


Also OBS MP is using a different audio encoder.
 
Last edited:

Lapppy

Member
Aha! Thanks, that seems to have solved the audio quality issue for me! Time to move over to OBS-MP for sure. All it really needs is profiles and scene switcher. :)

Though, I don't really understand why forcing streaming service settings also affects local recording, even when you tell OBS to not use the stream encoder. It feels like it would create more problems than it solves, since the whole reason for forcing those settings is for streaming, not recording. There's probably some sort of reason for that, however.
 

Gol D. Ace

Member
There is with simple output yes.

If you would separate the video encoders (audio encoder doesn't take that much performance) you would have 2 encoders running when you press Start Streaming and Start Recording doubling the cpu load.
 

Sapiens

Forum Moderator
Though, I don't really understand why forcing streaming service settings also affects local recording, even when you tell OBS to not use the stream encoder.

It doesn't. In simple mode you don't have the option at all, it's just on and matches its settings up to the service you selected under Settings > Streaming. In advanced mode the option doesn't affect local recordings regardless of whether you use the stream encoder or a second x264 with different settings. You do need to configure a second track and assign it to the local recording, however. If you try to use the audio track for the stream then yeah it's going to capped.

Edit: Overhauled my original post which was dumb.
 
Last edited:

Gol D. Ace

Member
He wasn't before I told him @Sapiens


Code:
16:37:34: output 'simple_stream' (rtmp_output) created
16:37:34: output 'simple_file_output' (flv_output) created
16:37:34: encoder 'simple_h264' (obs_x264) created
16:37:34: encoder 'simple_aac' (ffmpeg_aac) created
16:37:34: service 'default_service' (rtmp_common) created


EDIT: Nevermind. I think he was talking about the setting after my advice. And yes it makes no sense to me too why the x264 Advanced Output gets affected by this setting.
 
Top