Windows 下需自行从官网下载 FFmpeg、SDL2 动态库,把 dll 放 bin 目录并替换 lib 文件夹内容;tag 打包版本不含 FFmpeg 和 SDL2 动态库,需自行补齐;macOS 需手动改 playerdemo.pro 里的头文件和库路径;编译时静态库与动态库的版本、位数必须统一
sudo apt-get install libsdl2-dev
sudo apt-get install libavformat-dev libavutil-dev libavcodec-dev libswscale-dev 硬件要求按 README 说明
README 未说明显存或 GPU 要求;仅说明需 64 位开发环境,库与头文件位数需与开发环境一致
一个用 FFmpeg 解码、SDL2 渲染的开源视频播放器,供学习音视频开发参考
基于 FFmpeg、SDL2 和 Qt 的开源视频播放器,模仿 PotPlayer 的界面与功能,适合学习播放器开发中的解码、渲染和音视频同步技术。
核心能力
- 用 FFmpeg-5.1 解码视频,SDL2-2.0.7 负责渲染
- 基于 Qt5.12 开发,.pro 工程支持 Win/Linux/Mac 多平台
- 用 QtCreator 打开 playerdemo.pro 即可编译调试
- 提供 Windows、Linux、macOS 三平台编译步骤
容易踩的坑
内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README
- v0.2.0最新正式版2023-01-26 · 2023-01-26 05:33 UTC
这个版本没有写更新说明。
- v0.1.02018-06-24 · 2018-06-24 03:23 UTC
查看更新说明
完成了一个播放器的基本功能
用户点评
登录用户的真实使用记录,可按版本和硬件筛选共 0 条
还没有人点评。第一个说出真实体验的人最有价值。
playerdemo
一个视频播放器,开源版 potplayer。
用于学习和交流音视频技术。
欢迎音视频开发爱好者交流相关问题。
https://itisyang.github.io/playerdemo/
简介
- 使用 FFmpeg-5.1 (x64) 解码,SDL2-2.0.7 (x64) 渲染。
- 在 Windows 下使用 Qt5.12.x (MinGW x64) 开发。
- 项目目录下的 .pro 文件,支持在多平台(Windows、Linux、Mac)下 QtCreator 打开编译调试。

沟通
- Issues: 欢迎给我提 issues,关于本项目的问题,请优先提 issues,我会尽量当天回复。
Windows平台编译调试
- 下载 FFmpeg、SDL2 动态库,dll放在 bin 目录下,头文件和lib文件替换掉lib文件夹中的内容。(直接从官网下载即可)
FFmpeg 库下载地址 https://ffmpeg.zeranoe.com/builds/
SDL2 库下载地址 https://www.libsdl.org/download-2.0.php - 使用 QtCreator 打开 playerdemo.pro。
- 编译运行。
Linux平台编译调试
- 安装 SDL2相关的开发包 libsdl2-dev。
sudo apt-get install libsdl2-dev - 安装 FFmpeg相关的开发包 libavformat-dev、libavutil-dev、libavcodec-dev、libswscale-dev...
sudo apt-get install libavformat-dev sudo apt-get install libavutil-dev sudo apt-get install libavcodec-dev sudo apt-get install libswscale-dev - 使用 QtCreator 打开 playerdemo.pro。
- 编译运行。
Macos平台编译调试
-
安装 FFmpeg相关的开发包。
brew install ffmpeg -
使用 QtCreator 打开 playerdemo.pro。
-
修改 playerdemo.pro 配置 ffmpeg、SDL2 头文件和库目录。
# 将下面的路径改为自己设备上的路径 macx { INCLUDEPATH += /usr/local/Cellar/sdl2/2.24.1/include LIBS += -L/usr/local/Cellar/sdl2/2.24.1/lib -lSDL2 INCLUDEPATH += /usr/local/Cellar/[email protected]/5.1.1_1/include LIBS += -L/usr/local/Cellar/[email protected]/5.1.1_1/lib -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lswresample -lswscale }通过 brew info ffmpeg 查询 ffmpeg 安装目录
ffmpeg 安装时会自动安装SDL2依赖,通过 brew info SDL2 查询 SDL2 安装目录 -
编译运行。
其他
编译时,注意统一静态库与动态库的版本、位数。若开发环境为64位,库及头文件均要64位。
tag中的打包版本使用actions打包,不包含ffmpeg和SDL2动态库,后续研究如何一起打包。