playerdemo

itisyangGPL-3.0更新放缓

基于 FFmpeg、SDL2 和 Qt 的开源视频播放器,模仿 PotPlayer 的界面与功能,适合学习播放器开发中的解码、渲染和音视频同步技术。

一个视频播放器,开源版 potplayer ,用于总结播放器开发技术。

v0.2.0发布于 2023-01-26 05:33 UTC1,186star297fork同步于 2026-11-07 07:33 UTC

怎么上手

由 README 提炼,执行前请确认
sudo apt-get install libsdl2-dev
sudo apt-get install libavformat-dev libavutil-dev libavcodec-dev libswscale-dev
硬件要求按 README 说明

README 未说明显存或 GPU 要求;仅说明需 64 位开发环境,库与头文件位数需与开发环境一致

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

一个用 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 三平台编译步骤

容易踩的坑

Windows 下需自行从官网下载 FFmpeg、SDL2 动态库,把 dll 放 bin 目录并替换 lib 文件夹内容;tag 打包版本不含 FFmpeg 和 SDL2 动态库,需自行补齐;macOS 需手动改 playerdemo.pro 里的头文件和库路径;编译时静态库与动态库的版本、位数必须统一

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

2 个版本v0.2.0
  1. v0.2.0最新正式版2023-01-26 · 2023-01-26 05:33 UTC

    这个版本没有写更新说明。

  2. v0.1.02018-06-24 · 2018-06-24 03:23 UTC
    查看更新说明

    完成了一个播放器的基本功能

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    playerdemo

    GitHub issues GitHub stars GitHub forks GitHub release Build Status Build Status Build Status language GitHub license

    一个视频播放器,开源版 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 打开编译调试。

    playerdemo_play

    沟通

    • Issues: 欢迎给我提 issues,关于本项目的问题,请优先提 issues,我会尽量当天回复。

    Windows平台编译调试

    1. 下载 FFmpeg、SDL2 动态库,dll放在 bin 目录下,头文件和lib文件替换掉lib文件夹中的内容。(直接从官网下载即可)
      FFmpeg 库下载地址 https://ffmpeg.zeranoe.com/builds/
      SDL2 库下载地址 https://www.libsdl.org/download-2.0.php
    2. 使用 QtCreator 打开 playerdemo.pro。
    3. 编译运行。

    Linux平台编译调试

    1. 安装 SDL2相关的开发包 libsdl2-dev。
      sudo apt-get install libsdl2-dev
      
    2. 安装 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
      
    3. 使用 QtCreator 打开 playerdemo.pro。
    4. 编译运行。

    Macos平台编译调试

    1. 安装 FFmpeg相关的开发包。

      brew install ffmpeg
      
    2. 使用 QtCreator 打开 playerdemo.pro。

    3. 修改 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 安装目录

    4. 编译运行。

    其他

    编译时,注意统一静态库与动态库的版本、位数。若开发环境为64位,库及头文件均要64位。  
    tag中的打包版本使用actions打包,不包含ffmpeg和SDL2动态库,后续研究如何一起打包。