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'

вопросы:

  1. Я пытаюсь преобразовать входное видео (я не знаю, что такое тип MIME) и вывести его как ogv и mp4, чтобы я мог воспроизвести его на веб-сайте. Конечно, я ищу максимально возможное качество при минимально возможном размере файла. Я собрал свои команды из того, что смог найти в сети. Я на правильном пути? Что я могу сделать, чтобы улучшить?

    1. любые идеи, как устранить ошибки, которые я получаешь?

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