-
Notifications
You must be signed in to change notification settings - Fork 6
/
mediainfo.c
executable file
·40 lines (30 loc) · 1.05 KB
/
mediainfo.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <libavformat/avformat.h>
int main(int argc, char *argv[])
{
int err_code;
char errors[1024];
AVFormatContext *fmt_ctx = NULL;
if(argc < 2){
fprintf(stderr, "[Usage]you should input media file!\n");
return -1;
}
char *src_filename = argv[1];
av_register_all();
/* open input file, and allocate format context */
if ((err_code=avformat_open_input(&fmt_ctx, src_filename, NULL, NULL)) < 0) {
av_strerror(err_code, errors, 1024);
fprintf(stderr, "Could not open source file %s, %d(%s)\n", src_filename, err_code, errors);
exit(1);
}
/* retreive stream information */
if((err_code = avformat_find_stream_info(fmt_ctx, NULL)) < 0) {
av_strerror(err_code, errors, 1024);
fprintf(stderr, "Could not open source file %s, %d(%s)\n", src_filename, err_code, errors);
exit(1);
}
/* dump input information to stderr */
av_dump_format(fmt_ctx, 0, src_filename, 0);
/* close input file */
avformat_close_input(&fmt_ctx);
return 0;
}