Activer l'encodage NVidia avec nvenc sous Calculate Linux
Bonjour à tous,
voici une astuce, pour répondre à un courriel qui m'a été adressé. Le but est d'activer, via nvenc, l'encodage vidéo avec la carte NVidia, plut que d'encoder avec le CPU.
Pour cela, il faut une carte NVidia compatible nvenc, c'est à dire un modèle supérieur à GeForce 600. Cela est mon cas, avec une 650M. Ça fonctionne avec des cartes NVidia Optimus, il y a juste une option à effectuer en plus.
D'abord, nvenc s'active via ffmpeg, grâce au USE nvenc.
Modifier le fichier /etc/portage/package.use/custom et ajouter le support de nvenc dans ffmpeg :
Ensuite, mettez à jour ffmpeg, en prenant en compte les nouveaux USE :
Ça va installer en plus en dépendance le paquet media-video/nvidia_video_sdk.
Grâce à equery on constate bien que le USE nvenc permet d'activer la fonctionnalité demandée :
Une fois fait on peut paramétrer simplescreenrecorder par exemple pour utiliser le driver nvenc :
Si je lance les 2 simplescreenrecorder, avec htop on voit bien la différence, 25% utilisés pour le simplescreenrecorder avec nvenc, et 125% pour celui avec l'encodage traditionnel. On voit donc qu'un CPU complet s'occupe de l'encodage sans nvenc :
En revanche, des applications comme kdenlive ne voient pas ce codec dans la liste par défaut, mais celui-ci est bien chargé par le logiciel.
Il faut donc se créer un profil et éditer la ligne de commande pour utiliser le driver nvenc (je suppose, pas testé) et si Optimus, lancer kdenlive avec optirun !
J'ai donc dupliqué le profil MP4 que j'utilise, et changé le nom du codec en mettant celui associé à nvenc :
Une traditionnelle vidéo qui montre le tout en action :
Et la vidéo de paramétrage et tests de kdenlive :
voici une astuce, pour répondre à un courriel qui m'a été adressé. Le but est d'activer, via nvenc, l'encodage vidéo avec la carte NVidia, plut que d'encoder avec le CPU.
Pour cela, il faut une carte NVidia compatible nvenc, c'est à dire un modèle supérieur à GeForce 600. Cela est mon cas, avec une 650M. Ça fonctionne avec des cartes NVidia Optimus, il y a juste une option à effectuer en plus.
D'abord, nvenc s'active via ffmpeg, grâce au USE nvenc.
Modifier le fichier /etc/portage/package.use/custom et ajouter le support de nvenc dans ffmpeg :
Code BASH :
media-video/ffmpeg nvenc
Ensuite, mettez à jour ffmpeg, en prenant en compte les nouveaux USE :
Code BASH :
emerge -uN media-video/ffmpeg
Ça va installer en plus en dépendance le paquet media-video/nvidia_video_sdk.
Grâce à equery on constate bien que le USE nvenc permet d'activer la fonctionnalité demandée :
Code BASH :
+ + nvenc : Adds support for NVIDIA Encoder (NVENC) API for hardware accelerated encoding on NVIDIA cards
Une fois fait on peut paramétrer simplescreenrecorder par exemple pour utiliser le driver nvenc :
Si je lance les 2 simplescreenrecorder, avec htop on voit bien la différence, 25% utilisés pour le simplescreenrecorder avec nvenc, et 125% pour celui avec l'encodage traditionnel. On voit donc qu'un CPU complet s'occupe de l'encodage sans nvenc :
En revanche, des applications comme kdenlive ne voient pas ce codec dans la liste par défaut, mais celui-ci est bien chargé par le logiciel.
Il faut donc se créer un profil et éditer la ligne de commande pour utiliser le driver nvenc (je suppose, pas testé) et si Optimus, lancer kdenlive avec optirun !
J'ai donc dupliqué le profil MP4 que j'utilise, et changé le nom du codec en mettant celui associé à nvenc :
Code TEXT :
properties=x264-medium f=mp4 vcodec=h264_nvenc acodec=aac g=120 crf=%quality ab=%audiobitrate+'k'
Une traditionnelle vidéo qui montre le tout en action :
N'hésitez pas à sélectionner la qualité HD en 720p ou 1080p !
Et la vidéo de paramétrage et tests de kdenlive :
N'hésitez pas à sélectionner la qualité HD en 720p ou 1080p !