ffmpeg: не удалось найти подходящий формат вывода, libfaac
Я только что загрузил "ffmpeg git-070b0e1 32-битный статический (последний)" из http://ffmpeg.zeranoe.com/builds/. Я извлек файлы на своей машине Vista, а затем обновил свой путь, чтобы указать на presets
и bin
папки.
первая команда, которую я выполнил, была такая:
ffmpeg -i C:/a.avi -vcodec libtheora -qscale 6 -acodec libvorbis -ab 128k -vf scale="480:-1" C:/a.ogv
я получил эту ошибку:
Please use -q:a or -q:v, -qscale is ambiguous
[NULL @ 0200F800] Unable to find a suitable output format for 'C:/a.ogv''
C:/a.ogv': Invalid argument
вторая команда, которую я выполнил, была такова:
ffmpeg -i C:/a.avi -vcodec libx264 -preset slow -profile main -crf 20 -acodec libfaac -ab 128k -vf scale="480:-1" C:/a.mp4
я получил эту ошибку: Unknown encoder 'libfaac'
вопросы:
-
Я пытаюсь преобразовать входное видео (я не знаю, что такое тип MIME) и вывести его как ogv и mp4, чтобы я мог воспроизвести его на веб-сайте. Конечно, я ищу максимально возможное качество при минимально возможном размере файла. Я собрал свои команды из того, что смог найти в сети. Я на правильном пути? Что я могу сделать, чтобы улучшить?
- любые идеи, как устранить ошибки, которые я получаешь?
3 ответов
Я не использую Windows, поэтому я не могу дать никаких предложений для ваших проблем с именем файла.
Что касается вашего первого вопроса об использовании x264, вы находитесь на хорошем старте, хотя я бы исключил -profile main
Это, скорее всего, не требуется. Также заменить scale="480:-1"
С scale="trunc(oh*a*2)/2:480"
чтобы предотвратить выход нечетного размера; в противном случае вы можете получить ошибку:[libx264] height not divisible by 2
. Основная рекомендация для этого кодировщика-использовать самый высокий -crf
значение которое дает и приемлемое качество и медленный -preset
у вас есть терпение. См.FFmpeg: конечная видео и аудио инструмент манипуляции и
руководство по кодированию FFmpeg и x264 для получения дополнительных примеров.
сборки Zeranoe не включают поддержку libfaac. В том числе это сделало бы двоичный файл ffmpeg не распространяемым. Альтернатива ААС энкодеры поддерживается в Zeranoe сборки -c:a libvo_aacenc
и родной кодировщик FFmpeg AAC -c:a aac -strict experimental
.
альтернатива использованию libtheora для Theora в ogv-это libvpx для VP8 в webm. У меня мало опыта работы с этим кодировщиком, поэтому я не могу дать вам никаких рекомендаций.
обратите внимание, что вопросы использования ffmpeg лучше подходят для superuser.com.
выход ogv от входа avi работал нормально ...
rob@ Videos$ ffmpeg -i ../Downloads/Nikon_Coolpix_S3000.AVI -f ogg testm.ogv
ffmpeg version git-2012-08-29-85c8303 Copyright (c) 2000-2012 the FFmpeg developers
built on Aug 29 2012 08:59:14 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --enable-gpl --enable-libfaac --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3
libavutil 51. 70.100 / 51. 70.100
libavcodec 54. 54.100 / 54. 54.100
libavformat 54. 25.104 / 54. 25.104
libavdevice 54. 2.100 / 54. 2.100
libavfilter 3. 14.100 / 3. 14.100
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
[avi @ 0x2457260] sample size (1) != block align (2)
[avi @ 0x2457260] non-interleaved AVI
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from '../Downloads/Nikon_Coolpix_S3000.AVI':
Metadata:
encoder :
maker : NIKON
model : COOLPIX S3000
creation_time : 2010-11-29 21:32:23
Duration: 00:00:02.49, start: 0.000000, bitrate: 3168 kb/s
Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 320x240, 30 tbr, 30 tbn, 30 tbc
Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 22050 Hz, mono, s16, 352 kb/s
Output #0, ogg, to 'testm.ogv':
Metadata:
model : COOLPIX S3000
maker : NIKON
encoder : Lavf54.25.104
Stream #0:0: Video: theora, yuv422p, 320x240, q=2-31, 200 kb/s, 30 tbn, 30 tbc
Stream #0:1: Audio: flac, 22050 Hz, mono, s16, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> libtheora)
Stream #0:1 -> #0:1 (pcm_s16le -> flac)
Press [q] to stop, [?] for help
frame= 75 fps=0.0 q=0.0 Lsize= 134kB time=00:00:02.50 bitrate= 438.3kbits/s
video:68kB audio:61kB subtitle:0 global headers:3kB muxing overhead 0.925484%
в вашем первом использовании это ошибка просит вас заменить -qscale 6
С -q:v 6
для вашего второго, пожалуйста, обратите внимание, что libfaac
больше не поддерживается. Вместо этого используйте libvo_aacenc
ваш код должен выглядеть так:
ffmpeg -i C:/a.avi -vcodec libx264 -preset slow -profile main -crf 20 -c:a libvo_aacenc -b:a 128k -vf scale="480:-1" C:/a.mp4