但是这个链接所使用的ffmpeg库比较旧,有些函数接口不一致。

这个是我当前使用的 2.7.2 版本的ffmpeg库的例子:

简单地打印出音频文件的信息:

#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>



int main(int argc, char *argv[])
{
/* 注册所有可用的文件格式和编解码库 */
av_register_all();

/* 打开文件 */
AVFormatContext *pFormatCtx;
AVInputFormat *iformat = NULL;
AVDictionary *format_opts = NULL;

if (avformat_open_input(&pFormatCtx, argv[1], iformat, &format_opts) != 0)
{
return -1;
}

/* 得到流文件的信息 */
if (avformat_find_stream_info(pFormatCtx, NULL) < 0)
{
return -1;
}

/* 打印信息 */
av_dump_format(pFormatCtx, 0, argv[1], 0);


/* 关闭文件 */
avformat_close_input(&pFormatCtx);

}