zoukankan      html  css  js  c++  java
  • ffmpeg从内存读取文件

    正常情况,ffmpeg直接从文件读取

    AVFormatContext * _ctx = NULL;
    avformat_open_input(&_ctx, _filePath, 0, 0);
    

     我们也可以自定义从内存读取,这样,可以用于读取一些加密的视频文件

        int fill_iobuffer(void * opaque,uint8_t *buf, int bufsize){  
            if(!feof(fp_open)){  
                int true_size=fread(buf,1,bufsize,fp_open);  
                return true_size;  
            }else{  
                return -1;  
            }  
        }
    
    
    
    AVFormatContext * _ctx = NULL;
    unsigned char* _iobuffer = (unsigned char*)av_malloc(32768);
    AVIOContext* _avio = avio_alloc_context(_iobuffer , 32768 , 0 , NULL,fill_iobuffer,NULL,NULL);
    _ctx->pb = _avio;
    
    fp_open=fopen(_filename,"rb+");  
    
    if ((ret = avformat_open_input(&_ctx, "nothing", 0, 0)) < 0) {
    	printf( "Could not open input file.");
    }
    
  • 相关阅读:
    天兔监控系统安装
    day6
    day5
    day4
    day3
    day2
    day1
    几个重要的Xenomai相关链接
    树莓派GPIO中断驱动程序
    转了一圈,再读LKD
  • 原文地址:https://www.cnblogs.com/IWings/p/5877066.html
Copyright © 2011-2022 走看看