2013-06-06 95 views
0

我嘗試使用FFmpeg的生成MKV視頻格式下libvorbis。默認情況下,FFmpeg的將使用H264 & libvorbis。但是,當我使用的ffmpeg下的源文件夾中的文檔/例子/ muxing.c,總有一個錯誤:FFmpeg的無法找到的Windows

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

我用Zeranoe FFmpeg並表明此錯誤。我也試圖從源代碼編譯的MinGW下ffmpeg的,我也能夠按照comfiguration的libvorbis:

$ ./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庫是可以的。但是,爲什麼我不能生成muxing.c代碼WebM檔案?

回答

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