Codifica e codec accelerati dall'hardware
Requisiti
Tutte e quattro queste cose devono essere vere per supportare la codifica accelerata dall'hardware con Owncast.
- Non stai eseguendo su un VPS fornito da un provider di hosting, poiché i server virtuali condivisi non consentono l'accesso diretto all'hardware.
- Hai hardware compatibile e hai accesso diretto ad esso.
- Hai installato e configurato i driver e le librerie necessari per sfruttare il tuo hardware.
- You have a copy of
ffmpegthat is specifically built to utilize these drivers and libraries. Version 4.1.5 or newer is suggested.
Cose da tenere a mente
- La maggior parte delle persone non sarà in grado di sfruttare questo a meno che tu non stia eseguendo il tuo hardware.
- Solo perché un codec accelerato dall'hardware specifico appare nell'amministratore di Owncast non significa che la tua macchina sia configurata per supportarlo. Owncast builds that list by running
ffmpeg -encodersand keeping the H.264 encoders it knows how to use. An entry appearing means your copy of ffmpeg advertises that encoder, not that the drivers and hardware behind it are proven to work. - Ben poco di ciò che è richiesto per far funzionare il tuo hardware ha a che fare con Owncast. Qualsiasi domanda tu abbia riguardo al tuo particolare hardware dovrebbe essere indirizzata al produttore dell'hardware o a chi fornisce i driver e le librerie per utilizzarlo. Probabilmente ci sono già molte informazioni online, quindi ti preghiamo di fare le tue ricerche.
Hardware compatibile
Grafica Intel
Se hai grafica integrata Intel, potresti essere in grado di usarla utilizzando VA-API o Quicksync.
GPU NVIDIA
Le GPU NVIDIA vengono fornite con un'unità di codifica hardware integrata spesso definita NVENC. Separato dai core CUDA, NVENC esegue carichi di lavoro di codifica senza rallentare l'esecuzione di grafica o carichi di lavoro CUDA in esecuzione contemporaneamente.
La maggior parte delle moderne GPU NVIDIA viene fornita con NVENC. Controlla il NVIDIA GPU Support Matrix per confermare che la tua GPU sia presente nell'elenco "encoder".
GPU AMD
VA-API è supportato su GPU AMD e ATI dal libva-mesa-driver.
Codec/librerie compatibili
Intel QuickSync
"Intel Quick Sync Video" è il nome commerciale per le funzionalità di decodifica e codifica video hardware sui processori Intel con grafica integrata. I processori con un iGPU Intel possono essere utilizzati per la codifica video hardware, purché tu abbia installato libva e l'iGPU del processore supporti il codec video e la risoluzione che desideri utilizzare.
Segui le istruzioni sul sito di Intel su come configurare QuickSync su Linux.
Collegamenti:
VA-API
VA-API (video acceleration API) è uno strato per supportare la codifica accelerata dall'hardware su linux. Hai bisogno della libreria libva installata affinché funzioni. VA-API non è compatibile con i chipset ARM.
ffmpeg 5 e versioni successive sono supportati con VA-API.
Collegamenti:
Encoder NVIDIA (nvenc)
Segui le istruzioni sulla guida alla transcoding di NVIDIA ffmpeg per installare tutti i driver e le librerie richiesti. Questo richiede l'installazione di un driver dal sito NVIDIA, il download e l'installazione del CUDA toolkit, il download di nv-codec-headers e la creazione di ffmpeg. Scorri fino alla sezione intitolata Transcodifica accelerata dall'hardware con FFmpeg nella guida alla transcoding NVIDIA per ulteriori informazioni.
Potresti essere in grado di trovare una versione precompilata di ffmpeg che ha il supporto nvenc, tuttavia questo è al di fuori dell'ambito di questo documento. Avrai comunque bisogno dei driver NVIDIA.
Collegamenti:
- Istruzioni di Tal.org per costruire ffmpeg con nvenc
- Script di shell che afferma di automatizzare il processo su Ubuntu
OpenMAX (omx)
OpenMAX (h264_omx) is a hardware encoding interface most commonly used on older Raspberry Pi boards. It shows in the admin as "OpenMax (omx) for Raspberry Pi". Your copy of ffmpeg must be built with OpenMAX support, which many distribution builds no longer include.
Apple VideoToolbox
VideoToolbox (h264_videotoolbox) is Apple's hardware video encoding framework. If you run Owncast on macOS, ffmpeg builds from Homebrew and most other sources include it, and it uses the media engine built into Apple hardware.
ffmpeg
Una volta che il tuo sistema è configurato per utilizzare i corretti driver e librerie richiesti, dovrai assicurarti che la tua copia di ffmpeg lo supporti.
Owncast suggests ffmpeg version 4.1.5 or newer. This is a suggestion, not a hard requirement. Owncast does not refuse to run with an older version, but you may experience issues with video.
$ ffmpeg -version
ffmpeg version 6.1.1 Copyright (c) 2000-2024 the FFmpeg developers
Verify the encoder you expect to use is enabled in your version of ffmpeg. This mirrors what Owncast itself does to populate the codec dropdown in the admin.
$ ffmpeg -hide_banner -encoders | grep 264
V....D libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec: h264)
V....D h264_v4l2m2m V4L2 mem2mem H.264 encoder wrapper (codec: h264)
V....D h264_vaapi H.264/AVC (VAAPI) (codec: h264)
If the encoder you hope to use is not in this list then you may need to build your own copy of ffmpeg that supports it.
Improve this page
See something missing or incorrect? Edit this page and improve the documentation for everyone.
