Mon installation de Debian Jessie semble faire tout ce qui est en son pouvoir pour m'empêcher d'installer ffmpeg.
J'ai lu Comment installer FFmpeg sur Debian? , mais avconv n'est pas une option et ajouter deb http://www.deb-multimedia.org stable main non-free
à mon source.list n'a pas vraiment aidé. J'ai fait apt-get install libav-tools
, pensant que cela résoudrait les problèmes de dépendance de ffmpeg.
Voici ce que j'ai essayé d'essayer d'installer ffmpeg maintenant:
$ Sudo apt-get install ffmpeg
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
ffmpeg : Depends: libavcodec56 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
Depends: libavdevice56 (>= 10:2.6.8) but it is not going to be installed
Depends: libavfilter5 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
Depends: libavformat56 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
Depends: libavresample2 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
Depends: libavutil54 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
Depends: libpostproc53 (>= 10:2.6.8) but it is not going to be installed
Depends: libswresample1 (>= 10:2.6.8) but it is not going to be installed
Depends: libswscale3 (>= 10:2.6.8) but 6:11.6-1~deb8u1 is to be installed
E: Unable to correct problems, you have held broken packages.
Qu'est-ce qu'apt-get essaie de me dire et comment puis-je me débarrasser de ce problème?
Essayez d’utiliser aptitude
pour l’installer car cela vous donnera des solutions possibles. Assurez-vous de regarder attentivement chacun d'entre eux.
Sudo aptitude install ffmpeg
Il est maintenant disponible pour Jessy en tant que backport: https://packages.debian.org/jessie-backports/ffmpeg
Ajoutez quelque chose comme ceci à /etc/apt/sources.list (avec votre miroir préféré):
deb http://ftp.uk.debian.org/debian jessie-backports main
Ensuite
apt-get update
apt-get install ffmpeg
Réparer le paquet cassé
Sudo apt-get install -f
Ajoutez les lignes suivantes à /etc/apt/sources.list
deb http://www.deb-multimedia.org jessie main non-free
deb-src http://www.deb-multimedia.org jessie main non-free
Mettre à jour:
apt-get update
Ajouter la clé
apt-get install deb-multimedia-keyring
mettre à jour
apt-get update
Supprimer ffmpeg
le paquet Debian
apt-get remove ffmpeg
En tant qu'utilisateur root, installez les packages de bibliothèque et les outils de construction:
apt-get install build-essential libmp3lame-dev libvorbis-dev libtheora-dev libspeex-dev yasm pkg-config libfaac-dev libopenjpeg-dev libx264-dev
Téléchargez le dernier fichier ffmpeg de ici
wget https://ffmpeg.org/releases/ffmpeg-3.0.2.tar.bz2
L'extraire
tar xvjf ffmpeg-3.0.2.tar.bz2
Déplacer dans le répertoire
cd ffmpeg-3.0.2
Configurez, construisez et installez:
./configure --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libspeex --enable-shared --enable-pthreads --enable-libopenjpeg --enable-libfaac --enable-nonfree
make -j 16
Sudo make install
Pourquoi personne n'utilise la recommandation Debian d'origine? C'est simple !
Il suffit d'ajouter
deb http://httpredir.debian.org/debian jessie-backports main non-free
deb-src http://httpredir.debian.org/debian jessie-backports main non-free
à
/etc/apt/sources.list
et lancez la mise à jour:
apt-get update && apt-get installer ffmpeg && ffmpeg -i
ffmpeg -i
ffmpeg version 2.6.9 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 --enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages --disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265 --enable-libiec61883 --enable-vaapi --enable-libdc1394 --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Une option simple consiste à télécharger un exécutable déjà compilé de ffmpeg
.
Une fois que vous l'avez téléchargé et extrait, vous avez plusieurs options pour l'exécuter:
Naviguez jusqu'au répertoire contenant l'exécutable et exécutez ./ffmpeg -i ...
(notez le préfixe ./
).
Indiquez le chemin d'accès complet à l'exécutable, tel que /home/user/Downloads/ffmpeg -i ...
Placez-le quelque part dans votre PATH
, tel que ~/bin
. Ensuite, exécutez source ~/.profile
ou déconnectez-vous puis connectez-vous. Vous pouvez maintenant exécuter la commande ffmpeg
de n’importe où sans avoir à utiliser les deux méthodes précédentes.
L'exécutable téléchargeable est compilé quotidiennement et est toujours plus à jour que ce qui est disponible dans le référentiel.