要想做一个基于海思的播放器,海思视频上必须开启vdec的功能,海思音频上必须开启adec的功能。还有必须得从mp4中获取到h264视频流还有pcm音频流,这个在我之前的博客https://blog.csdn.net/yinsui1839/article/details/80434370上有讲,可以去看看,要想实现必须移植ffmpeg。
数据流向主要是这样的视频:mp4->h264->队列->vdec->vo ,音频:mp4->aac->pcm->队列->adec->ao。要想做前进,后退这些功能可以用av_seek_frame这个函数,主要是用法如下:
int seek_pos;
seek_pos =10 *1000000;//计算到想偏移的时间,第10秒
av_seek_frame(ifmt_ctx,-1,seek_pos,AVSEEK_FLAG_BACKWARD);//偏移到10秒这里