Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 17009|Répondre: 4

Utilisez ffmpeg accéléré GPU pour traiter des tâches sous Windows

[Copié le lien]
Publié le 07-11-2019 à 21:08:29 | | | |
Téléchargement ffmpeg

Page de téléchargement du site officiel :
La connexion hyperlientérée est visible.
Il est recommandé de télécharger la version compilée et de télécharger la page suivante :
La connexion hyperlientérée est visible.
Je préfère généralement télécharger la dernière version (nommée d’après la date) et bien sûr il existe une version stable (nommée d’après le numéro de version).



Téléchargement CUDA

CUDA est un pilote qui permet au GPU d’effectuer des opérations connexes, car nous développons des applications qui ne contrôlent pas directement le GPU, mais fonctionnent via le pilote.
La connexion hyperlientérée est visible.
Voici la version présentée ci-dessous :
Bien sûr, vous pouvez aussi cliquer sur le lien ci-dessous pour aller directement dans les paramètres lors du téléchargement.
La connexion hyperlientérée est visible.


Après le téléchargement, n’oubliez pas de l’installer, donc je ne vais pas l’introduire, après tout, ils développent tous des logiciels.

commander

Commandes de requête
Vérifiez si le ffmpeg téléchargé prend en charge CUDA, si ce n’est pas le cas (je l’ai téléchargé), puis téléchargez-le à nouveau ou compilez-le vous-même.




Commandes de test

Convertissez le 0.mp4 dans le répertoire courant en 00.mp4
Convertissez le 0.mp4 dans le répertoire courant en 00.mp4 et spécifiez le taux d’images de sortie de 15 (-r 15) et le débit binaire de 500k (-b 500k).
-hwaccel cuvid : Spécifie l’utilisation de l’accélération matérielle cuvid
-c :v h264_cuvid : Décodage vidéo en utilisant h264_cuvid
-c :v h264_nvenc : Encodage vidéo avec h264_nvenc
-vf scale_npp=1280 :-1 : Spécifiez la largeur et la hauteur de la vidéo de sortie, notez que cela diffère de l’échelle -vf=x :x utilisée pour le décodage logiciel

Commandes multiples pour cartes graphiques

Test d’efficacité de transcodage GPU
Sur un serveur équipé de deux processeurs Intel-E5-2630v3 et de deux cartes graphiques Nvidia Tesla M4, le test de transcodage vidéo h264 a été réalisé comme suit :

Temps moyen de transcodage GPU : 8s
Temps moyen de transcodage CPU : 25s

Lors du transcodage en parallèle, l’efficacité de la conversion logicielle du processeur est améliorée, et les 32 cœurs sont tous occupés lorsque les trois tâches de transcodage sont parallèles

Temps moyen de transcodage GPU : 8s
Temps moyen de transcodage CPU : 18s

Il n’est pas difficile de voir que la vitesse de transcodage du GPU n’augmente pas lorsqu’elle est parallèle, ce qui montre qu’un GPU ne peut effectuer qu’une seule tâche de transcodage en même temps. Donc, si plusieurs cartes graphiques sont insérées sur le serveur, ffmpeg utilisera-t-il plusieurs GPU pour le transcodage parallèle ?
Malheureusement, la réponse est non.
FFMPEG n’a pas la capacité d’attribuer automatiquement des tâches de transcodage à différents GPU, mais après quelques recherches, il a été constaté que le GPU utilisé pour la tâche de transcodage peut être spécifié par le paramètre -hwaccel_device !
Soumettre des tâches de transcodage vers différents GPU

Graphismes 0


Carte graphique1

Illustrer:

-hwaccel_device N : Spécifier un GPU pour effectuer une tâche de transcodage, N est un nombre





Précédent:[Combat pratique] Créez une image Docker basée sur Nginx
Prochain:Prototypes de logos de 2000
 Propriétaire| Publié le 07-11-2019 à 21:18:35 |
//参数说明
/*
    * -i nom de fichier(entrée) dossier source
    * -y Sort de nouveaux fichiers, s’il faut forcer l’écrasement des fichiers existants
    * -c Spécifie l’encodeur
    * -fs limit_size(outinput) fixe la limite de taille du fichier, exprimée en octets. Aucun bloc d’octets supplémentaire n’est écrit après que la limite a été dépassée. La taille du fichier de sortie est légèrement supérieure à la taille demandée.
    * -s Ratio vidéo 4:3 320x240/640x480/800x600 16:9 1280x720, valeur par défaut 'wxh', même que la taille vidéo originale
    * -vframes number (output) définit le nombre de frames vidéo à la sortie. Alias : -frames :v
    * -d nombre de trames (sortie) fixe le nombre de trames de données à la sortie. Alias : -frames :d
    * -frames[ :stream_specifier] framecount(output, per-stream) arrête d’écrire dans le flux pour le nombre de trames.
    * -bsf[ :stream_specifier] bitstream_filters (sortie, par flux) spécifie le format du flux de fichiers de sortie,
Par exemple, sortez un fichier MP4 encodé par h264 : ffmpeg -i h264.mp4 -c :v copy -bsf :v h264_mp4toannexb -an out.h264
    * -r 29,97 Zhen rate (peut être modifié, assurez-vous que le taux Zhen non standard désynchronisera le son et l’image, donc il ne peut être réglé qu’à 15 ou 29,97)
    *
    */
 Propriétaire| Publié le 8-11-2019 à 15:07:05 |
ffmpeg.exe -hwaccel_device 1 -hwaccel cuvid -i C :\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\A14.mp4 -y C :\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\A16.avi

https://blog.csdn.net/Tosonw/article/details/90178195


NVCC --version

CUVID est une bibliothèque de décodage vidéo basée sur CUDA qui utilise CUVID pour le décodage


Échec à créer un périphérique Direct3D
Échec de la création de l’appareil : -1313558101.

La version ffmpeg doit correspondre au pilote de carte graphique synchrone pour permettre correctement l’accélération matérielle.


Jetez un œil au codec d’accélération matérielle NVIDIA :

.\ffmpeg.exe -codecs | SLS NVENC
.\ffmpeg.exe -codecs | SLS Cuvid

Le préfixe a les significations suivantes :

Signification du préfixe
D….. = Décodage pris en charge
. E.... = Encodage pris en charge
.. V... = Codec vidéo
.. A... = Codec audio
.. S... = Codec des sous-titres
… Je.. = Codec intra-trame uniquement
....L. = Compression avec perte
….. S = Compression sans perte



ffmpeg.exe -hwaccel_device 1 -hwaccel cuvid -c :v h264_cuvid -i C :\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\A14.mp4 -c :v h264_nvenc -y C :\Users\DELL\Desktop\VideoDemo\ VidéoDémo\bin\Débogue\A16.avi

ffmpeg.exe -hwaccel cuvid -c :v h264_cuvid -i C :\Users\DELL\Desktop\VideoDemo\VideoDemo\VideoDemo\bin\Debug\A14.mp4 -c :v h264_nvenc -y C :\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\ A16.avi


https://developer.nvidia.com/ffmpeg
Publié le 26-02-2023 à 12:11:24 |
Prompt:Les auteurs sont bannis ou le contenu supprimé est automatiquement bloqué
Publié le 26-02-2023 à 12:13:35 |
Prompt:Les auteurs sont bannis ou le contenu supprimé est automatiquement bloqué
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com