- Το FFmpeg είναι ένα εργαλείο γραμμής εντολές Διαπλατφορμικό ικανό για εγγραφή, μετατροπή και επεξεργασία ήχου και βίντεο με υποστήριξη για μεγάλο αριθμό κωδικοποιητών και μορφών.
- Σας επιτρέπει να εκτελείτε τα πάντα, από απλές μετατροπές μορφής έως προηγμένες εργασίες όπως περικοπή, αλλαγή μεγέθους, εισαγωγή λογότυπων, δημιουργία GIF και δημιουργία βίντεο από ακολουθίες εικόνων.
- Το πραγματικό του δυναμικό αναδύεται όταν ενσωματώνεται σε σενάρια και αυτοματοποιημένες ροές εργασίας, όπου μπορεί να συνενώσει κλιπ, να εφαρμόσει μεταβάσεις, να ομαλοποιήσει τον ήχο και να τυποποιήσει την παραγωγή περιεχομένου.
- Με μερικές καλά κατανοητές εντολές, είναι δυνατό να δημιουργήσετε μια αποτελεσματική ροή εργασίας για επεξεργασία και συμπίεση βίντεο χωρίς να βασίζεστε σε δυσκίνητες γραφικές διεπαφές.

Αν εργάζεστε συχνά με βίντεο, αργά ή γρήγορα θα συναντήσετε FFmpeg ως ελβετικό σουγιά για μετατροπή, συμπίεση και αυτοματοποίηση εργασιώνΔεν έχει σημασία αν προέρχεστε από συντάκτες με γραφική διεπαφή, από πλατφόρμες ροής ή απλοί μετατροπείς στο διαδίκτυο: όταν χρειάζεστε εξαιρετικό έλεγχο, σπάνιες μορφές ή μαζικό αυτοματισμό, το FFmpeg μπαίνει στο παιχνίδι.
Είναι επίσης αλήθεια ότι την πρώτη φορά που το βλέπεις, είναι λίγο τρομακτικό: τόνοι παραμέτρων, πολύ μεγάλες εντολές και μηνύματα στο τερματικόΑλλά μόλις κατανοήσετε τη λογική του, γίνεται ένα εξαιρετικά βολικό εργαλείο για επαναλαμβανόμενες εργασίες: αλλαγή μορφών, μείωση μεγέθους αρχείου, περικοπή, προσθήκη λογότυπων, δημιουργία GIF ή δημιουργία βίντεο time-lapse από φωτογραφίες, μεταξύ πολλών άλλων.
Τι είναι το FFmpeg και γιατί χρησιμοποιείται τόσο πολύ στο βίντεο;
Το FFmpeg είναι ένα σύνολο δωρεάν εργαλείων λογισμικού και βιβλιοθηκών. Σχεδιασμένο για εγγραφή, μετατροπή, επεξεργασία και ροή ήχου και βίντεο. Δεν είναι μια εφαρμογή με όμορφα παράθυρα και κουμπιά: ελέγχεται από τη γραμμή εντολών, γεγονός που της προσδίδει απίστευτη ευελιξία και την καθιστά ιδανική για αυτοματοποίηση, διακομιστές και δημιουργία σεναρίων.
Το όνομά του αναφέρεται σε Γρήγορη προώθηση MPEG...αναφερόμενος στην ομάδα που όρισε τα πρότυπα βίντεο MPEG. Από το 2000, όταν ο Fabrice Bellard ξεκίνησε το έργο, η κοινότητα το επεκτείνει σε... η μηχανή πολυμέσων που χρησιμοποιείται από αμέτρητα προγράμματα και υπηρεσίες χωρίς να το γνωρίζετε (πλατφόρμες streaming, επεξεργαστές, μετατροπείς κ.λπ.).
Μία από τις μεγαλύτερες αρετές του είναι ότι Υποστηρίζει έναν τεράστιο αριθμό κωδικοποιητών και κοντέινερ (Πώς να επιλέξετε τους καλύτερους κωδικοποιητές για βίντεο): MP4, MOV, MKV, AVI, WebM, FLV, Ogg, κινούμενα GIF, ακολουθίες εικόνων, MP3AAC, OGG, WAV, WMA και πολλές άλλες μορφές. Αν η αγαπημένη σας συσκευή αναπαραγωγής παίζει κάτι, το FFmpeg πιθανώς μπορεί να το διαβάσει ή να το δημιουργήσει.
Επιπλέον, το FFmpeg είναι cross platformΜπορεί να εγκατασταθεί χωρίς κανένα πρόβλημα στο Linux, WindowsmacOS και άλλα συστήματα UnixΚαι παρόλο που χρησιμοποιείται από την κονσόλα, υπάρχουν αρκετές γραφικές διεπαφές που το χρησιμοποιούν στο παρασκήνιο, αν προτιμάτε να προχωρήσετε σταδιακά χωρίς να βλέπετε εντολές.
Πώς να εγκαταστήσετε το FFmpeg σε Windows, macOS και Linux

Πριν ξεκινήσουμε την έκδοση εντολών, πρέπει να εγκαταστήσουμε το εργαλείο. Η διαδικασία ποικίλλει ανάλογα με το λειτουργικό σύστημα.Αλλά σε όλες τις περιπτώσεις, γίνεται μόνο μία φορά και μετά το ξεχνάς.
Εγκατάσταση FFmpeg σε Windows
Στα Windows έχετε αρκετές επιλογές, αλλά μία από τις πιο συνηθισμένες είναι η λήψη ενός στατικό πακέτο που έχει ήδη μεταγλωττιστείΑυτό σας γλιτώνει από το να μεταγλωττίζετε οτιδήποτε ή να ασχολείστε με εξαρτήσεις.
Μια τυπική ροή εργασίας θα ήταν κάπως έτσι: πηγαίνετε στον επίσημο ιστότοπο του FFmpeg ή σε μια αξιόπιστη σελίδα builds, descargas ένα "στατική" έκδοση σε μορφή ZIP ή 7zΤο εξάγετε στον φάκελο που θέλετε (για παράδειγμα, σε μια δευτερεύουσα μονάδα δίσκου) και μέσα θα δείτε έναν κατάλογο με αρκετούς υποκαταλόγους, συμπεριλαμβανομένων bin, όπου βρίσκονται τα εκτελέσιμα αρχεία ffmpeg.exe, ffplay.exe και ffprobe.exe.
Για να αποφύγετε να χρειάζεται να πηγαίνετε πάντα σε αυτόν τον φάκελο, η ιδανική λύση είναι προσθέστε τη διαδρομή προς τον κατάλογο bin στις μεταβλητές περιβάλλοντος συστήματοςΑπό τον Πίνακα Ελέγχου > Σύστημα > Ρυθμίσεις συστήματος για προχωρημένους > Μεταβλητές Περιβάλλοντος, εντοπίστε τη μεταβλητή Διαδρομή, επεξεργαστείτε την και προσθέστε την πλήρη διαδρομή σε αυτόν τον φάκελο bin. Από εκεί, θα μπορείτε να γράψετε ffmpeg σε οποιαδήποτε κονσόλα και θα τρέξει.
Μια άλλη πολύ βολική εναλλακτική λύση είναι η χρήση ενός διαχειριστής πακέτων όπως το Chocolatey και εκτελέστε το σε μια κονσόλα διαχειριστή: choco install ffmpegΟ ίδιος ο διαχειριστής χειρίζεται την εγκατάσταση και το PATH.
Εγκατάσταση FFmpeg σε macOS
En MacΟ πιο πρακτικός τρόπος είναι να τραβήξετε HomebrewΑν δεν το έχετε, εγκαταστήστε το επικολλώντας το γραφή Υπεύθυνος εγκατάστασης στο τερματικό. Μόλις τεθεί σε λειτουργία, απλώς:
brew install ffmpeg
και σε λίγα λεπτά θα έχετε ffmpeg έτοιμο για χρήση από οποιοδήποτε τερματικόΤο Homebrew χειρίζεται αυτόματα εξαρτήσεις, διαδρομές και μελλοντικές ενημερώσεις.
Αν προτιμάτε να το κάνετε μόνοι σας, μπορείτε επίσης να το κατεβάσετε ήδη μεταγλωττισμένα δυαδικά αρχεία για macOS, αλλά στην πράξη, με το Homebrew γλιτώνετε πολλή ταλαιπωρία και μπορείτε να διατηρείτε το FFmpeg ενημερωμένο με ένα απλό brew upgrade ffmpeg.
Εγκατάσταση του FFmpeg σε Linux
Στις περισσότερες σύγχρονες διανομές, Το FFmpeg είναι διαθέσιμο στα επίσημα αποθετήριαΣτο Debian, το Ubuntu και τα παράγωγά του, για παράδειγμα, Μπορείτε να το εγκαταστήσετε με:
sudo apt install ffmpeg
Σε άλλες διανομές ο διαχειριστής πακέτων θα αλλάξει, αλλά η ιδέα είναι η ίδια: Εγκαθιστάτε το πακέτο ffmpeg και τα σχετικά εργαλεία του, όπως το ffprobe. Αν στη συνέχεια εκτελέσετε which ffmpeg και παίρνεις κάτι σαν /usr/bin/ffmpegΌλα είναι καλά.
Σε πιο προηγμένα σενάρια (για παράδειγμα, διακομιστές που χρειάζονται ειδική υποστήριξη για συγκεκριμένους κωδικοποιητές ή βιβλιοθήκεςΚάποιοι προτιμούν να μεταγλωττίζουν το FFmpeg από τον πηγαίο κώδικα και να προσθέτουν χειροκίνητα ενότητες όπως LAME για MP3, libogg, libvorbis ή να το ενσωματώνουν με το mplayer. Σε αυτές τις περιπτώσεις, αυτές οι βιβλιοθήκες λαμβάνονται και μεταγλωττίζονται εκ των προτέρων και τα δικαιώματα και οι διαδρομές προσαρμόζονται (LD_LIBRARY_PATH) και οι συμβολικοί σύνδεσμοι δημιουργούνται σε /usr/lib προς τις βιβλιοθήκες FFmpeg στο /usr/local/lib.
Κατανόηση της βασικής σύνταξης του FFmpeg

Μόλις εγκατασταθεί, το επόμενο βήμα είναι να κατανοήσετε Πώς να γράψετε μια ελάχιστη εντολή FFmpegΗ γενική δομή είναι συνήθως:
ffmpeg -i entrada.ext salida.ext
Η βασική παράμετρος είναι -iΑυτό υποδεικνύει το αρχείο ή τη ροή εισόδου. Όλα όσα προσθέτετε πριν και μετά από αυτήν την επιλογή είναι ρυθμίσεις που επηρεάζουν τον τρόπο επεξεργασίας και δημιουργίας της εξόδου.
Αν απλά θέλετε λήψη τεχνικών πληροφοριών από ένα αρχείο βίντεο, μπορείς να χρησιμοποιήσεις:
ffmpeg -hide_banner -i video.mp4
Με αυτό, το FFmpeg εμφανίζει λεπτομέρειες όπως διάρκεια, ρυθμός μετάδοσης bit, κωδικοποιητές βίντεο και ήχου, ανάλυση, ρυθμός καρέ και άλλα μεταδεδομένα. Η παράμετρος -απόκρυψη_πανό Σας εμποδίζει να δείτε το τεράστιο αρχικό μπλοκ διαμόρφωσης και μεταγλώττισης και σας επιτρέπει να εστιάσετε στις πραγματικά χρήσιμες πληροφορίες.
Μερικές πολύ χρήσιμες καθολικές παράμετροι που θα σας καθοδηγήσουν είναι:
- -μορφές: παραθέτει τις υποστηριζόμενες μορφές (κοντέινερ).
- -κωδικοποιητές: εμφανίζει όλους τους κωδικοποιητές εισόδου και εξόδου.
- -αποκωδικοποιητές: περιγράφει λεπτομερώς τους κωδικοποιητές που έγιναν δεκτοί ως είσοδος.
- -κωδικοποιητές: παραθέτει τους κωδικοποιητές που μπορείτε να χρησιμοποιήσετε κατά την εξαγωγή.
Με αυτές τις ελάχιστες πληροφορίες, μπορείτε να ξεκινήσετε μετατρέψτε από τη μία μορφή στην άλλη απλώς αλλάζοντας την επέκταση εξόδου. Για παράδειγμα:
ffmpeg -i video_origen.mov video_destino.mp4
Σε αυτήν την περίπτωση, το FFmpeg θα επιλέξει λογικοί κωδικοποιητές ανάλογα με την επέκτασηΓια παράδειγμα, H.264 για βίντεο και AAC για ήχο σε MP4, εκτός αν ορίσετε διαφορετικά.
Κωδικοποιητές, κοντέινερ και βασικές παράμετροι ποιότητας
Για να αξιοποιήσετε στο έπακρο το FFmpeg, είναι σημαντικό διαφοροποίηση μεταξύ κωδικοποιητή και κοντέινερΤο MP4 (κοντέινερ) δεν είναι το ίδιο με το H.264 ή το H.265 (κωδικοποιητές βίντεο), αν και οι όροι συχνά συγχέονται στην καθημερινή γλώσσα.
Un κωδικοποιητής Είναι ο αλγόριθμος που συμπιέζει και αποσυμπιέζει τη ροή δεδομένων ήχου ή βίντεο (H.264, H.265/HEVC, AV1, VP9, AAC, MP3, Ogg Vorbis, κ.λπ.). δοχείο (MP4, MKV, AVI, MOV, WebM, Ogg, κ.λπ.) είναι το «περιτύλιγμα» που μπορεί να περιέχει πολλά κομμάτια βίντεο και ήχου, υπότιτλους και μεταδεδομένα.
Μερικά συνηθισμένα δοχεία είναι:
- AVI: ένα κλασικό πρόγραμμα των Windows, ευρέως χρησιμοποιούμενο αλλά με σύγχρονους περιορισμούς.
- MOV: Τυπική μορφή QuickTime, που χρησιμοποιείται ευρέως σε περιβάλλοντα Apple.
- MP4: τυπικό κοντέινερ για MPEG-4, εξαιρετικά συμβατό σε όλες τις συσκευές.
- Ogg- Ανοίξτε ένα κοντέινερ για κωδικοποιητές όπως Vorbis ή Theora.
- MKVΜορφή Matroska, πολύ ευέλικτη και ανοιχτή, ιδανική για κύρια αρχεία και αρχειοθέτηση.
Στο FFmpeg μπορείτε να ελέγξετε την ποιότητα κυρίως με παραμέτρους όπως -β: v (ρυθμός μετάδοσης bit βίντεο), -β:α (ρυθμός μετάδοσης bit ήχου) ή το δημοφιλές CRF σε κωδικοποιητές όπως H.264 ή H.265. Για παράδειγμα:
ffmpeg -i video.avi -b:v 2500k -b:a 192k salida.mp4
Σε αυτήν την περίπτωση, επιβάλλετε ρυθμό μετάδοσης bit βίντεο 2.500 kb / s και μία ηχογράφηση του 192 kb / sΥψηλότερος ρυθμός μετάδοσης bit γενικά σημαίνει υψηλότερη ποιότητα αλλά και μεγαλύτερο μέγεθος αρχείου και αντίστροφα. Με το CRF (Constant Rate Factor), η λογική αλλάζει ελαφρώς, επειδή Μια χαμηλότερη τιμή σημαίνει υψηλότερη ποιότητα και μεγαλύτερο μέγεθος αρχείου.Στο H.265, για παράδειγμα, ένα CRF περίπου 18-22 είναι συχνά σχεδόν αδιαχώριστο από το πρωτότυπο σε πολλές περιπτώσεις.
Μετατροπή βίντεο, συμπίεση και αλλαγή μορφής
Μία από τις πιο συνηθισμένες χρήσεις του FFmpeg είναι Μετατρέψτε και επανασυμπιέστε βίντεο για να τα κάνετε μικρότερα ή να αλλάξετε τη μορφή τους.διατηρώντας παράλληλα λογική ποιότητα. Αν προτιμάτε μια εναλλακτική λύση με γραφική διεπαφή, μπορείτε να δείτε Πώς να επεξεργαστείτε και να μετατρέψετε βίντεο χρησιμοποιώντας VLC.
Για ένα βασική μετατροπήΑπλώς υποδείξτε τα σημεία εισόδου και εξόδου:
ffmpeg -i origen.avi destino.mpg
Αν θέλετε να βελτιώσετε τις ρυθμίσεις, μπορείτε να καθορίσετε τους κωδικοποιητές βίντεο και ήχου, τη λειτουργία ποιότητας και το κοντέινερ. Για παράδειγμα, για Συμπίεση βίντεο χρησιμοποιώντας H.265 (libx265) με πολύ καλή ποιότητα και χωρίς να αγγίξετε τον ήχο:
ffmpeg -i "input.mp4" -c:v libx265 -preset veryslow -crf 18 -c:a copy "salida_comprimida.mkv"
Εδώ χρησιμοποιείτε:
- -c:v libx265Κωδικοποιητής βίντεο H.265 (πολύ αποτελεσματικός).
- -προεπιλογή πολύ αργή: πιο αργή κωδικοποίηση αλλά με καλύτερη συμπίεση.
- -crf 18: πολύ υψηλή ποιότητα· μπορείτε να φτάσετε έως και 20-22 αν θέλετε λιγότερο βάρος.
- -c:ένα αντίγραφο: αντιγράφει τον ήχο ως έχει, χωρίς να τον επανασυμπιέζει.
Αν προτιμάτε συμπιέστε και τον ήχο Για AAC στα 128 kb/s, θα μπορούσατε να χρησιμοποιήσετε:
ffmpeg -i input.mp4 -c:v libx265 -preset veryslow -crf 18 -c:a aac -b:a 128k output.mkv
Η μορφή κοντέινερ MKV είναι πολύ σταθερή και ευέλικτη για αυτό το είδος εργασίας. Αν χρειαστείτε οπωσδήποτε ένα MP4 αργότερα, μπορείτε επαναπολυπλεξία (αλλαγή δοχείου χωρίς επανασυμπίεση) με:
ffmpeg -i salida.mkv -c copy salida_final.mp4
Αυτό το τελευταίο βήμα είναι γρήγοραεπειδή αλλάζει μόνο το "περιτύλιγμα" του αρχείου, χωρίς να αγγίξετε το περιεχόμενο βίντεο και ήχου.
Βασικές λειτουργίες επεξεργασίας με το FFmpeg
Το FFmpeg σας επιτρέπει επίσης να εκτελέσετε πολλές κλασικές εργασίες επεξεργασίας χωρίς να ανοίξετε ένα πρόγραμμα επεξεργασίας βίντεο βαρέως τύπουΔεν είναι βολικό για δημιουργική επεξεργασία μεγάλης κλίμακας, αλλά για συγκεκριμένες εργασίες είναι άμεσο.
Κόψτε ένα κομμάτι του χρόνου
Αν θέλετε να εξαγάγετε ένα συγκεκριμένο τμήμα από ένα βίντεο, μπορείτε να χρησιμοποιήσετε τις επιλογές -δ, -t y -προς το. Για παράδειγμα:
ffmpeg -i video.mp4 -ss 35 -t 30 fragmento.mp4
Στην περίπτωση αυτή, Ξεκινάς από το δεύτερο 35ο και εξάγετε 30 δευτερόλεπτα. Μια άλλη παραλλαγή θα ήταν:
ffmpeg -i video.mp4 -ss 00:00:35 -to 00:01:05 fragmento.mp4
Εδώ ορίζετε ώρα έναρξης και ώρα λήξης με τη μορφή ώρες:λεπτά:δευτερόλεπτα. Ανάλογα με τη σειρά με την οποία τα τοποθετείτε. -δ όσον αφορά -iΗ κοπή θα είναι ταχύτερη αλλά λιγότερο ακριβής ή αντίστροφα. Για τις περισσότερες πρακτικές χρήσεις μπορείτε να την αφήσετε όπως στα παραδείγματα.
Αλλαγή ανάλυσης βίντεο
Για να προσαρμόσετε ένα βίντεο σε άλλη ανάλυση, για παράδειγμα από 1920×1080 σε 1280 × 720, μπορείς να χρησιμοποιήσεις:
ffmpeg -i entrada.mov -s 1280x720 salida.mp4
Παράμετρος -s ορίστε το μέγεθος εξόδου. Μπορείτε επίσης να χρησιμοποιήσετε φίλτρα βίντεο (-vf κλίμακα=) για να έχουν μεγαλύτερο έλεγχο στην αναπροσαρμογή κλίμακας ή για να διατηρήσουν συγκεκριμένες αναλογίες.
Διαγραφή ή εξαγωγή κομματιών ήχου
Αν θέλετε κρατήστε μόνο τον ήχο Για παράδειγμα, από ένα βίντεο MP3, μπορείτε να χρησιμοποιήσετε:
ffmpeg -i video.avi -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio.mp3
Αυτό υποδεικνύει ότι δεν θέλετε βίντεο με -vnΗ συχνότητα δειγματοληψίας και τα κανάλια ρυθμίζονται και ορίζεται ένας λογικός ρυθμός μετάδοσης bit ήχου για MP3.
Αν θέλετε αυτό που θέλετε αφαίρεση ήχου από βίντεο Για να αφήσετε μόνο την εικόνα, θα μπορούσατε να χρησιμοποιήσετε:
ffmpeg -i entrada.mp4 -an -c:v copy salida_sin_audio.mp4
η επιλογή -ένα Αφαιρεί τον ήχο, ενώ -c: v αντίγραφο Αποφύγετε την επανασυμπίεση του βίντεο, εξοικονομώντας χρόνο και διατηρώντας την ποιότητα.
Εισαγωγή λογότυπων ή υδατογραφημάτων
Για να τοποθετήσετε ένα σταθερό λογότυπο σε μια γωνία του βίντεο, μπορείτε να χρησιμοποιήσετε το φίλτρο. επικάλυμμαΈνα τυπικό παράδειγμα:
ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=10:10" salida.mp4
Σε αυτήν την εντολή, επικάλυψη=10:10 Αυτό υποδεικνύει ότι το λογότυπο βρίσκεται 10 pixel από την αριστερή άκρη και 10 pixel από την κορυφή. Αν θέλετε να το μετακινήσετε στην κάτω δεξιά γωνία, μπορείτε να χρησιμοποιήσετε εκφράσεις που βασίζονται στο πλάτος και το ύψος:
overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)
Με αυτόν τον τρόπο, το λογότυπο προσαρμόζεται σε οποιαδήποτε ανάλυση βίντεο χωρίς να χρειάζεται να υπολογίζετε τις θέσεις χειροκίνητα.
Εργασία με εικόνες: εξαγωγή καρέ και δημιουργία βίντεο
Το FFmpeg δεν είναι μόνο για κλασικά βίντεο. Είναι επίσης πολύ ισχυρό για μετατροπή μεταξύ βίντεο και εικόνωντο οποίο είναι ιδανικό για time-lapse, stop-motion ή για την ανάλυση συγκεκριμένων καρέ.
Εξαγωγή εικόνων από βίντεο
Αν θέλετε να μετατρέψετε κάθε καρέ Σε μια εικόνα, κάτι τέτοιο είναι αρκετό (δείτε περισσότερες επιλογές στο Πώς να εξαγάγετε καρέ από βίντεο και GIF):
ffmpeg -i video.mp4 image%d.jpg
Αυτό θα δημιουργήσει ένα αρχείο ανά πλαίσιο: εικόνα1.jpg, εικόνα2.jpg, εικόνα3.jpg…Αν το βίντεο είναι μεγάλο, θα καταλήξετε με χιλιάδες εικόνες, επειδή τα περισσότερα βίντεο τρέχουν με ταχύτητα μεταξύ 25 και 30 fps.
Για να αποφύγετε τη δημιουργία τεράστιου αριθμού αρχείων, μπορείτε να περιορίσετε την εξαγωγή με ένα φίλτρο. fpsΓια παράδειγμα, μία εικόνα ανά δευτερόλεπτο:
ffmpeg -i video.mp4 -vf fps=1 image%d.png
Με αυτόν τον τρόπο, εξάγεται μόνο μία εικόνα ανά δευτερόλεπτο από το αρχικό βίντεο, ιδανική για τη δημιουργία οπτικών περιλήψεων ή αυτόματες μικρογραφίες.
Δημιουργήστε ένα βίντεο από εικόνες (time-lapse και παρουσιάσεις διαφανειών)
Αν έχετε μια ακολουθία αριθμημένων φωτογραφιών (για παράδειγμα, εικόνα-01.png, εικόνα-02.png, εικόνα-03.png…Μπορείτε εύκολα να δημιουργήσετε ένα βίντεο:
ffmpeg -framerate 5 -i img-%02d.png video.avi
Στην περίπτωση αυτή, -ρυθμός καρέ 5 Καθορίζει ότι στο βίντεο που προκύπτει θα χρησιμοποιηθούν 5 εικόνες ανά δευτερόλεπτο. Εάν πρόκειται για φωτογραφίες από time-lapse, ίσως θελήσετε να αυξήσετε την ταχύτητα για ομαλότερη κίνηση ή να τη μειώσετε για πιο χαλαρή παρουσίαση.
Το FFmpeg κατανοεί διάφορα μοτίβα ονοματοδοσίας:
- όνομα αρχείου-%03d.png- Αντιστοιχίζει το filename-001.png με το filename-999.png.
- όνομα αρχείου-%d.png- Ταιριάζει με τα filename-1.png, filename-2.png, κ.λπ.
- όνομα αρχείου-*.png: πιο γενικό μοτίβο, για όταν δεν ακολουθείτε αυστηρή αρίθμηση (σε αυτήν την περίπτωση θα χρειαστείτε πρόσθετες παραμέτρους για να ελέγξετε τη σειρά).
Εάν θέλετε επίσης να επιβάλετε το βίντεο εξόδου σε MP4 με ένα συγκεκριμένο ρυθμός καρέ αναπαραγωγήςΜπορείτε να κάνετε κάτι σαν αυτό:
ffmpeg -framerate 1 -i img%03d.png -r 25 -pix_fmt yuv420p output.mp4
Εδώ ορίζετε ένα λήψη 1 εικόνας ανά δευτερόλεπτο και ρυθμό καρέ αναπαραγωγής 25 fps, με μορφή pixel συμβατή με τις περισσότερες συσκευές αναπαραγωγής.
Δημιουργήστε κινούμενα GIF και απλά εφέ
Ένα άλλο κλασικό χαρακτηριστικό του FFmpeg είναι η μετατροπή μικρών βίντεο σε Κινούμενα GIF για ιστότοπους ή δίκτυαΗ διαδικασία μπορεί να απλοποιηθεί σε μία μόνο γραμμή ή να γίνει σε πολλά βήματα για βελτίωση της ποιότητας.
Για η πιο άμεση περίπτωση:
ffmpeg -i entrada.mp4 salida.gif
Αυτό θα σας δώσει ένα λειτουργικό GIF, αν και ίσως όχι βελτιστοποιημένο. Αν θέλετε καλύτερο έλεγχο του μεγέθους και της ποιότητας, μια επιλογή είναι επαναπροσαρμόστε την κλίμακα του βίντεο, δημιουργήστε καρέ PNG και, στη συνέχεια, δημιουργήστε το GIF από αυτά. Για παράδειγμα:
ffmpeg -i input.mp4 -vf scale=640x360 -c:v h264 -crf 18 -c:a aac salida_intermedia.mp4
ffmpeg -i salida_intermedia.mp4 frame%04d.png
ffmpeg -i salida_intermedia.mp4 salida.gif
Ή χρησιμοποιήστε εξωτερικά εργαλεία επεξεργασίας GIF για ακόμα πιο λεπτό φινίρισμα. Αυτός ο τύπος ροής εργασίας σάς επιτρέπει να διατηρείτε ένα Πλήρης έλεγχος της ανάλυσης, της ποιότητας και του μεγέθους του τελικού αρχείου.
Αυτοματοποιήστε την επεξεργασία βίντεο με σενάρια και YAML
Εκεί που πραγματικά ξεχωρίζει το FFmpeg είναι όταν το ενσωματώνετε σενάρια που αυτοματοποιούν επαναλαμβανόμενες εργασίεςΑν παράγετε τον ίδιο τύπο βίντεο κάθε εβδομάδα (μαθήματα, συνεντεύξεις, θεματικά άρθρα...), μπορείτε να ορίσετε μια τυπική ροή εργασίας και να αφήσετε ένα σενάριο να κάνει σχεδόν τα πάντα.
Μια πολύ ισχυρή προσέγγιση είναι να περιγράψετε το έργο σας με Αρχείο YAML (config.yml)όπου περιγράφετε λεπτομερώς ποια κλιπ, εικόνες, διάρκειες, περικοπές, τόμους και μεταβάσεις θέλετε και στη συνέχεια ένα σενάριο φροντίζει να τα μεταφράσει σε σύνθετες εντολές FFmpeg.
Με αυτό το σύστημα μπορείτε, για παράδειγμα, ορίστε μια λίστα στοιχείων (εικόνες, βίντεο, κομμάτια ήχου) τα οποία υποβάλλονται σε επεξεργασία ξεχωριστά (περικοπή, αλλαγή έντασης, επανακλίμακα, ομαλοποίηση) σε έναν προσωρινό κατάλογο και στη συνέχεια συνενώνονται με ακρίβεια χιλιοστού, διατηρώντας συγχρονισμένο τον ήχο και το βίντεο.
Τυπικές περιπτώσεις χρήσης περιλαμβάνουν:
- Δημιουργήστε εκπαιδευτικά βίντεο από διαφάνειες + σύντομα αποσπάσματα.
- Δημιουργήστε κάψουλες πληροφοριών που αποτελούνται από διάφορα τυποποιημένα μπλοκ.
- Δημιουργήστε εισαγωγές και λήξεις θεσμικών οργάνων για μια ολόκληρη σειρά βίντεο.
Παραδείγματα πρακτικών σεναρίων με FFmpeg
Με βάση αυτή την ιδέα του αυτοματισμού, μπορεί κανείς να χτίσει διάφορα είδη σεναρίων, από τις πιο απλές έως τις αρκετά περίπλοκες ρυθμίσεις, βασιζόμενοι πάντα στο FFmpeg ως μηχανή.
Γενικό σενάριο για τη συνένωση εικόνων και βίντεο
Ένα σενάριο γενικής χρήσης μπορεί να λειτουργήσει με ένα λίστα ετερογενών στοιχείων περιγράφεται στο YAML (βίντεο, εικόνες, ηχητικά κλιπ), αντιστοιχίζοντας σε κάθε διάρκεια, περικοπές έναρξης και λήξης, σχετική ένταση ήχου κ.λπ. Το σενάριο δημιουργεί προ-προσαρμοσμένες προσωρινές εκδόσεις και στη συνέχεια δημιουργεί ένα αρχείο λίστας για να συνενώσετε τα πάντα χρησιμοποιώντας το FFmpeg.
Αυτό σας δίνει εξαιρετικό έλεγχο στα εξής:
- Τελική επίλυση και FPS του έργου.
- Όγκος κάθε τμήματος ξεχωριστά.
- Έναρξη και τέλος κάθε κλιπ χωρίς άνοιγμα επεξεργαστή γραφικών.
Απλό σενάριο: εικόνα εξωφύλλου + κύριο βίντεο
Ένα ακόμη πιο συνηθισμένο σενάριο είναι η επιθυμία να εμφάνιση στατικής διαφάνειας ως εικόνα εξωφύλλου (τίτλος, λογότυπο, λεπτομέρειες συμβάντος) για λίγα δευτερόλεπτα και, στη συνέχεια, ξεκινήστε το κύριο βίντεο.
Το τυπικό σενάριο Κάνει κάτι σαν αυτό:
- Μετατρέψτε την εικόνα εξωφύλλου σε βίντεο κλιπ περίπου 5 δευτερολέπτων.
- Κωδικοποιήστε τόσο το εξώφυλλο όσο και το κύριο κλιπ σε μορφή συμβατή για συνένωση (π.χ., χρησιμοποιώντας mpegts).
- Συνενώνει και τα δύο τμήματα χωρίς να επανασυμπιέζει το περιεχόμενο, γεγονός που επιταχύνει τη διαδικασία και αποτρέπει την απώλεια ποιότητας.
Αυτός ο τύπος λύσης συνήθως αποθηκεύεται σε διαδρομές όπως /αυτοματοποίηση/βίντεο-ανοιχτά-θέματα/ και ενσωματώνονται εύκολα σε ροές εργασίας ηχογράφησης για μαθήματα, διαλέξεις ή ηχογραφημένες παρουσιάσεις.
Σενάριο που αναπτύχθηκε για μοντάζ με μεταβάσεις
Σε υψηλότερο επίπεδο, μπορείτε να δημιουργήσετε ένα σενάριο που συναρμολογεί πολλά μπλοκ με ομαλές μεταβάσεις ήχου και βίντεοΈνα τυπικό παράδειγμα περιλαμβάνει:
- Θεσμική εισαγωγή με μουσική και κινούμενα σχέδια.
- Στατική εικόνα με τον τίτλο και τις λεπτομέρειες της συνάντησης.
- Το κύριο βίντεο έχει εγγραφεί σε raw μορφή (δυνατότητα περικοπής στην αρχή και στο τέλος).
- Κλείσιμο με animation και μουσική.
Με το FFmpeg μπορείτε να εφαρμόσετε φίλτρα όπως xfade (μετάβαση βίντεο) και διαβάθμιση (μετάβαση ήχου) για να κάνετε τις αλλαγές μεταξύ των μπλοκ ομαλές. Επιπλέον, μπορείτε να:
- Περικοπή του κύριου βίντεο εν κινήσει σύμφωνα με τους χρόνους που υποδεικνύονται στο YAML.
- Ρυθμίστε την ένταση ήχου κάθε τμήματος ξεχωριστά.
- Επιβολή τυπικών παραμέτρων όπως ανάλυση 720p και ήχο 44.1 kHz.
Η λογική της συναρμολόγησης ορίζεται σε ένα config.yml με τις διαδρομές κάθε στοιχείου, τη διάρκεια των μεταβάσεων, τα σημεία αποκοπής κ.λπ., και ένα σενάριο σε έναν φάκελο όπως /αυτοματοποίηση/έκδοση-καφέ/ Μεταφράστε όλα αυτά σε μια αλυσίδα φίλτρων και χαρτών στο FFmpeg. Το αποτέλεσμα είναι ένα τελικό βίντεο που είναι οπτικά και ακουστικά συμβατό με ελάχιστη χειροκίνητη προσπάθεια.
Περισσότερες χρήσιμες εντολές και προηγμένα κόλπα
Εκτός από όλα τα παραπάνω, το FFmpeg έχει αμέτρητες χρήσεις Προϊόντα "εξειδικευμένης" ποιότητας που, όταν τα χρειάζεστε, σας σώζουν την κατάσταση. Μεταξύ άλλων:
- Λίστα ή εξαγωγή μεταδεδομένων:
ffmpeg -i INPUT -f ffmetadata metadata.txt. - Αντικατάσταση του ηχητικού κομματιού ενός βίντεο χωρίς να αγγίξετε το βίντεο:
ffmpeg -i video.mp4 -i nuevo_audio.mp3 -map 0:v -map 1:a -c copy salida.mp4. - Δημιουργήστε μια οπτικοποίηση ηχητικών κυμάτων σε βίντεο με το φίλτρο
showwaves, χρήσιμο για βίντεο τύπου podcast. - Αλλαγή μορφής υποτίτλωνΓια παράδειγμα, από VTT σε ASS:
ffmpeg -i subtitulos.vtt salida.assΓια να επεξεργαστείτε εύκολα τους υπότιτλους, μπορείτε να δείτε Χρήση του Word ως προγράμματος επεξεργασίας υποτίτλων. - Ρύθμιση έντασης γρήγορα με
-volή πιο προηγμένα φίλτρα ήχου.
Η πλήρης λίστα είναι σχεδόν αδύνατη στη διαχείριση, αλλά με έναν συνδυασμό επίσημης τεκμηρίωσης και πρακτικών παραδειγμάτων μπορείτε να ξεκινήσετε να δημιουργείτε. το δικό σας ρεπερτόριο εντολών που χρησιμοποιούνται συχνά ώστε να μην χρειάζεται να εφευρίσκουμε τον τροχό κάθε φορά.
Το FFmpeg μετατρέπεται από το να είναι αυτό το "περίεργο πρόγραμμα κονσόλας" σε... ένα κεντρικό εργαλείο για μετατροπή, συμπίεση, μαζική επεξεργασία και αυτοματοποίηση δημιουργίας βίντεοΕίτε στον προσωπικό σας υπολογιστή είτε σε επαγγελματικά σενάρια και ροές εργασίας, μόλις συνηθίσετε να γράφετε μερικές βασικές εντολές, κάθε νέα περίπτωση χρήσης είναι απλώς θέμα προσθήκης μικρών κομματιών σε μια βάση που ήδη κατέχετε.
Παθιασμένος συγγραφέας για τον κόσμο των byte και της τεχνολογίας γενικότερα. Μου αρέσει να μοιράζομαι τις γνώσεις μου μέσω της γραφής, και αυτό θα κάνω σε αυτό το blog, θα σας δείξω όλα τα πιο ενδιαφέροντα πράγματα σχετικά με τα gadget, το λογισμικό, το υλικό, τις τεχνολογικές τάσεις και πολλά άλλα. Στόχος μου είναι να σας βοηθήσω να περιηγηθείτε στον ψηφιακό κόσμο με απλό και διασκεδαστικό τρόπο.
