web-dev-qa-db-fra.com

Erreur de l'encodeur inconnu 'libvo_aacenc'

J'ai installé la bibliothèque x262 puis installé ffmpeg dans le répertoire/var/www/html/GetVideo avec ces commandes.

# build and install x264
git clone --depth 1 git://git.videolan.org/x264
cd x264
./configure --Host=arm-unknown-linux-gnueabi --enable-static --disable-opencl
make -j 4
Sudo make install

# build and make ffmpeg
git clone --depth=1 git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure --Arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree
make -j4
Sudo make install

J'ai donc une bibliothèque/var/www/html/GetVideo/x264 et des répertoires/var/www/html/GetVideo/x264/ffmpeg.

Ensuite, j'ai installé les codecs libav par

Sudo apt-get install libavcodec-extra-54

Ensuite, j'ai essayé de changer la taille et la cadence des images.

ffmpeg -i /var/www/html/GetVideo/video/20180503145826-8849_1080.mp4 -acodec libvo_aacenc -vcodec libx264 -s 1920x1080 -r 60 -strict experimental /var/www/html/GetVideo/video/output.mp4

Bien que j'ai installé le codec libav, j'obtiens toujours l'erreur 'encodeur inconnu' libvo_aacenc '. Je ne sais pas où me manque-t-il? Comment puis-je redimensionner les vidéos?

2
Tahtakafa

FFmpeg ne supporte plus libvo_aacenc

C'est un encodeur de basse qualité qui ne peut encoder que deux canaux. Le codeur AAC FFmpeg intégré a été amélioré au point que libvo_aacenc n’était plus nécessaire. Le support de libvo_aacenc a donc été supprimé de FFmpeg .

Utilisez un ffmpeg récent et utilisez l'encodeur AAC intégré. Ainsi, au lieu de -acodec libvo_aacenc, utilisez -acodec aac (ou -c:a aac).

Vous ne pouvez pas simplement installer des codecs et supposer que ffmpeg peut les utiliser

L'installation de libavcodec-extra-54 ne fera rien si vous voulez compiler ffmpeg. Lors de la compilation, pour ajouter la prise en charge des bibliothèques de codecs externes, vous devez:

  1. Installez les packages appropriés - dev . Par exemple libx264-dev pour le codage vidéo H.264.
  2. Utilisez l'option appropriée ./configure pour l'activer dans ffmpeg, telle que --enable-libx264. Voir ./configure --help pour une liste des bibliothèques de codecs externes prises en charge.
  3. Compilez ffmpeg.

Si vous voulez compiler, voyez FFmpeg Wiki: Compile for Ubunt pour un guide pas à pas.

Cependant, l'installation de libavcodec-extra-54 ajoutera des codecs supplémentaires à ffmpeg à partir du référentiel (quels codecs supplémentaires je ne suis plus sûr).

Pourquoi compilez-vous?

ffmpeg est disponible dans le référentiel Ubuntu. Pourquoi ne pas simplement utiliser ça?

Sudo apt-get install ffmpeg

S'il manque des fonctionnalités, vous pouvez envisager de les compiler.

Comment puis-je redimensionner les vidéos?

Maintenant, pour atteindre votre objectif actuel. Par "redimensionner", je suppose que vous souhaitez redimensionner la vidéo. Voici un exemple simple utilisant le filtre de l'échelle :

ffmpeg -i input.mp4 -c:v libx264 -c:a copy -vf scale=1920:1080 output.mp4

Dans cet exemple, l'audio est en cours flux copié car l'entrée et la sortie sont au format MP4 et l'audio est probablement déjà au format AAC. Il vous suffit donc de le copier au lieu de le ré-encoder.

3
llogan