本程序实现转码一个普通视频文件为视频 mpeg4,音频 mp3 的功能
1. #include <avcodec.h>
2. #include <avformat.h>
3. #include <stdio.h>
4. #include <avutil.h>
5. #include <stdio.h>
6. #include <stdlib.h>
7. #include <string.h>
8.
9. main(int argc,char **argv)
10.{
11. const char *input_file_name="/root/movies/ddh1.mpg";
12. av_register_all();//注册库中所有可用的文件格式和编码器
13. AVFormatContext *ic;
14. //输入文件处理部分
15. ic=av_alloc_format_context();
16. if(av_open_input_file(&ic,input_file_name,NULL,0,NULL)!=0)
17. {
18. printf("can't open the file %s",input_file_name);
19. exit(1);
20. }//打开输入文件
21. if(av_find_stream_info(ic)<0)
22. {
23. printf("can't find suitable codec parameters");
24. exit(1);
25. }//取出流信息
26. dump_format(ic,0,input_file_name,0);//列出输入文件的相关流信
息
27. int i;
28. int videoindex=-1;int audioindex=-1;
29. for(i=0;i<ic->nb_streams;i++)
30. {
31.if(ic->streams[i]->codec->codec_type==CODEC_TYPE_VIDEO)
32.{
33.videoindex=i;
34.}
35.else if(ic->streams[i]->codec->codec_type==CODEC_TYPE_AUDIO)
36.{
37.audioindex=i;
38.}
39. }
40. if(videoindex==-1)
41. {