使用ffmpeg步骤


       av_register_all();//初始化ffmpeg库,如果系统里面的ffmpeg没配置好这里会出错
        if (isNetwork) {
            //需要播放网络视频
            avformat_network_init();
        }
        avformat_open_input();//打开视频文件
        avformat_find_stream_info();//查找文件的流信息
        av_dump_format();//dump只是个调试函数,输出文件的音、视频流的基本信息了,帧率、分辨率、音频采样等等
        for(...);//遍历文件的各个流,找到第一个视频流,并记录该流的编码信息
        sws_getContext();//根据编码信息设置渲染格式
        avcodec_find_decoder();//在库里面查找支持该格式的解码器
        avcodec_open2();//打开解码器
        pFrame=avcodec_alloc_frame();//分配一个帧指针,指向解码后的原始帧
        pFrameRGB=avcodec_alloc_frame();//分配一个帧指针,指向存放转换成RGB后的帧
        avpicture_fill(pFrameRGB);//给pFrameRGB帧加上分配的内存;
        while(true)
        {
            av_read_frame();//读取一个帧(到最后帧则break)
            avcodec_decode_video2();//解码该帧
            sws_getCachedContext()sws_scale();//把该帧转换(渲染)成RGB
            SaveFrame();//对前5帧保存成ppm图形文件(这个是自定义函数,非API)
            av_free_packet();//释放本次读取的帧内存
        }

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM