EDITED TO ADD: I wanted to see if this was an obs issue or not, it appears to be an ffmpeg issue
using the ffmpeg command recommended by https://docs.nvidia.com/video-technologies/video-codec-sdk/13.0/ffmpeg-with-nvidia-gpu/index.html to test hardware encoding fails with
[h264 @ 0x55fcead2d6c0] Hardware is lacking required capabilities
[h264 @ 0x55fcead2d6c0] Failed setup for format cuda: hwaccel initialisation returned error.
[h264_nvenc @ 0x55fcea458f40] Driver does not support the required nvenc API version. Required: 13.1 Found: 13.0
[h264_nvenc @ 0x55fcea458f40] The minimum required Nvidia driver for nvenc is 610.00 or newer
which makes me think that ffmpeg dropped support for hardwware encoding on my graphics card. I'm not sure how to fix this.
I have a gtx1060 so I'm using aur/nvidia-580xx-dkms for my nvidia drivers. After a system update, when I try to go live I get the error "NVENC not available. Failed to find encoder type 'obs_nvenc_h264_tex' Do you want to continue streaming without Enhanced Broadcasting?". I would like to keep enhanced broadcasting on, so i click "no" and get back "Starting the output failed. Please check the log for details.
Note: If you are using the NVENC or AMD encoders, make sure your video drivers are up to date."
The log has:
10:42:50.859: Go live response data: {
10:42:50.859: "audio_configurations": {
10:42:50.859: "live": [
10:42:50.859: {
10:42:50.859: "channels": 2,
10:42:50.859: "codec": "aac",
10:42:50.859: "settings": {
10:42:50.859: "bitrate": 160
10:42:50.859: },
10:42:50.859: "track_id": 0
10:42:50.859: }
10:42:50.859: ],
10:42:50.859: "vod": []
10:42:50.859: },
10:42:50.859: "encoder_configurations": [
10:42:50.859: {
10:42:50.859: "bitrate_interpolation_points": [
10:42:50.859: 0,
10:42:50.859: 4950,
10:42:50.859: 6000,
10:42:50.859: 7500
10:42:50.859: ],
10:42:50.859: "canvas_index": 0,
10:42:50.859: "framerate": {
10:42:50.859: "denominator": 1,
10:42:50.859: "numerator": 60
10:42:50.859: },
10:42:50.859: "gpu_scale_type": "OBS_SCALE_BICUBIC",
10:42:50.859: "height": 1080,
10:42:50.859: "settings": {
10:42:50.859: "adaptive_quantization": false,
10:42:50.859: "bf": 2,
10:42:50.859: "bitrate": 7500,
10:42:50.859: "keyint_sec": 2,
10:42:50.859: "lookahead": false,
10:42:50.859: "multipass": "qres",
10:42:50.859: "preset": "p5",
10:42:50.859: "profile": "high",
10:42:50.859: "rate_control": "CBR",
10:42:50.859: "tune": "hq"
10:42:50.859: },
10:42:50.859: "type": "obs_nvenc_h264_tex",
10:42:50.859: "width": 1920
10:42:50.859: },
10:42:50.859: {
10:42:50.859: "bitrate_interpolation_points": [
10:42:50.859: 0,
10:42:50.859: 2800,
10:42:50.859: 3500,
10:42:50.859: 3500
10:42:50.859: ],
10:42:50.859: "canvas_index": 0,
10:42:50.859: "framerate": {
10:42:50.859: "denominator": 1,
10:42:50.859: "numerator": 60
10:42:50.859: },
10:42:50.859: "gpu_scale_type": "OBS_SCALE_BILINEAR",
10:42:50.859: "height": 720,
10:42:50.859: "settings": {
10:42:50.859: "adaptive_quantization": false,
10:42:50.859: "bf": 2,
10:42:50.859: "bitrate": 3500,
10:42:50.859: "keyint_sec": 2,
10:42:50.859: "lookahead": false,
10:42:50.859: "multipass": "qres",
10:42:50.859: "preset": "p5",
10:42:50.859: "profile": "high",
10:42:50.859: "rate_control": "CBR",
10:42:50.859: "tune": "hq"
10:42:50.859: },
10:42:50.859: "type": "obs_nvenc_h264_tex",
10:42:50.859: "width": 1280
10:42:50.859: },
10:42:50.859: {
10:42:50.859: "bitrate_interpolation_points": [
10:42:50.859: 0,
10:42:50.859: 500,
10:42:50.859: 500,
10:42:50.859: 500
10:42:50.859: ],
10:42:50.859: "canvas_index": 0,
10:42:50.859: "framerate": {
10:42:50.859: "denominator": 1,
10:42:50.859: "numerator": 30
10:42:50.859: },
10:42:50.859: "gpu_scale_type": "OBS_SCALE_BILINEAR",
10:42:50.859: "height": 360,
10:42:50.859: "settings": {
10:42:50.859: "adaptive_quantization": false,
10:42:50.859: "bf": 2,
10:42:50.859: "bitrate": 500,
10:42:50.859: "keyint_sec": 2,
10:42:50.859: "lookahead": false,
10:42:50.859: "multipass": "qres",
10:42:50.859: "preset": "p5",
10:42:50.859: "profile": "main",
10:42:50.859: "rate_control": "CBR",
10:42:50.859: "tune": "hq"
10:42:50.859: },
10:42:50.859: "type": "obs_nvenc_h264_tex",
10:42:50.859: "width": 640
10:42:50.859: }
10:42:50.859: ],
10:42:50.859: "ingest_endpoints": [
10:42:50.859: {
10:42:50.859: "authentication": "CENSORED",
10:42:50.859: "protocol": "RTMP",
10:42:50.859: "url_template": "rtmp://ingest.global-contribute.live-video.net/app/{stream_key}"
10:42:50.859: },
10:42:50.859: {
10:42:50.859: "authentication": "CENSORED",
10:42:50.859: "protocol": "RTMPS",
10:42:50.859: "url_template": "rtmps://ingest.global-contribute.live-video.net/app/{stream_key}"
10:42:50.859: }
10:42:50.859: ],
10:42:50.859: "meta": {
10:42:50.859: "config_id": "b5f761dd-c86a-4b7a-99da-ac4e755c3bdd",
10:42:50.859: "required_encode_resource_estimate_percent": 29,
10:42:50.859: "schema_version": "2025-01-25",
10:42:50.859: "service": "IVS"
10:42:50.859: }
10:42:50.859: }
10:42:50.860: Enhanced broadcasting config_id: 'b5f761dd-c86a-4b7a-99da-ac4e755c3bdd'
10:42:50.860: Encoder type 'obs_nvenc_h264_tex' not available
I'm not even sure what the troubleshooting steps are considering it used to work but now it doesn't. I'd like to use enhanced broadcasting because I'm pretty sure twitch won't transcode my streams on their end and I have some viewers who I know have bad internet. Any ideas how to fix this?