FFmpeg的。 avcodec_find_encoder(AV_CODEC_ID_H264)返回false

时间:2016-07-14 05:25:58

标签: c++ qt encoding ffmpeg x264

问题:我无法连接h264编解码器进行帧编码和解码。

说明

我从这里下载了ffmpeg库https://ffmpeg.zeranoe.com/builds/,版本开发。

将其连接到您的项目QT:

extern "C"
{
    #include <libavcodec\avcodec.h>
    #include <libavformat\avformat.h>
    #include <libavformat\avio.h>
    #include <libswscale\swscale.h>
    #include <libavutil\mem.h>
}
    
#pragma comment (lib, "avcodec.lib")
#pragma comment (lib, "avformat.lib")
#pragma comment (lib, "swscale.lib")
#pragma comment (lib, "avutil.lib")

接下来规定av_register_all();以包含所有编解码器。

接下来,调用函数:avcodec_find_encoder(AV_CODEC_ID_H264),返回false。

在自述文件中,库说它是用--enable-libx264收集的,而--enable-gpl是编译包括应该是的h264编解码器的密钥。

如果调用:avcodec_find_encoder(AV_CODEC_ID_MPEG1VIDEO),它会返回一个AVCodec对象。

我使用MinGW编译器。 OC Windows 7。

如何解决或解决问题?编译库本身尚未获得。我理解你要连接来源并“戳”它们,这也没有意义。

**再一次,我将描述我的问题:**

我需要在一个程序中编码编解码器h264(可以VP9)各个帧,然后在另一个程序中解码它们。您可以使用其他库。语言C ++。有必要使用帧间压缩编解码器,而不是简单地按压帧。

抱歉我的英文。

思想。咨询。建议。

0 个答案:

没有答案