zoukankan      html  css  js  c++  java
  • 使用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();//释放本次读取的帧内存
            }
    

      

  • 相关阅读:
    端口查看netstat -tunpl |grep 25
    解释一下查找出文件并删除find /var/log -type f -mtime +7 -ok rm {} ;
    2021.6.2
    2021.6.1
    2021.5.31
    2021.5.30(每周总结)
    2021.5.28
    2021.5.27
    2021.5.26
    2021.5.25
  • 原文地址:https://www.cnblogs.com/bandy/p/2916641.html
Copyright © 2011-2022 走看看