ffmpeg编程注意之一
本文描述的问题都是在ffmpeg3.几的版本之后测试
ffmpeg使用的时候,不管是解码还是编码,不管是播放器还是录屏还是发送rtmp推流,都会使用一个结构体就是AVFrame,而AVFrame里面就是装关键的数据流
使用AVFrame遇到以下问题需要注意:
1.AVFrame使用之前必须要初始化,也就是av_frame_alloc();之后还需要根据数据类型调用av_frame_get_buffer(frame,0)分配真实需要的内存,否则会发生崩溃
2.AVFrame内存是由ffmpeg内部管理的,在使用过程中,如果需要把AVFrame的数据缓存再处理的业务,一定要把数据单独拷贝出来统一管理,而不要把AVFrame直接保存起来,AVFrame new多了数据
会乱,在编码的时候经常会失败

浙公网安备 33010602011771号