Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 17009|Απάντηση: 4

Χρησιμοποιήστε το ffmpeg με επιτάχυνση GPU για την επεξεργασία εργασιών στα Windows

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2019-11-7 21:08:29 | | | |
Λήψη FFMPEG

Επίσημη σελίδα λήψης ιστότοπου:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Συνιστάται η λήψη της μεταγλωττισμένης έκδοσης και η λήψη της σελίδας:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Γενικά προτιμώ να κατεβάζω την πιο πρόσφατη έκδοση (που πήρε το όνομά της από την ημερομηνία) και φυσικά υπάρχει μια σταθερή έκδοση (που πήρε το όνομά της από τον αριθμό έκδοσης).



Λήψη CUDA

Το CUDA είναι ένα πρόγραμμα οδήγησης που επιτρέπει στη GPU να εκτελεί σχετικές λειτουργίες, επειδή αναπτύσσουμε εφαρμογές που δεν ελέγχουν άμεσα τη GPU, αλλά λειτουργούν μέσω του προγράμματος οδήγησης.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Εδώ επιλέγω την έκδοση όπως φαίνεται παρακάτω:
Φυσικά, μπορείτε επίσης να κάνετε κλικ στον παρακάτω σύνδεσμο για να μεταβείτε απευθείας στις ρυθμίσεις κατά τη λήψη.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.


Μετά τη λήψη, θυμηθείτε να το εγκαταστήσετε, οπότε δεν θα το παρουσιάσω, άλλωστε όλοι αναπτύσσουν λογισμικό.

εντολή

Εντολές ερωτήματος
Ελέγξτε εάν το ληφθέν ffmpeg υποστηρίζει cuda, εάν δεν το υποστηρίζει (το κατέβασα), κάντε λήψη του ξανά ή μεταγλωττίστε το μόνοι σας.




Δοκιμαστικές εντολές

Μετατρέψτε το 0.mp4 στον τρέχοντα κατάλογο σε 00.mp4
Μετατρέψτε το 0.mp4 στον τρέχοντα κατάλογο σε 00.mp4 και καθορίστε τον ρυθμό καρέ εξόδου 15 (-r 15) και τον ρυθμό μετάδοσης bit 500k (-b 500k).
-hwaccel cuvid: Καθορίζει τη χρήση της επιτάχυνσης υλικού cuvid
-c:v h264_cuvid: Αποκωδικοποίηση βίντεο με χρήση h264_cuvid
-c:v h264_nvenc: Κωδικοποίηση βίντεο με h264_nvenc
-vf scale_npp=1280:-1: Καθορίστε το πλάτος και το ύψος του βίντεο εξόδου, σημειώστε ότι αυτό είναι διαφορετικό από την κλίμακα -vf=x:x που χρησιμοποιείται για μαλακή αποκωδικοποίηση

Πολλαπλές εντολές κάρτας γραφικών

Δοκιμή απόδοσης διακωδικοποίησης GPU
Σε διακομιστή με δύο επεξεργαστές Intel-E5-2630v3 και δύο κάρτες γραφικών Nvidia Tesla M4, η δοκιμή διακωδικοποίησης βίντεο h264 πραγματοποιήθηκε ως εξής:

Μέσος χρόνος διακωδικοποίησης GPU: 8 δευτερόλεπτα
Μέσος χρόνος διακωδικοποίησης CPU: 25 δευτερόλεπτα

Κατά την παράλληλη διακωδικοποίηση, βελτιώνεται η αποτελεσματικότητα της μαλακής μετατροπής της CPU και καταλαμβάνονται και οι 32 πυρήνες όταν οι τρεις εργασίες διακωδικοποίησης είναι παράλληλες

Μέσος χρόνος διακωδικοποίησης GPU: 8 δευτερόλεπτα
Μέσος χρόνος διακωδικοποίησης CPU: 18 δευτερόλεπτα

Δεν είναι δύσκολο να δούμε ότι η ταχύτητα διακωδικοποίησης της GPU δεν αυξάνεται όταν είναι παράλληλη, γεγονός που δείχνει ότι μια GPU μπορεί να εκτελέσει μόνο μία εργασία διακωδικοποίησης ταυτόχρονα. Έτσι, εάν τοποθετηθούν πολλές κάρτες γραφικών στον διακομιστή, το ffmpeg θα χρησιμοποιήσει πολλές GPU για παράλληλη διακωδικοποίηση;
Δυστυχώς, η απάντηση είναι όχι.
Το ffmpeg δεν έχει τη δυνατότητα αυτόματης ανάθεσης εργασιών διακωδικοποίησης σε διαφορετικές GPU, αλλά μετά από κάποια έρευνα, διαπιστώθηκε ότι η GPU που χρησιμοποιείται για την εργασία διακωδικοποίησης μπορεί να καθοριστεί από την παράμετρο -hwaccel_device!
Υποβολή εργασιών διακωδικοποίησης σε διαφορετικές GPU

Γραφικά 0


Κάρτα γραφικών1

Διευκρινίζω:

-hwaccel_device N: Καθορίστε μια GPU για την εκτέλεση μιας εργασίας διακωδικοποίησης, το N είναι ένας αριθμός





Προηγούμενος:[Πρακτική μάχη] Δημιουργήστε μια εικόνα Docker με βάση το Nginx
Επόμενος:2000 πρωτότυπα λογότυπα
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2019-11-7 21:18:35 |
//参数说明
/*
    * -i filename (input) κατάλογος αρχείου προέλευσης
    * -y Εξάγει νέα αρχεία, εάν θα αναγκάσει την αντικατάσταση υπαρχόντων αρχείων
    * -c Καθορίζει τον κωδικοποιητή
    * -fs limit_size(outinput) ορίζει το όριο στο μέγεθος του αρχείου, εκφρασμένο σε byte. Δεν γράφονται άλλα μπλοκ byte μετά την υπέρβαση του ορίου. Το μέγεθος του αρχείου εξόδου είναι ελαφρώς μεγαλύτερο από το ζητούμενο μέγεθος αρχείου.
    * -s αναλογία βίντεο 4:3 320x240/640x480/800x600 16:9 1280x720, προεπιλεγμένη τιμή 'wxh', ίδια με το αρχικό μέγεθος βίντεο
    * -vframes number (output) ορίζει τον αριθμό των καρέ βίντεο στην έξοδο. Ψευδώνυμο: -πλαίσια:v
    * -dframes number (έξοδος) ορίζει τον αριθμό των πλαισίων δεδομένων στην έξοδο. Ψευδώνυμο: -πλαίσια:d
    * -frames[:stream_specifier] framecount(output,per-stream) σταματά να γράφει στη ροή για τον αριθμό των καρέ.
    * -bsf[:stream_specifier] bitstream_filters (έξοδος, ανά ροή) καθορίζει τη μορφή ροής αρχείου εξόδου,
Για παράδειγμα, εξάγετε ένα αρχείο MP4 κωδικοποιημένο από h264: ffmpeg -i h264.mp4 -c:v copy -bsf:v h264_mp4toannexb -an out.h264
    * -r 29,97 Zhen rate (μπορεί να αλλάξει, βεβαιωθείτε ότι ο μη τυπικός ρυθμός Zhen θα κάνει τον ήχο και την εικόνα να μην συγχρονίζονται, επομένως μπορεί να ρυθμιστεί μόνο σε 15 ή 29,97)
    *
    */
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2019-11-8 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 --Έκδοση

Το CUVID είναι μια βιβλιοθήκη αποκωδικοποίησης βίντεο που βασίζεται σε CUDA που χρησιμοποιεί το CUVID για αποκωδικοποίηση


Αποτυχία δημιουργίας συσκευής Direct3D
Η δημιουργία συσκευής απέτυχε: -1313558101.

Η έκδοση ffmpeg πρέπει να αντιστοιχεί στο πρόγραμμα οδήγησης της σύγχρονης κάρτας γραφικών για να ενεργοποιηθεί σωστά η επιτάχυνση υλικού.


Δείτε τον κωδικοποιητή επιτάχυνσης υλικού NVIDIA:

.\ffmpeg.exe -κωδικοποιητές | SLS NVENC
.\ffmpeg.exe -κωδικοποιητές | SLS Cuvid

Το πρόθεμα έχει τις ακόλουθες έννοιες:

Σημασία προθέματος
D….. = Υποστηρίζεται αποκωδικοποίηση
. E.... = Υποστηρίζεται κωδικοποίηση
.. V... = Κωδικοποιητής βίντεο
.. A... = Κωδικοποιητής ήχου
.. S... = Κωδικοποιητής υποτίτλων
… I.. = Κωδικοποιητής μόνο εντός πλαισίου
....L. = Συμπίεση με απώλειες
….. S = Συμπίεση χωρίς απώλειες



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\ VideoDemo\bin\Debug\A16.avi

ffmpeg.exe -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\VideoDemo\bin\Debug\ A16.avi


https://developer.nvidia.com/ffmpeg
Δημοσιεύτηκε στις 2023-2-26 12:11:24 |
Προτροπή:Οι συντάκτες αποκλείονται ή καταργούνται, το περιεχόμενο αποκλείεται αυτόματα
Δημοσιεύτηκε στις 2023-2-26 12:13:35 |
Προτροπή:Οι συντάκτες αποκλείονται ή καταργούνται, το περιεχόμενο αποκλείεται αυτόματα
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com