Bug Report Bitrate settings not respected

Xelotath

New Member
Hi, I have very bad upload on my internet connection, about 675kbps. So I set my bitrate to 625, same as I have in xsplit. Quality at 6 same as xsplit too. But when I stream I see the bitrate go up to 850 causing massive frame drops, I tried putting the bitrate lower and/or putting the quality lower but I still have this problem. I really like this program but I need to keep using xsplit for now since I don't want dropped frames. Maybe I'm missing something, if so I'm sorry.
 

micechal

Member
Try to choose the nearest twitch.tv (or whereever are you streaming) server/lowest ping and lower the bitrate to something about 550 - 600. It is set to flusucate about given bitrate, because when you're streaming for example a black screen, it doesn't need that much bitrate. The problem may be your computer not keeping up x264 encoding (it's quite demanding). Have you tried streaming 854x480 @ 30 just to test? What is your processor use when streaming and playing a game? What are your specifications?
 

Xelotath

New Member
I already chose the best twitch server, I stream at 30 fps and a resolution of 768x432, I'll check my CPU use after that but my computer doesn't feel like the problem, I'm only streaming with an emulator. Should I change the buffer size thing, for now I set it to the same as my bitrate. I understand that it fluctuates but the setting is called max bitrate.

Edit: My cpu goes up to 50% when streaming.

Here's my specs:
Code:
Open Broadcaster Software v0.446a - 64bit ( ^ω^)
-------------------------------
CPU Name: Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz
CPU Speed: 2400MHz
Physical Memory:  6143MB Total, 3584MB Free
stepping id: 11, model 15, family 6, type 0, extmodel 0, extfamily 0, HTT 1, logical cores 4, total cores 4
------------------------------------------
Adapter 1
  Video Adapter: ATI Radeon HD 4800 Series
  Video Adapeter Dedicated Video Memory: 527437824
  Video Adapeter Shared System Memory: 2952294400
 

micechal

Member
Your PC is ok. What is the color of square in corner while streaming? Maybe your connection isn't truly 675 kbps, have you tried at speedtest.net?
 

Xelotath

New Member
Yes I just did a speedtest again, the color changes all the time, it's green and when it goes past 700kbps it gets from yellow to orange.
 

micechal

Member
That's weird, because I've got worse PC and connection than your and I was streaming 480p @ 30FPS with bitrate 500. Maybe the twitch server is overloaded, have you tried changing it?

EDIT

You can also play with Network Send Buffer and see if there's any difference. Could you post a log from streaming?
 

Xelotath

New Member
Thanks for the help btw,

Here's my log
Code:
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 768x432
  Output resolution: 768x432
------------------------------------------
Loading up D3D10...
------------------------------------------
Using auxilary audio input: Microphone (High Definition Audio Device)
------------------------------------------
Audio Encoding: AAC
    bitrate: 128
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 768, height: 432
    quality: 6
    preset: veryfast
    i444: no
    max bitrate: 600
    buffer size: 600
------------------------------------------
Total frames rendered: 2462, number of frames that lagged: 0 (0.00%) (it's okay for some frames to lag)
Number of b-frames dropped: 153, Number of p-frames dropped: 0
=====Stream End=======================================================================
 

micechal

Member
Try ticking 'Use Send Buffer' and set it to 32768 or 11680. You don't have to select from drop-down menu, you can type it.
 

Xelotath

New Member
Just tried that (11680) and it made it worse, it was in the red most of the time. The stream was half the lenght of the previous one and had as much dropped frames.

Code:
Send Buffer Size: 11680
=====Stream Start=====================================================================
  Multithreaded optimizations: On
  Base resolution: 768x432
  Output resolution: 768x432
------------------------------------------
Loading up D3D10...
------------------------------------------
Using auxilary audio input: Microphone (High Definition Audio Device)
------------------------------------------
Audio Encoding: AAC
    bitrate: 128
------------------------------------------
Video Encoding: x264
    fps: 30
    width: 768, height: 432
    quality: 6
    preset: veryfast
    i444: no
    max bitrate: 600
    buffer size: 600
------------------------------------------
Total frames rendered: 1944, number of frames that lagged: 0 (0.00%) (it's okay for some frames to lag)
Number of b-frames dropped: 152, Number of p-frames dropped: 0
=====Stream End=======================================================================
 

Xelotath

New Member
I'll wait for him to see this, I have other stuff to do right now. I'll go on IRC later if I need to, thank you for your time!
 

Warchamp7

Forum Admin
It behaves the same Xsplit does, Xsplit just doesn't show you that live information.

A bitrate and buffer of 600 means you will average 600kbps every second, but depending when the buffer is emptied, you have the potential for a quick spike of up to 1200 for a moment (But again, will average out to 600 across the span of a second) if your network can do it

If you change the send buffer size in advanced, choose one of the choices there. The ones micechal suggested are from a previous version
 

anhdvu

Member
If you don't want the bitrate to spike, then set the buffer size much lower. This might cause pixelation in high motion scene though.
The max bitrate here is actually the vbv-maxrate of x264, which is the maximum rate to fill the buffer before the frame gets decoded.
You can read more about x264 ratecontrol here https://trac.handbrake.fr/wiki/VBVRateControl
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Just wanted to drop in and let people know that the bitrate reported on the status bar is an estimate -- it's not always perfectly accurate or anything. If it goes higher than expected for a second, don't pay too much mind to it.
 
Top