2013-06-06 2 views
0

Я пытаюсь использовать FFMpeg для создания формата видео MKV. По умолчанию FFMpeg будет использовать h264 & libvorbis. Но когда я с помощью DOC/примеры/muxing.c в папке FFmpeg исходного файла, всегда есть ошибка:FFMpeg Не удается найти libvorbis под Windows

[libvorbis @ 002e52a0] Specified sample format s16 is invalid or not supported 
Could not open audio codec: Error number -22 occurred 

Я использовал Zeranoe FFmpeg и показал эту ошибку. Я также попытался скомпилировать FFmpeg из источника под MinGW, и я также включить libvorbis по следующим comfiguration:

$ ./configure --prefix=/mingw --enable-libvpx --enable-libvorbis --enable-shared --enable-static 

Перед тем, как сделать, я также установить libvorbis, libogg, Yasm и т.д. Но ошибка все еще там.

Если я использую ffmpeg.exe для преобразования видео в формат webm, он работает. Команда выглядит следующим образом:

ffmpeg -i test.h264 -vcodec libvpx -acodec libvorbis output.webm 

Сгенерированный output.webm может быть воспроизведен Firefox или еще что-то еще. Поэтому я думаю, что скомпилированная библиотека ffmpeg в порядке. Но почему я не могу создать файл webm в коде muxing.c?

ответ

1

Как можно видеть в файле libvorbisenc.c библиотека libvorbis поддерживает только AV_SAMPLE_FMT_FLTP (поплавок планарной данных) формат ввода.

Для преобразования аудиоданных вам необходимо использовать библиотеку SwResample из ffmpeg.

0

Попробуйте скомпилировать пакет libvorbis со следующим:

LDFLAGS="-static" \ 
LIBS="-logg" \ 
./configure \ 
--prefix=$INSTALL_PREFIX \ 
--with-gnu-ld \ 
--with-pic \ 
--enable-static \ 
--disable-shared \ 
--disable-oggtest 
Смежные вопросы