LINUX.ORG.RU

Не работает кодирование NVENC в OBS в Arch Linux

 


0

1

Железо: FX-4300 и GTX 750 Ti,драйвер 396.54,ядро 4.18.5-ck.

Установил OBS,при попытке начать трансляцию выбивает окно с ошибкой: «Сбой вывода. Подробности отражены в журнале.».

Запустил в консоли OBS,выхлоп: info: --------------------------------- info: [NVENC encoder: 'streaming_h264'] settings: rate_control: CBR bitrate: 2500 cqp: 0 keyint: 250 preset: default profile: main level: auto width: 1280 height: 1024 2-pass: true b-frames: 2 GPU: 0

[h264_nvenc @ 0x55cad4186c00] Cannot init CUDA warning: [NVENC encoder: 'streaming_h264'] Failed to open NVENC codec: Unknown error occurred warning: Stream output type 'rtmp_output' failed to start!

CUDA 9 стоит,что делать?


Похоже что нет encoder'a. h264 это проприетарый кодек и по дефолту енкодер может и быть не установлен. Попробуй установить x264 (свободная реализация h264). Может OBS будет использовать его. Если нет, тогда пересобирай (компилируй) ffmpeg с опциями --enable-non-free --enable-gpl.

rEnSbit
()

тебе наверно надо установить https://developer.nvidia.com/nvidia-video-codec-sdk и скомпилировать ffmpeg с ним

Кстати, зачем тебе школоядро? У меня с цк одни проблемы были. Теперь собрал себе максимально серверный конфиг и всё работает просто шоколадно.

anonymous
()

удалить CUDA в первую очередь, он не нужен

удалить «драйвера CUDA» если ставил, и установить дефолтный драйвер с nvidia сайта

если все еще не работает то пересобрать obs или ffmpeg (или оба вместе)

у меня таже карта, тоже встречался с не рабочим OBS после установки, легко фиксится

missxu
()

Вообщем получилась такая картина: с ванильным ядром арча и пакетом nvidia NVENC работает,с ядром ck и пакетом nvidia-dkms - нет. Куда багрепорты слать?

Elmer_
() автор топика
Ответ на: комментарий от Elmer_

Потыкай pf-kernel, алсо в дмесг не срет? У ck-ядра подкрученные настройки, сделай дифф между конфигом дефолта и ck тогда можно понять что там такое мешает.

timdorohin ★★★★
()
Ответ на: комментарий от Elmer_

Производительность != отзывчивость != звук не заикается != етц. Плюс плацебо.

anonymous
()
Ответ на: комментарий от rEnSbit

В арче такого маразма не нужно:

$ ffmpeg -codecs |& /bin/grep -iE '^ .E.+cuvid|nvenc'
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvenc --enable-omx --enable-shared --enable-version3
 DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m h264_cuvid ) (encoders: libx264 libx264rgb h264_nvenc h264_omx h264_v4l2m2m h264_vaapi nvenc nvenc_h264 )
 DEV.L. hevc                 H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc hevc_v4l2m2m hevc_cuvid ) (encoders: libx265 nvenc_hevc hevc_nvenc hevc_v4l2m2m hevc_vaapi )
 DEVIL. mjpeg                Motion JPEG (decoders: mjpeg mjpeg_cuvid ) (encoders: mjpeg mjpeg_vaapi )
 DEV.L. mpeg1video           MPEG-1 video (decoders: mpeg1video mpeg1_v4l2m2m mpeg1_cuvid )
 DEV.L. mpeg2video           MPEG-2 video (decoders: mpeg2video mpegvideo mpeg2_v4l2m2m mpeg2_cuvid ) (encoders: mpeg2video mpeg2_vaapi )
 DEV.L. mpeg4                MPEG-4 part 2 (decoders: mpeg4 mpeg4_v4l2m2m mpeg4_cuvid ) (encoders: mpeg4 libxvid mpeg4_v4l2m2m )
 DEV.L. vp8                  On2 VP8 (decoders: vp8 vp8_v4l2m2m libvpx vp8_cuvid ) (encoders: libvpx vp8_v4l2m2m vp8_vaapi )
 DEV.L. vp9                  Google VP9 (decoders: vp9 vp9_v4l2m2m libvpx-vp9 vp9_cuvid ) (encoders: libvpx-vp9 vp9_vaapi )

anonymous
()

Если ты пытаешься транслировать что-то opengl-ное (ту же игрушку, например), тебе просто может не хватать видеопамяти ещё и на кодирование видео. Ещё один нюанс (было с ffmpeg, но, думаю, для obs тоже справедливо) - иногда требуется перед запуском записи выгрузить-загрузить модуль nvidia-uvm. Чистое шаманство, но помогает.

lizard ★★★
()

С ванильным ядром и пакетом nvidia-dkms NVENC работает,кажись косяк на стороне ck ядра.

Elmer_
() автор топика
Ответ на: комментарий от timdorohin

Оно, оказывается, и в комментариях в PKGBUILD вставлено. Дак кто ж его читает...

greenman ★★★★★
()
Ответ на: комментарий от Elmer_

Благодари не меня, а чуваков с форума арча и гугл. У меня дома ни одной невидии нет.

timdorohin ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.