ffmpeg制作一个播放器的步骤

制作一个播放器
1、注册编码器和解码器所有的函数。

2、创建AvFormatContext 指针。

3、使用avformat_open_input()函数打开文件。

4、遍历AvFormatContext->streams数组 查找音频和视频码流的索引值,根据AvFormatContext中type是否为AVMEDIA_VIDEO,AVMEDIA_AUDIO,并将索引保存下来。

5、根据音视频码流索引值,将音频码流和视频码流取出来
   AVStream * audioStream=AvFormatContext->stream[index];
   AVStream * videoStream=AvFormatContext->stream[index];

6、根据音频码流和视频码流查找 对应的解码器类型
    AVCodecContext *audioCodecContext=audioStream->codec;
    AVCodec *audioCodec=av_find_decoder(audioCodecContext->codec_id);
 
 7、使用avcodec_open2打开解码器;

 8、使用av_read_frame 读取出AVPacket 分别放入音频和视频 Packet队列。

 9、开启音频和视频解码线程,分别从Packet中读取数据,进行解码。

 10、进行音视频同步。

    


版权声明:本文为jiabailong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。