[SimplePlayer] 实现一个简单的播放器

简单的播放器需要实现一个最基本的功能:播放视频文件。

实现这个功能需要包含以下几个步骤:

  1. 从视频文件中提取视频图像
  2. 在屏幕上显示视频图像
  3. 视频帧的同步,也就是保证视频图像在合适的时间在屏幕上显示
  4. 从视频文件中提取音频
  5. 向音频设备输出音频
  6. 音频同步,也就是保证合适的时间输出合适的音频
  7. 多线程处理
  8. 音视频同步

本实现是通过ffmpeg来实现音视频的提取,通过sdl2来实现音视频的输出,版本如下:

libavutil      56. 19.100 / 56. 19.100
libavcodec     58. 23.100 / 58. 23.100
libavformat    58. 17.103 / 58. 17.103
libavdevice    58.  4.101 / 58.  4.101
libavfilter     7. 26.100 /  7. 26.100
libswscale      5.  2.100 /  5.  2.100
libswresample   3.  2.100 /  3.  2.100
libpostproc    55.  2.100 / 55.  2.100

sdl2       2.0.5

 

Github Repository

posted @ 2018-09-04 14:15  TaigaComplex  阅读(1802)  评论(0编辑  收藏  举报