但是这个链接所使用的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);
}