使用Native Client上的ffmpeg和vp8编解码器对视频进行编码

时间:2015-10-27 16:18:38

标签: ffmpeg google-nativeclient

我正在尝试使用Native Client开发视频编码器。 我希望输出文件是.webm,我正在使用ffmpeg示例“muxing.c”。

当我运行该示例时,我收到错误消息:找不到'vp8'的编码器

错误来自:

*codec = avcodec_find_encoder(codec_id);
if (!(*codec)) {
    fprintf(stderr, "Could not find encoder for '%s'\n",
            avcodec_get_name(codec_id));
}

其中codec_id值为AV_CODEC_ID_VP8

当我将输出文件设置为.mp4时,它可以工作。

有人能帮助我吗? 我是否需要为ffmpeg naclport启用vp8编码器? 我该怎么办?

谢谢!

更新

@Lee Gi Gone:

  

是。您必须使用libvpx库编译ffmpeg才能进行编码   VP8 / VP9。你可以通过yum,apt安装它。或者你可以编译它   手动

     

安装libvpx后,在下面安装带有libvpx的ffmpeg   命令:

./configure --enable-libvpx 
make -j 4
make install

我将libvpx的依赖项放在ffmpeg naclport上的build.sh和pkg_info上并重新构建它。现在它有效!

1 个答案:

答案 0 :(得分:1)

是。你必须用libvpx库编译ffmpeg来编码vp8 / vp9。你可以通过yum,apt安装它。或者你可以手动编译它。

安装libvpx后,在以下命令中使用libvpx安装ffmpeg:

./configure --enable-libvpx
make -j 4
make install