rawvideo解复用原理
解复用原理,你应该从 avformat_open_input 函数开始分析,新起一篇文章讲解《解复用的统一的函数流程》,因为无论是 flv,rawvideo,上层都有统一的接口。
然后讲解 av_read_frame 函数的内部调用流程。
avformat_open_input 的作用是打开一个输入源,然后读取他的头部信息。
* Open an input stream and read the header. The codecs are not opened.
* The stream must be closed with avformat_close_input().
最后再讲一下 avformat_find_stream_info 函数的内部逻辑,因为这个函数可以不调用的。
虽然 yuv可以直接读取数据,然后自己拼接YUV数据到 AVFrame 的data 等等字段,但是最好还是调 ffmpeg 的api 函数 av_read_frame() 读出 AVPacket,再转成 AVFrame,自己写一套 yuv 的解释器会比较容易出错,调 ffmpeg 写好的东西比较稳定。