繁体   English   中英

C ++ / Qt FFmpeg库错误:程序意外完成

[英]C++/Qt FFmpeg library error: program has unexpectedly finished

我试图在C ++ / Qt的Windows上使用ffmpeg库。 这是我的主要功能:

#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;

#define INT64_C(val) val##LL
#define UINT64_C(val) val##ULL
#include <QtCore>


#include <SDL/SDL.h>
#ifdef __MINGW32__
#undef main
#endif


//--------------- FFMPEG Headers and Libraries ---------------
extern "C"
{
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
}

int main(int c, char *args[])
{
    av_register_all();
    AVFormatContext *ctx;

    if(avformat_open_input(&ctx,"salam.avi",NULL,NULL)!=0)
        return -1;
    return 0;
}

它得到编译和链接罚款。 但是当我尝试运行它时,我得到了这个错误:
该程序意外完成
这在* avformat_open_input *函数上发生。 有什么问题? 是关于我的代码,还是我的库有问题?
提前致谢

终于我找到了。 答案很简单。 ctx应该用NULL初始化。

AVFormatContext *ctx = NULL;

可能是AVI的问题。 确保FFMPEG支持您的avi。 使用此工具来检查确切的格式,并查找FFMPEG库的帮助/支持以查看是否支持该格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM