• av_register_all()
  • avformat_open_input()/avformat_close_input()
  • av_dump_format() ```cpp

    include

    include

int main() { int ret = -1; AVFormatContext *fmt_ctx = NULL;

  1. av_log_set_level(AV_LOG_INFO);
  2. av_register_all();
  3. //第三个参数是输入的文件格式, NULL可以 通过文件名获取
  4. //第四个参数是通过命令行获取的参数,一般不用设置为NULL即可
  5. ret = avformat_open_input(&fmt_ctx, "./test.mp4", NULL, NULL);
  6. if (ret < 0) {
  7. av_log(NULL, AV_LOG_ERROR, "Can't open file: %s\n", av_err2str(ret));
  8. return -1;
  9. }
  10. //第二个参数是流的索引值, 可以直接写0
  11. //第四个参数是指输入流还是输出流 0-输入 1-输出
  12. av_dump_format(fmt_ctx, 0, "./test.mp4", 0);
  13. avformat_close_input(&fmt_ctx);
  14. return 0;

}

编译: gcc -lavutil -lavformat ```