After many tests I gave up. Seems like there is nothing I can do to improve my stream fps. I want it to be 720p @60fps (game is dota2). I play at 1920x1080 but stream is downscaled to 1280x720.
When I stream, in game fps is > 60 but stream fps looks like hardly 30 (in fights, when many things happen).
My upload is around 8mb (tested on testmy.net on 33mb segments few times so im sure).
Here is what I already tried:
-lower/higher bitrate -> doesnt matter
-quality 1 / quality 10 / cfr=21 -> all options doesnt matter when comes to fps
-changing european twitch servers -> all servers similar results
-changing x264 to superfast -> doesnt matter
- cbr on / off -> doesnt matter
- cfr on / off -> doesnt matter
The only thing that worked was when I changed in game resolution to 1280x720 and played in small window (but thats unacceptable for me). So, is there anything else I can do to solve this problem? It just seems weird to me that in game fps is so high and stream is so low :/
I post here link to one of my tests to proof that in game fps is > 60 (you can look at netgraph) and stream looks like less than 30.
http://en.twitch.tv/eyeofroshan/b/364066730
also here is log from last recordings:
When I stream, in game fps is > 60 but stream fps looks like hardly 30 (in fights, when many things happen).
My upload is around 8mb (tested on testmy.net on 33mb segments few times so im sure).
Here is what I already tried:
-lower/higher bitrate -> doesnt matter
-quality 1 / quality 10 / cfr=21 -> all options doesnt matter when comes to fps
-changing european twitch servers -> all servers similar results
-changing x264 to superfast -> doesnt matter
- cbr on / off -> doesnt matter
- cfr on / off -> doesnt matter
The only thing that worked was when I changed in game resolution to 1280x720 and played in small window (but thats unacceptable for me). So, is there anything else I can do to solve this problem? It just seems weird to me that in game fps is so high and stream is so low :/
I post here link to one of my tests to proof that in game fps is > 60 (you can look at netgraph) and stream looks like less than 30.
http://en.twitch.tv/eyeofroshan/b/364066730
also here is log from last recordings:
Code:
Open Broadcaster Software v0.467a (test 11) - 32bit (´・ω・`)
-------------------------------
CPU Name: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
CPU Speed: 3392MHz
Physical Memory: 4095MB Total, 4095MB Free
stepping id: 7, model 10, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
Windows Version: 6.1 Build 7600
Aero is Disabled
------------------------------------------
Adapter 1
Video Adapter: NVIDIA GeForce GTX 550 Ti
Video Adapter Dedicated Video Memory: 1025179648
Video Adapter Shared System Memory: 3221385216
=====Stream Start=====================================================================
Multithreaded optimizations: Off
Base resolution: 1920x1080
Output resolution: 1280x720
------------------------------------------
Loading up D3D10...
Playback device Default
------------------------------------------
Using desktop audio input: Głośniki (Realtek High Definition Audio)
------------------------------------------
Audio Encoding: AAC
bitrate: 192
Using graphics capture
Using bitmap image
Using bitmap image
Using custom x264 settings: "crf=21"
CBR HRD requires constant bitrate
using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
profile High, level 3.2
------------------------------------------
Video Encoding: x264
fps: 45
width: 1280, height: 720
preset: veryfast
CBR: yes
CFR: no
max bitrate: 2400
------------------------------------------
SharedTexCapture hooked
Using RTMP service: Twitch / Justin.tv
Server selection: rtmp://live-ams.justin.tv/app
bufferTime: 2059, outputRateWindowTime: 1000, dropThreshold: 2559
Total frames rendered: 1265, number of frames that lagged: 486 (38.42%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
frame I:5 Avg QP:20.47 size: 97252
frame P:479 Avg QP:22.68 size: 12776
frame B:730 Avg QP:26.79 size: 1400
consecutive B-frames: 18.3% 3.0% 4.7% 74.1%
mb I I16..4: 13.7% 30.5% 55.9%
mb P I16..4: 3.8% 5.4% 1.2% P16..4: 22.8% 7.2% 3.5% 0.0% 0.0% skip:56.1%
mb B I16..4: 0.2% 0.2% 0.0% B16..8: 4.3% 1.3% 0.3% direct: 1.8% skip:91.9% L0:37.3% L1:50.6% BI:12.2%
8x8 transform intra:49.8% inter:35.1%
coded y,uvDC,uvAC intra: 60.0% 55.1% 20.8% inter: 6.4% 7.6% 0.9%
i16 v,h,dc,p: 26% 29% 31% 15%
i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 20% 35% 3% 7% 4% 7% 4% 8%
i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 21% 21% 8% 8% 6% 8% 5% 8%
i8c dc,h,v,p: 53% 25% 16% 7%
Weighted P-Frames: Y:0.0% UV:0.0%
kb/s:1761.29
=====Stream End=======================================================================
=====Stream Start=====================================================================
Multithreaded optimizations: On
Base resolution: 1920x1080
Output resolution: 1280x720
------------------------------------------
Loading up D3D10...
Playback device Default
------------------------------------------
Using desktop audio input: Głośniki (Realtek High Definition Audio)
------------------------------------------
Audio Encoding: AAC
bitrate: 192
Using graphics capture
Using bitmap image
Using bitmap image
Using custom x264 settings: "crf=21"
CBR HRD requires constant bitrate
using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
profile High, level 3.2
------------------------------------------
Video Encoding: x264
fps: 60
width: 1280, height: 720
preset: veryfast
CBR: yes
CFR: no
max bitrate: 2400
------------------------------------------
SharedTexCapture hooked
Using RTMP service: Twitch / Justin.tv
Server selection: rtmp://live-lhr-backup.justin.tv/app
bufferTime: 2109, outputRateWindowTime: 1000, dropThreshold: 2609
Total frames rendered: 1560, number of frames that lagged: 678 (43.46%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
frame I:6 Avg QP:20.68 size: 99172
frame P:601 Avg QP:23.09 size: 10730
frame B:893 Avg QP:28.36 size: 1240
consecutive B-frames: 19.3% 2.8% 3.2% 74.7%
mb I I16..4: 13.7% 30.4% 55.9%
mb P I16..4: 3.5% 4.7% 0.9% P16..4: 21.1% 6.3% 3.1% 0.0% 0.0% skip:60.6%
mb B I16..4: 0.2% 0.2% 0.0% B16..8: 4.0% 1.2% 0.2% direct: 1.4% skip:92.9% L0:34.3% L1:53.4% BI:12.3%
8x8 transform intra:49.5% inter:35.0%
coded y,uvDC,uvAC intra: 57.2% 54.5% 20.1% inter: 5.5% 6.7% 0.8%
i16 v,h,dc,p: 26% 29% 30% 15%
i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 20% 35% 3% 7% 5% 6% 4% 8%
i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 22% 20% 8% 8% 6% 8% 6% 8%
i8c dc,h,v,p: 52% 25% 16% 7%
Weighted P-Frames: Y:0.0% UV:0.0%
kb/s:1685.26
=====Stream End=======================================================================
=====Stream Start=====================================================================
Multithreaded optimizations: On
Base resolution: 1920x1080
Output resolution: 1280x720
------------------------------------------
Loading up D3D10...
Playback device Default
------------------------------------------
Using desktop audio input: Głośniki (Realtek High Definition Audio)
------------------------------------------
Audio Encoding: AAC
bitrate: 192
Using bitmap image
Using text output
Using text output
Using text output
Using text output
Using text output
Using text output
Using bitmap image
Using bitmap image
Using bitmap image
Using custom x264 settings: "crf=21"
CBR HRD requires constant bitrate
using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
profile High, level 3.2
------------------------------------------
Video Encoding: x264
fps: 60
width: 1280, height: 720
preset: veryfast
CBR: yes
CFR: no
max bitrate: 2400
------------------------------------------
Using RTMP service: Twitch / Justin.tv
Server selection: rtmp://live-ams.justin.tv/app
bufferTime: 2368, outputRateWindowTime: 1000, dropThreshold: 2868
Total frames rendered: 2337, number of frames that lagged: 10 (0.43%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
frame I:10 Avg QP:17.41 size: 88974
frame P:574 Avg QP:20.25 size: 621
frame B:1694 Avg QP:25.65 size: 197
consecutive B-frames: 0.8% 0.0% 0.0% 99.2%
mb I I16..4: 9.5% 32.3% 58.2%
mb P I16..4: 0.1% 0.0% 0.0% P16..4: 1.6% 0.6% 0.2% 0.0% 0.0% skip:97.4%
mb B I16..4: 0.0% 0.0% 0.0% B16..8: 1.1% 0.5% 0.0% direct: 0.1% skip:98.4% L0:38.3% L1:43.9% BI:17.8%
8x8 transform intra:30.1% inter:7.5%
coded y,uvDC,uvAC intra: 91.4% 2.9% 2.6% inter: 0.2% 0.0% 0.0%
i16 v,h,dc,p: 17% 51% 26% 6%
i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 14% 36% 4% 8% 5% 5% 6% 8%
i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 18% 15% 8% 9% 7% 8% 7% 8%
i8c dc,h,v,p: 98% 1% 1% 0%
Weighted P-Frames: Y:0.0% UV:0.0%
kb/s:332.51
=====Stream End=======================================================================
=====Stream Start=====================================================================
Multithreaded optimizations: On
Base resolution: 1920x1080
Output resolution: 1280x720
------------------------------------------
Loading up D3D10...
Playback device Default
------------------------------------------
Using desktop audio input: Głośniki (Realtek High Definition Audio)
------------------------------------------
Audio Encoding: AAC
bitrate: 192
Using graphics capture
Using bitmap image
Using bitmap image
Using custom x264 settings: "crf=21"
CBR HRD requires constant bitrate
using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
profile High, level 3.2
------------------------------------------
Video Encoding: x264
fps: 60
width: 1280, height: 720
preset: veryfast
CBR: yes
CFR: no
max bitrate: 2400
------------------------------------------
SharedTexCapture hooked
Using RTMP service: Twitch / Justin.tv
Server selection: rtmp://live-ams.justin.tv/app
bufferTime: 2353, outputRateWindowTime: 1000, dropThreshold: 2853
Total frames rendered: 2408, number of frames that lagged: 4 (0.17%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
frame I:10 Avg QP:18.76 size: 68860
frame P:750 Avg QP:22.80 size: 5019
frame B:1588 Avg QP:25.91 size: 616
consecutive B-frames: 9.4% 0.5% 2.2% 88.0%
mb I I16..4: 54.9% 7.7% 37.4%
mb P I16..4: 0.6% 0.9% 0.3% P16..4: 10.2% 3.1% 1.8% 0.0% 0.0% skip:83.1%
mb B I16..4: 0.0% 0.0% 0.0% B16..8: 1.8% 0.7% 0.1% direct: 0.6% skip:96.7% L0:33.3% L1:49.6% BI:17.1%
8x8 transform intra:32.2% inter:31.3%
coded y,uvDC,uvAC intra: 57.7% 56.3% 29.9% inter: 2.4% 2.6% 0.3%
i16 v,h,dc,p: 62% 17% 14% 7%
i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 22% 28% 4% 8% 5% 7% 5% 10%
i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 22% 18% 8% 8% 6% 9% 6% 9%
i8c dc,h,v,p: 54% 23% 14% 9%
Weighted P-Frames: Y:0.0% UV:0.0%
kb/s:1109.76
=====Stream End=======================================================================
=====Stream Start=====================================================================
Multithreaded optimizations: On
Base resolution: 1920x1080
Output resolution: 1280x720
------------------------------------------
Loading up D3D10...
Playback device Default
------------------------------------------
Using desktop audio input: Głośniki (Realtek High Definition Audio)
------------------------------------------
Audio Encoding: AAC
bitrate: 192
Using graphics capture
Using bitmap image
Using bitmap image
Using custom x264 settings: "crf=21"
CBR HRD requires constant bitrate
using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
profile High, level 3.2
------------------------------------------
Video Encoding: x264
fps: 60
width: 1280, height: 720
preset: superfast
CBR: yes
CFR: no
max bitrate: 2400
------------------------------------------
SharedTexCapture hooked
Using RTMP service: Twitch / Justin.tv
Server selection: rtmp://live-ams.justin.tv/app
bufferTime: 2022, outputRateWindowTime: 1000, dropThreshold: 2522
Total frames rendered: 1903, number of frames that lagged: 822 (43.19%) (it's okay for some frames to lag)
RTMPPublisher::SocketLoop: Aborting due to bStopping
Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
frame I:8 Avg QP:22.26 size: 84580
frame P:684 Avg QP:23.53 size: 15003
frame B:1158 Avg QP:24.81 size: 2572
consecutive B-frames: 15.7% 2.1% 1.0% 81.3%
mb I I16..4: 10.6% 49.9% 39.4%
mb P I16..4: 1.8% 6.0% 1.3% P16..4: 34.7% 0.0% 0.0% 0.0% 0.0% skip:56.2%
mb B I16..4: 0.1% 0.2% 0.0% B16..8: 9.0% 0.0% 0.0% direct: 4.7% skip:86.0% L0:30.9% L1:59.1% BI:10.1%
8x8 transform intra:63.7% inter:36.6%
coded y,uvDC,uvAC intra: 68.9% 61.3% 29.5% inter: 7.7% 8.5% 1.2%
i16 v,h,dc,p: 22% 32% 28% 18%
i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 17% 23% 8% 7% 7% 9% 6% 11%
i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 22% 17% 9% 8% 6% 8% 6% 9%
i8c dc,h,v,p: 40% 28% 19% 12%
Weighted P-Frames: Y:0.0% UV:0.0%
kb/s:2402.49
=====Stream End=======================================================================
Profiler results:
==============================================================
frame - [100%] [avg time: 12.369 ms] [avg calls per frame: 1] [children: 98.3%] [unaccounted: 1.74%]
| scene->Preprocess - [0.0566%] [avg time: 0.007 ms] [avg calls per frame: 1]
| video encoding and uploading - [98.2%] [avg time: 12.147 ms] [avg calls per frame: 1] [children: 9.93%] [unaccounted: 88.3%]
| | CopyResource - [0.146%] [avg time: 0.018 ms] [avg calls per frame: 0]
| | conversion to 4:2:0 - [0.8%] [avg time: 0.099 ms] [avg calls per frame: 0]
| | call to encoder - [8.93%] [avg time: 1.104 ms] [avg calls per frame: 0]
| | sending stuff out - [0.0566%] [avg time: 0.007 ms] [avg calls per frame: 0]
==============================================================