Bagaimana cara mengganti avconv dengan ffmpeg (yang asli) dan membuatnya berfungsi dengan benar?

27

UPDATE (teks asli dipertahankan di bawah)

Dengan ffmpeg nyata akan kembali (dalam 15.04), PPA Jon Severinsson tidak lagi berfungsi (untuk ffmpeg), dan keduanya avconv-ffmpeg (sekarang disebut " libav ") dan ffmpeg nyata (sekarang kembali ke " ffmpeg ") turun dari rilis sementara, pertanyaannya menjadi: Bagaimana cara paling mudah menginstal ffmpeg di distro pra-2015?

/MEMPERBARUI

Adakah yang tahu bagaimana cara menginstal ffmpeg yang asli dan aktual (bukan versi lama oleh avconv yang datang bersama Ubuntu) tanpa ada masalah yang disebutkan di sini ?

Alasan:

  • Semuanya bekerja (atau begitu banyak telah menulis),
  • Gunakan sintaks baru, dan
  • Setelah beberapa penelitian - dan tanpa masuk ke dalam kontroversi - saya hanya percaya para pembuat paket melakukan kesalahan dengan avconv. Ini adalah perbaikan.

Tampaknya itu tidak semudah seharusnya karena konflik versi, dan avconv dan ffmpeg tidak dapat hidup berdampingan pada mesin yang sama (dicatat dalam jawaban yang diterima dari posting yang ditautkan di atas). Meskipun setidaknya satu panduan menyebutkan menginstal ffmpeg secara lokal (~) untuk mencapai koeksistensi.

Rilis saya Tepat 12.04.3 LTS, tetapi tampaknya ini juga berlaku untuk yang lebih baru.

u2n
sumber
3
Pernahkah Anda melihat Cara Mengkompilasi FFmpeg di Ubuntu ? Itu tidak bertentangan dengan sampah libav dari repo.
llogan
1
Saya sarankan Anda ulangi sedikit bagian "alasan". Tampaknya Anda menyiratkan bahwa anggapan superioritas ffmpeg atas avconv adalah fakta dan bahwa pengguna Ubuntu dalam masalah karena repositori telah merusak perangkat lunak. Ini dapat membingungkan dan menakuti beberapa pengguna pemula. Saya harap Anda akan mengerti maksud saya, karena Anda tampaknya setuju, lebih baik tidak memasukkan «ke dalam kontroversi».
Andrea Lazzarotto
1
@Brad Saya terus percaya bahwa menakut-nakuti pengguna baru salah dengan membiarkan mereka berpikir mereka telah merusak perangkat lunak dan bahwa mereka perlu "memperbaikinya".
Andrea Lazzarotto
1
@AndreaLazzarotto Tidak ada yang mencoba menakuti siapa pun. Dalam pertanyaan itu adalah pendapat, dan itu secara khusus disebut sebagai satu. Pendapat itu merupakan bagian penting dari pertanyaan.
Brad
1
Hai teman-teman, terima kasih atas komentarnya. Karena ffmpeg versi avconv palsu telah dihapus dari semua rilis terbaru, tidak ada lagi yang perlu dihapus (dan tidak ada lagi kontroversi: ^). Jon Severinsson memperbarui ppa-nya secara teratur sehingga ffmpeg yang asli aktif dan mudah diinstal dan diperbarui. Posting ini akan berfungsi sebagai pembaruan di sini untuk saat ini. (Akan melakukan pembersihan penuh nanti.)
u2n

Jawaban:

25

Jawaban yang Diperbarui untuk Siaran Pra-2015

Karena tidak ada yang mempertahankan ppa semua-inklusif seperti Jon Severinsson, metode Rmano menggunakan build statis sekarang paling mudah. Catatan pembaruan harus diperiksa dan dilakukan secara manual.

  1. Setelah menuju ke halaman pengunduhan ffmpeg resmi , klik tautan di bawah Linux Static Builds . (Target dapat berubah sehingga tidak terhubung langsung di sini.)
  2. Klik rilis yang sesuai (32- atau 64-bit) dan diinginkan (snapshot atau bernomor) untuk mengunduh. (Snapshot direkomendasikan.)
  3. Jika versi libav ffmpeg diinstal, hapuslah. Keduanya tidak bisa berada di mesin yang sama. Jika libav sebelumnya tidak diinstal, lewati ke 4.

    sudo apt-get remove ffmpeg  
    sudo apt-get purge libav-tools  
    # *Ignore any autoremove message that may appear.*
    
  4. Ekstrak file (dan dua direktori) sebagai berikut:

    • Untuk sistem pengguna tunggal: ke $ HOME / bin
    • Untuk pengaturan multi-pengguna: ke / usr / local / bin

Instalasi build statis telah selesai dan ffmpeg siap digunakan.

Untuk memperbarui: Setelah memeriksa dan menemukan rilis yang lebih baru, folder instal dapat diurutkan berdasarkan tanggal dan file versi yang ada dengan cepat diidentifikasi dan dihapus. (Stempel waktu semua akan sama dengan biner ffmpeg.) Pembaruan kemudian dapat diunduh dan diekstraksi sama dengan rilis sebelumnya.

Jika repo ffmpeg komprehensif muncul kembali, ia akan menginstal seperti sebelumnya:

# Replace avconv with the real ffmpeg
#   www.askubuntu.com/a/373509/165265
#
sudo add-apt-repository ppa:<name of ppa here>
sudo apt-get update
sudo apt-get install ffmpeg

Dengan ffmpeg nyata kembali ke rilis 2015 dan seterusnya, kebutuhan untuk perbaikan ini pada akhirnya akan memudar.

Terima kasih banyak kepada komunitas untuk bantuannya.

u2n
sumber
4
Fiuh. Terima kasih. avconv tampaknya sangat dekat dengan ffmpeg, tetapi tampaknya memiliki beberapa flag yang berbeda. Tidak, terima kasih. FFMPEG bekerja dengan sangat baik. Satu-satunya alasan saya dapat berpikir untuk Ubuntu untuk beralih adalah beberapa alasan politis. Lupakan kebisingan itu. ffmpeg ftw!
James T Snell
1
The sudo apt-get dist-upgradegaris tampaknya tidak perlu bagi saya untuk tujuan posting ini. Kebanyakan orang yang mencoba menginstal ffmpeg mungkin tidak ingin memicu peningkatan distribusi sebagai efek samping.
cxrodgers
@cxrodgers, benar sekali. Memperbaiki sekarang, terima kasih.
u2n
1
Anda mungkin ingin memperbarui jawaban ini sekarang karena PPA jon-severinsson hilang: stackoverflow.com/questions/29585700/…
cxrodgers
1
Symlinking harus mengarah ke /usr/local/binuntuk mencegah potensi konflik dari paket repo yang menyediakan file bernama; terutama dari paket libav-tools qt-faststartdan " ffmpeg" faux untuk 12,04 dan lebih lama. Selain itu, pengguna lain mungkin tidak memiliki izin yang tepat untuk melakukan apa pun di pengguna lain ~/bin(tapi saya tidak menyelidiki ini). Terakhir, saya pikir seluruh bagian "/ PEMBARUAN" dari jawaban ini dapat dihapus: sudah usang (bahwa PPA hilang) dan tidak berkontribusi banyak lagi.
Logan
7

Saya tidak punya masalah menggunakan build statis yang disediakan oleh proyek FFmpeg. Ada tautan di http://ffmpeg.org/download.html

Unduh versi / build yang Anda butuhkan (baik 32 atau 64 bit), lalu masukkan executable ke dalam $PATH(misalnya, ~/bin). Jika ditempatkan di ~/binAnda dapat logout kemudian masuk kembali, atau hanya menjalankan . ~/.profile, agar shell Anda mengenali bahwa itu ada di $PATH. Sekarang Anda bisa masuk ffmpegdan membangun statis baru akan digunakan.

Sebagai contoh:

% wget http://johnvansickle.com/ffmpeg/builds/ffmpeg-git-64bit-static.tar.xz
% tar xJvf ffmpeg-git-64bit-static.tar.xz
% cd ffmpeg-git-20150427-32bit-static
% ./ffmpeg
ffmpeg version N-45164-g46778ab- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
[...]

Menjadi sepenuhnya statis seharusnya tidak memiliki masalah dengan berbagai versi Linux (sampai batas tertentu, kernel seharusnya tidak terlalu lama).

Rmano
sumber
1
Terima kasih, Rmano. Akan memvotasikan jawaban Anda sebagai alternatif segera setelah saya mencapai angka ajaib. "Alternatif" karena, dari apa yang saya baca, hal yang membuat bangunan statis dapat diandalkan - memiliki semua dependensi bawaan - juga membuatnya 'berat' (besar dan haus akan memori). Karena alasan itu, saya menghindar untuk menempuh rute itu demi versi program yang diperbarui secara otomatis dan berbobot normal. ... Pikir saya mungkin sudah mendapatkannya, posting mendatang ...
u2n
Yah, meskipun itu umumnya berlaku untuk dieksekusi statis, dalam hal ini ffmpeg tidak menggunakan perpustakaan umum grafis atau berat. Jelas Anda benar jika Anda akhirnya menjalankan berbagai salinan ffmpeg secara paralel.
Rmano
2
Rute jawaban PPA yang diterima berisi versi 0,1 yang sudah lama wayyyyyy. Anda ingin menggunakan metode jawaban ini untuk membuat banyak perintah berfungsi.
deadghost