Προσπάθησα να εγκαταστήσω το ffmpeg στο trusty/Ubuntu 14.04 και πήρα το ακόλουθο μήνυμα:
$sudo apt-get install ffmpeg
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package ffmpeg is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'ffmpeg' has no installation candidate
Γιατί δεν είναι διαθέσιμο το πακέτο;
Το Ubuntu άρχισε να στέλνει το libav fork αντί του FFmpeg στις πρόσφατες εκδόσεις. Αν εγκαταστήσατε το πακέτο ffmpeg, τότε στην πραγματικότητα εγκαταστήσατε το πακέτο libav-tools και ένα πρόγραμμα που σας έλεγε να χρησιμοποιείτε το avconv
αντί του ffmpeg
στο μέλλον, δίνοντας την εντύπωση ότι το ffmpeg έχει καταργηθεί, κάτι που δεν ισχύει.
Το μεταβατικό πακέτο ffmpeg
φαίνεται να έχει αφαιρεθεί από το trusty/Ubuntu 14.04 (συγκρίνετε την λίστα package files για τα saucy και trusty του πακέτου πηγής).
Έτσι, μια επιλογή είναι να εγκαταστήσετε το πακέτο libav-tools και να χρησιμοποιήσετε το avconv
αντ' αυτού (σημειώστε ότι αυτό δεν είναι "mainline" FFmpeg αλλά μια εξέχουσα διακλάδωση αντ' αυτού).
Μια άλλη επιλογή είναι να χρησιμοποιήσετε ένα PPA που παρέχει το FFmpeg. Ρίξτε μια ματιά στη σελίδα FFmpeg download για λεπτομέρειες σχετικά με τα διαθέσιμα PPA και πακέτα. Θα πρέπει να ελέγχετε τα μεμονωμένα PPA κάθε τόσο αν είναι ακόμα ενημερωμένα. Σχετικές ερωτήσεις:
Μια άλλη επιλογή είναι να εγκαταστήσετε τα πακέτα εξάρτησης του FFmpeg και στη συνέχεια να το μεταγλωττίσετε+εγκαταστήσετε χειροκίνητα από τον πηγαίο κώδικα.
Τα παρακάτω είναι ό,τι μπόρεσα να βρω, κατά την έρευνα αυτού του θέματος. Δεν έχω παρακολουθήσει στενά την ανάπτυξη και των δύο έργων και δεν είναι πρόθεσή μου να κατηγορήσω κανέναν. Ούτε και εσείς ως αναγνώστης θα πρέπει να κάνετε το ίδιο.
Πώς συνέβη η διακλάδωση;
Η Wikipedia αναφέρει ότι το forked project καθώς και η αρχική έκδοση ανακοινώθηκαν στις 13 Μαρτίου 2011, ωστόσο υπάρχουν και λίγο περισσότερα που συνέβαιναν.
Ψάχνοντας μέσα από τις εντολές του Git
MAINTAINERS
.avconv
:Δημιουργήστε ένα αντίγραφο του ffmpeg με ένα νέο όνομα -- avconv. >, Θα αναπτυχθεί περαιτέρω με μερικές ασυμβίβαστες αλλαγές. >, Το ffmpeg.c θα παραμείνει ως έχει για κάποιο χρονικό διάστημα, οπότε τυχόν σενάρια που το χρησιμοποιούν δεν θα' σπασμένα.
ffmpeg.c
που έχει διχαστεί, η οποία μπορεί να είναι παραπλανητική για τους χρήστες που δεν έχουν παρατηρήσει για το fork και ότι δεν χρησιμοποιούν πλέον το FFmpeg.ffmpeg.c
αφαιρείται από τον πηγαίο κώδικα.Οι ακόλουθες δημοσιεύσεις είναι από το τμήμα ειδήσεων (με την παλαιότερη στην τελευταία θέση):
Αύγουστος 09 2011
>, Επεξεργασία στις 12.09.2011. >, Για λόγους συνέπειας με το νέο μας όνομα μετονομάσαμε το ffplay σε avplay, ffserver σε avserver και ffprobe σε avprobe. Η συμπεριφορά τους είναι η ίδια η ίδια, απλώς τα ονόματα άλλαξαν. >, Με το ffmpeg (το εργαλείο γραμμής εντολών) αποφασίσαμε να χρησιμοποιήσουμε αυτή την ευκαιρία να διορθώσουμε ορισμένα μακροχρόνια προβλήματα ευχρηστίας, τα οποία συνεπάγονται το σπάσιμο συμβατότητα. Ως εκ τούτου, προσθέσαμε ένα νέο εργαλείο με το όνομα avconv το οποίο βασίζεται στο ffmpeg, αλλά έχει ένα διαφορετικό (ελπίζουμε πιο ισχυρό και ευκολότερη στη χρήση) σύνταξη για ορισμένες επιλογές. Το ffmpeg θα διατηρηθεί στο τρέχουσα κατάσταση για κάποιο χρονικό διάστημα, οπότε κανένα σενάριο ή frontend που το χρησιμοποιεί δεν θα break. Ωστόσο, δεν θα αναπτυχθεί περαιτέρω. >, Οι διαφορές μεταξύ avconv και ffmpeg είναι: >, [...] >, Σημειώστε ότι η διεπαφή avconv δεν θεωρείται ακόμη σταθερή. Περισσότερα ασυμβίβαστες αλλαγές ενδέχεται να έρθουν τις επόμενες εβδομάδες. Θα ανακοινώσουμε εδώ όταν η avconv θα είναι σταθερή. Και νωρίτερα το 2011:
Mar 18, 2011
>, Μόλις προωθήσαμε άλλη μια έκδοση σημείου από τον κλάδο έκδοσης 0.6: Libav 0.6.2. Αυτή είναι μια άλλη έκδοση μόνο για συντήρηση που αφορά δύο θέματα ασφάλειας. >, Από εδώ και στο εξής, θα χρησιμοποιούμε το νέο όνομα του έργου μας libav. Αλλά μην't ανησυχείτε, σε σύγκριση με την προηγούμενη έκδοση 0.6.1, η μόνη λειτουργική αλλαγές είναι οι δύο διορθώσεις ασφαλείας για τους αποκωδικοποιητές VC1 και APE. Αυτό το σημαίνει ότι η libav παρέχει μια ανώδυνη drop-in αντικατάσταση για τις υπάρχουσες εγκαταστάσεις FFmpeg. >, Επιπλέον, είμαστε υπερήφανοι που συνοδεύουμε αυτή την έκδοση πηγαίου κώδικα με εκτελέσιμα αρχεία και βιβλιοθήκες για την πλατφόρμα win32. Αυτά τα δυαδικά αρχεία περιλαμβάνουν κωδικοποίηση H.264 χρησιμοποιώντας τη βιβλιοθήκη x264 που περιλαμβάνεται στο πακέτο. Απολαύστε! >, Οι διανομείς και οι ολοκληρωτές συστημάτων ενθαρρύνονται να ενημερώσουν και να μοιραστούν τα διορθωτικά τους σε σχέση με τους κλάδους της έκδοσής μας. >, Mar 17, 2011 >, Μόλις προωθήσαμε άλλη μια έκδοση σημείου από τον κλάδο έκδοσης 0.5: FFmpeg 0.5.4. Αυτή είναι μια άλλη έκδοση μόνο για συντήρηση που αντιμετωπίζει μια σειρά από ζητήματα ασφαλείας. >, Οι διανομείς και οι ολοκληρωτές συστημάτων ενθαρρύνονται να ενημερώσουν και να μοιραστούν τα διορθωτικά τους στοιχεία έναντι των κλάδων της έκδοσής μας. >,
13 Μαρτίου 2011
>, Εμείς, ως ομάδα προγραμματιστών του FFmpeg, αποφασίσαμε να συνεχίσουμε την ανάπτυξη του FFmpeg με το όνομα Libav. Όλες οι υπάρχουσες υποδομές θα μεταφερθούν στον τομέα libav.org. >,
- Ιστοσελίδα: http://www.libav.org/
- Git: git://git.libav.org/libav.git (βλ. http://libav.org/download.html)
- FATE: http://fate.libav.org/
- Roundup: https://roundup.libav.org/
- Patchwork: http://patches.libav.org/
- Mailinglists: http://lists.libav.org/ (λίστα προγραμματιστών: [email protected]) >, Μπορείτε να ενημερώσετε το git αποθετήριο σας χρησιμοποιώντας την ακόλουθη εντολή: >, git remote set-url origin 'git://git.libav.org/libav', >, Προς το παρόν εξακολουθούμε να είμαστε προσβάσιμοι μέσω των λιστών αλληλογραφίας του FFmpeg'και του IRC κανάλια, αλλά θα μεταφερθούμε στα αντίστοιχα του libav.org. Για μια μεταβατική περίοδο τόσο ο ιστότοπος όσο και ο πηγαίος κώδικας μπορεί να εξακολουθούν να περιέχουν αναφορές στο FFmpeg. Αυτές θα εξαφανιστούν με την πάροδο του χρόνου, εκτός από τις περιπτώσεις όπου ιστορικά σχετικές. >,
24 Φεβρουαρίου 2011
>, Η ανάπτυξη του FFmpeg έχει μεταφερθεί στο Git, και το αποθετήριο SVN δεν είναι δεν ενημερώνεται πλέον. Το αποθετήριο SVN μπορεί να αφαιρεθεί στο εγγύς μέλλον, οπότε συνιστάται να χρησιμοποιήσετε ένα αποθετήριο Git αντί αυτού. >, Η τελευταία αναθεώρηση που διατέθηκε στο SVN ήταν η r26402 στις 2011-01-19 και αντικατέστησε το svn:external libswscale με ένα αυτόνομο αντίγραφο. Σημειώστε ότι η ανάπτυξη του FFmpeg έχει στην πραγματικότητα μεταφερθεί σε ένα αποθετήριο Git μέχρι τώρα και ότι υπάρχουν δύο αποθετήρια Git. Δείτε τη σελίδα λήψης των αντίστοιχων έργων.
Το ffmpeg
αντικαταστάθηκε σε προηγούμενες εκδόσεις από το πρόγραμμα avconv
από το πρόγραμμα libav.
Για να εγκαταστήσετε το avconv
πρέπει να εγκαταστήσετε το πακέτο libav-tools
:
sudo apt-get install libav-tools
Το avconv
μοιάζει πολύ με το ffmpeg
, αλλά έχουν επίσης κάποιες διαφορές στη σύνταξη.
Επεξεργασία: Φαίνεται ότι το Ubuntu 16.04LTS έχει και πάλι το ffmpeg
στα αποθετήριά του, οπότε το libav-tools είναι ένα εικονικό πακέτο και δημιουργεί μόνο ένα ψευδώνυμο avconv -> ffmpeg
(και άλλα)
Το πακέτο FFMPEG έχει αφαιρεθεί εδώ και αρκετό καιρό από τα αποθετήρια του Debian. Υπάρχει ακόμα μια συνεχιζόμενη συζήτηση σχετικά με την επαναφορά του πακέτου στα αποθετήρια. Το Ubuntu ως παράγωγο του Debian, εξαρτάται από τις αποφάσεις που λαμβάνονται στο upstream. Εδώ και πολύ καιρό, το πακέτο ήταν απλά άδειο με μια εξάρτηση από τη libav. Αυτό άλλαξε στις 12 Μαΐου 2012, όταν το πακέτο εγκαταλείφθηκε και αφαιρέθηκε από τα αρχεία:
libav (6:0.8.99-1537-gacb2c79-1) experimental; urgency=low
* New upstream snapshot
- Drop patches applied upstream
- Longer build libpostproc, dropped upstream
- follow soname bump of libavcodec and libavformat 53->54
- New library: libswresample
* no longer build and use dirac, removed upstream in favor of libschroedinger
* remove deprecated ffmpeg package
* bump shlibs version
-- Reinhard Tartler <[email protected]> Sat, 12 May 2012 22:02:03 +0200