web-dev-qa-db-fra.com

Comment utiliser le GPU pour accélérer la vitesse de traitement du filtre ffmpeg?

Selon le site Web des développeurs de NVIDIA, vous pouvez utiliser le GPU pour accélérer le rendu du filtre ffmpeg.

Créez un traitement vidéo accéléré par matériel de bout en bout hautes performances, un codage 1: N et un pipeline de transcodage 1: N à l'aide de> filtres intégrés dans FFmpeg

Possibilité d'ajouter vos propres filtres CUDA hautes performances personnalisés à l'aide de l'implémentation du contexte CUDA partagé dans FFmpeg

Le problème que j'ai maintenant est de savoir comment utiliser le GPU pour accélérer le traitement de plusieurs filtres ffmpeg?

Par exemple:

ffmpeg -loop 1 -i dog.jpg -filter_complex "scale=iw*4:-1,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=720x960" -pix_fmt yuv420p -vcodec libx264 -preset ultrafast -y -r:v 25 -t 5 -crf 28 dog.mp4
3
Zedd W

Vous devrez compiler votre propre build ffmpeg en utilisant leurs extensions - voir https://developer.nvidia.com/ffmpeg pour les instructions car le binaire standard n'inclut pas ces capacités.

0
Offbeatmammal

Solution possible. Non testé, alors faites-moi part de toute erreur ...

ffmpeg -loglevel debug -hwaccel NVENC -loop 1 -i dog.jpg -filter_complex "scale=iw*4:-1,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=720x960" -pix_fmt yuv420p -vcodec h264_nvenc -preset ultrafast -y -r:v 25 -t 5 -crf 28 dog.mp4

Où vous ...

  • Initialisez le codage NVIDIA par -hwaccel NVENC.

  • Définissez le codec sur -vcodec h264_nvenc.

0
VC.One