Bug Report OBS wont record - Win10 NVENC

JG52Karaya

New Member
Downloaded and installed the latest version (0.16.2) today and recorded as usual. Upon leaving them game I noticed that OBS would simply not stop the recording. In the program UI it simply said "stopping recording" but the recording timer still continued to run. Also there was no video file created and I had to force OBS to shut down via the task manager. OBS worked (and after reverting back still works) perfectly fine in version 0.15.4!

21:55:36.641: CPU Name: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
21:55:36.642: CPU Speed: 3411MHz
21:55:36.642: Physical Cores: 4, Logical Cores: 8
21:55:36.642: Physical Memory: 2047MB Total, 2047MB Free (NOTE: 2 or 4 gigs max is normal for 32bit programs)
21:55:36.642: Windows Version: 10.0 Build 14393 (revision: 187; 64-bit)
21:55:36.642: Running as administrator: true
21:55:36.642: Aero is Enabled (Aero is always on for windows 8 and above)
21:55:36.653: OBS 0.16.2 (windows)
21:55:36.653: ---------------------------------
21:55:36.653: ---------------------------------
21:55:36.654: audio settings reset:
21:55:36.654: samples per sec: 44100
21:55:36.654: speakers: 2
21:55:36.659: ---------------------------------
21:55:36.659: Initializing D3D11..
21:55:36.659: Available Video Adapters:
21:55:36.661: Adapter 1: NVIDIA GeForce GTX 970
21:55:36.661: Dedicated VRAM: 3221225472
21:55:36.661: Shared VRAM: 1073676288
21:55:36.661: output 1: pos={0, 0}, size={1920, 1080}, attached=true
21:55:36.663: Loading up D3D11 on adapter NVIDIA GeForce GTX 970 (0)
21:55:36.683: D3D11 loaded sucessfully, feature level used: 45056
21:55:37.205: ---------------------------------
21:55:37.205: video settings reset:
21:55:37.205: base resolution: 1920x1080
21:55:37.205: output resolution: 1920x1080
21:55:37.205: downscale filter: Bicubic
21:55:37.205: fps: 60/1
21:55:37.205: format: NV12
21:55:37.206: ---------------------------------
21:55:37.211: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
21:55:37.216: [AMF Encoder] Version 1.3.1.0-1.3.0.5
21:55:37.216: [AMF Encoder] <Plugin::AMD::AMF::AMF> Initializing...
21:55:37.217: [AMF Encoder] <Plugin::AMD::AMF::AMF> Loading of 'amfrt32.dll' failed with error code 126.
21:55:37.230: NVENC supported
21:55:37.302: VLC found, VLC video source enabled
21:55:37.471: No blackmagic support
21:55:37.509: ---------------------------------
21:55:37.509: Loaded Modules:
21:55:37.509: win-wasapi.dll
21:55:37.509: win-mf.dll
21:55:37.509: win-dshow.dll
21:55:37.509: win-decklink.dll
21:55:37.509: win-capture.dll
21:55:37.509: vlc-video.dll
21:55:37.509: text-freetype2.dll
21:55:37.509: rtmp-services.dll
21:55:37.509: obs-x264.dll
21:55:37.509: obs-transitions.dll
21:55:37.509: obs-text.dll
21:55:37.509: obs-qsv11.dll
21:55:37.509: obs-outputs.dll
21:55:37.509: obs-filters.dll
21:55:37.509: obs-ffmpeg.dll
21:55:37.509: image-source.dll
21:55:37.509: frontend-tools.dll
21:55:37.509: enc-amf.dll
21:55:37.509: coreaudio-encoder.dll
21:55:37.509: ==== Startup complete ===============================================
21:55:37.511: All scene data cleared
21:55:37.511: ------------------------------------------------
21:55:37.542: WASAPI: Device 'Lautsprecher (Logitech G430 Gaming Headset)' initialized
21:55:37.551: WASAPI: Device 'Mikrofon (Logitech G430 Gaming Headset)' initialized
21:55:37.551: source 'Mic/Aux' enabled push-to-talk
21:55:37.557: Switched to scene 'CLIFFS'
21:55:37.557: ------------------------------------------------
21:55:37.557: Loaded scenes:
21:55:37.557: - scene 'BOS':
21:55:37.557: - source: 'IL-2 Battle of Stalingrad' (game_capture)
21:55:37.557: - scene 'CLIFFS':
21:55:37.557: - source: 'IL-2 Cliffs of Dover' (game_capture)
21:55:37.557: - scene 'DCS':
21:55:37.557: - source: 'Digital Combat Simulator' (game_capture)
21:55:37.557: - scene 'WT':
21:55:37.557: - source: 'War Thunder' (game_capture)
21:55:37.557: - scene 'BF1':
21:55:37.557: - source: 'Battlefield 1' (game_capture)
21:55:37.557: - scene 'VERDUN':
21:55:37.557: - source: 'Verdun' (game_capture)
21:55:37.557: - scene 'KF2':
21:55:37.557: - source: 'Killing Floor 2' (game_capture)
21:55:37.557: ------------------------------------------------
21:55:37.572: adding 23 milliseconds of audio buffering, total audio buffering is now 23 milliseconds
21:55:37.910: adding 23 milliseconds of audio buffering, total audio buffering is now 46 milliseconds
21:55:38.077: Update check: last known remote version is 0.16.2
21:55:43.806: ---------------------------------
21:55:43.806: [NVENC encoder: 'recording_h264'] settings:
21:55:43.806: rate_control: CBR
21:55:43.806: bitrate: 29680
21:55:43.806: cqp: 0
21:55:43.806: keyint: 250
21:55:43.806: preset: default
21:55:43.806: profile: high444p
21:55:43.806: level: auto
21:55:43.806: width: 1920
21:55:43.806: height: 1080
21:55:43.806: 2-pass: false
21:55:43.806: GPU: 0
21:55:43.806:
21:55:44.099: ---------------------------------
21:55:44.099: [FFmpeg aac encoder: 'Track2'] bitrate: 320, channels: 0
21:55:44.109: ==== Recording Start ===============================================
21:55:44.109: [ffmpeg muxer: 'adv_file_output'] Writing file 'D:/Users/Karaya/Videos/OBS recordings/Record (18).mp4'...
21:55:44.143: [NVENC encoder: 'recording_h264'] nvenc_encode: Error encoding: Function not implemented
21:55:44.214: Error encoding with encoder 'recording_h264'
21:55:44.214: Called profile end with mismatching name: start("do_encode"[5C599760]) <-> end("receive_video"[5C59976C])
21:55:57.427: ==== Shutting down ==================================================
21:55:57.431: Switched to scene '(null)'
21:55:57.432: WASAPI: Device 'Lautsprecher (Logitech G430 Gaming Headset)' Terminated
21:55:57.491: WASAPI: Device 'Mikrofon (Logitech G430 Gaming Headset)' Terminated
21:55:57.615: All scene data cleared
21:55:57.615: ------------------------------------------------
 

Attachments

  • 2016-09-29 21-55-36.txt
    5.6 KB · Views: 106

JG52Karaya

New Member
The thing I dont understand is why OBS 0.15.4 works just fine, even with the latest Win10 update installed but as soon as I upgrade to 0.16.1 or 0.16.2 (did not try 0.16.0) it just refuses to work properly.
 

velvitonator

New Member
IT looks like the relevant line is this one:
21:55:44.143: [NVENC encoder: 'recording_h264'] nvenc_encode: Error encoding: Function not implemented

I don't know exactly what it means, but I'd start playing with the NVEnc settings (like the unusual profile you're using) and see if some combination of settings makes it go away. A good start would be to try the defaults and go from there.
 

NekoMina

Member
I'm also having this problem since the update. It has been running fine until I updated to the latest version this morning. I'm glad I tested this out before my scheduled livestream today.

No matter the settings in NVENC recording mode, it seems that the aforementioned issue persists. Encoding profiles and whatnot don't matter. Settings don't matter. What once worked, simply no longer does.

I've downgraded in the meantime, so I can't do any proper testing. Perhaps after my daily stream I'll post some logs myself, but they're pretty much identical.
 

Suslik V

Active Member
I'm also having this problem since the update. It has been running fine until I updated to the latest version this morning. I'm glad I tested this out before my scheduled livestream today.

No matter the settings in NVENC recording mode, it seems that the aforementioned issue persists. Encoding profiles and whatnot don't matter. Settings don't matter. What once worked, simply no longer does.

I've downgraded in the meantime, so I can't do any proper testing. Perhaps after my daily stream I'll post some logs myself, but they're pretty much identical.
We waiting on your thread.
Because topic starter suffer from HW/SW compatibility (probably GTX 970 doesn't support some NVENC features or so).
 

Suslik V

Active Member
Maybe ffmpeg changed... Could you try to make new Profile and new Scene Collection and make new test recording (~30 sec long) and post new file? Also try 64-bit version .exe (navigate it manually).
 

NekoMina

Member
After further experimentation, it seems only the high444p profile has issues when using NVENC on all NVIDIA video cards. Seems something with 0.16+ in OBS Studio has messed up compatibility with high444p NVENC encoding.

The older version does a good enough job of doing so. I've had to use the standard "high" profile instead. Unfortunately, this does cause a bit of a loss in color data, however, so it isn't optimal to just drop to a different encoding profile.

Whether an issue with OBS Studio or a third party issue, I hope it gets resolved sometime soon.
 

Suslik V

Active Member
Color guide: https://obsproject.com/forum/resour...t-color-range-settings-guide-test-charts.442/ just to be sure that you need all this colors (I see NV12 in log-file as Color Format setting, so no need for 444 - all color info already "lost", and I'm not sure that automatic conversion still available in drivers, ffmpeg etc. Maybe licensing changed in NVENC ^_^ ...).

Also, you can try to test OBS Studio with old dependencies (ffmpeg is old, but overall obs logic is new, there is test build in Help Guide for OBS Studio - only x86 build by the way, but for tests maybe you don't need more; ffmpeg used to manage NVENC in obs).
 

NekoMina

Member
Maybe licensing changed in NVENC ^_^ ...

If licensing in NVENC changed, it would have required a driver update to change its behavior, which didn't happen. If the issue doesn't lie with OBS Studio, and ffmpeg is a dependency, then it's possible that ffmpeg may have changed. Though it doesn't seem like this is a known issue with ffmpeg.

It definitely is restricted to the "high444p" encoding profile with NVENC though. So, there's that.
 

JG52Karaya

New Member
After further experimentation, it seems only the high444p profile has issues when using NVENC on all NVIDIA video cards. Seems something with 0.16+ in OBS Studio has messed up compatibility with high444p NVENC encoding.

The older version does a good enough job of doing so. I've had to use the standard "high" profile instead. Unfortunately, this does cause a bit of a loss in color data, however, so it isn't optimal to just drop to a different encoding profile.

Whether an issue with OBS Studio or a third party issue, I hope it gets resolved sometime soon.

Thanks a bunch! Just upgraded to 0.16.2 and set the encoding profile down from "high444p" to "high" and it works just fine now!
 

RytoEX

Forum Admin
Forum Moderator
Developer
21:55:44.143: [NVENC encoder: 'recording_h264'] nvenc_encode: Error encoding: Function not implemented
21:55:44.214: Error encoding with encoder 'recording_h264'
21:55:44.214: Called profile end with mismatching name: start("do_encode"[5C599760]) <-> end("receive_video"[5C59976C])
The thing I dont understand is why OBS 0.15.4 works just fine, even with the latest Win10 update installed but as soon as I upgrade to 0.16.1 or 0.16.2 (did not try 0.16.0) it just refuses to work properly.

Ah! Actually, I know why this is. NVENC profile wasn't being set correctly in OBS Studio before 0.16.0. See this commit.

When you were setting it before, it never actually got honored, so it was never actually working anyway. It just got ignored and probably used "main".

The GTX 970 is a second gen Maxwell card, with Gen 3 NVENC, so in theory is should support high444p (assuming it's the same as HiP444). Though, there was that issue with the GTX 970 not having the right amount of RAM utilized. Hopefully that's not related. Maybe you need to explicitly set the right "Level" to get it to work? That's outside of my knowledge, so I'm just guessing.

Also, you're using CBR for a local recording. There are better options for you. I highly recommend this guide on high quality local recordings.
 

Suslik V

Active Member
And for using 4:4:4 color space for encoding, I think you need to change Settings>Advanced>Video>Color Format to something else than NV12, isn't it?
 

NekoMina

Member
And for using 4:4:4 color space for encoding, I think you need to change Settings>Advanced>Video>Color Format to something else than NV12, isn't it?

Correct. You need I444 to get true 4:4:4 color support using OBS. If 32-bit RGB or NV32 were supported by OBS, those would also be valid options.
 
Top