一直以来, 在多媒体播放器这块, 即使目前有许多开源的播放器项目, 但要写一个播放器仍然是件非常困难的事, 如果在windows上你有可能需要熟悉DShow, 另外的话, 你需要学习一堆开源项目(比如FFmpeg, MPC, VLC, Mplayer), 而且多数都是基于linux, 在windows上学习起来很不容易, 然而这些开源项目对于一些希望快速实现自己播放器, 就显得很困难.

因此, 我创建了这个项目, 致力于以最简单的方法实现自己的播放器, 并提供一个可以很方便使用的接口.

目前, 在这个代码中, 主要链接到FFmpeg来进行解码, 并将其改造成一个通用的播放器框架. 在这个框架中能够接受各种数据的读入, 可以很方便的封装自己的数据读取模块, 也可以很方便的定制自己的视频渲染模块和音频播放模块, 你只需要参考其中的实现即可.

另外在当前的实现中, 因为个人精力实在有限, 所以借鉴了一些开源项目的代码(如Mplayer), 并且该代码跨平台(目前在linux平台的实现稍简单). 所以, 我希望有朋友能参与到这个项目中一起研究和学习, 并完成这个目标.

avplayer.exe

源代码:

请使用git下载, 以便随时更新代码, 这样做也可以方便在你自己的分支中开发, 并提交补丁.

$ git clone https://github.com/avplayer/avplayer.git avplayer

更新

$ git pull

更新子模块

$ git submodule init

$ git submodule update

使用 cmake 编译

cmake . && make

####本程序基于FFmpeg, 所以只能以GPL协议发布, 任何人请在遵守协议的前提下复制、发布、修改.

####最后本程序作者不承担使用该程序所带来的任何问题并拥有一切解释权.

####提供商业技术支持服务.

联系方式:

mail: jack.wgm AT gmail.com microcaicai AT gmail.com

qq: 17146738

android ffmpeg p2p,avplayer: 一个基于FFmpeg、libtorrent的P2P播放器实现.相关推荐

  1. 一个基于Directshow实现的音频播放器,支持歌词显示

    之前在VC知识库上下载了一个基于Directshow做的音乐播放器,带歌词显示功能,觉得挺酷的.我下载了代码,编译了工程之后,运行起来的界面效果如下: 这个播放器支持的功能有: 支持播放MP3/AAC ...

  2. linux p2p视频播放器,avplayer: 一个基于FFmpeg、libtorrent的P2P播放器实现.

    一直以来, 在多媒体播放器这块, 即使目前有许多开源的播放器项目, 但要写一个播放器仍然是件非常困难的事, 如果在windows上你有可能需要熟悉DShow, 另外的话, 你需要学习一堆开源项目(比如 ...

  3. Android 实训日志:基于外部存储的音乐播放器V03

    文章目录 项目功能 实现步骤 创建安卓应用 将图片素材放入drawable 按钮背景图片选择器 在项目清单文件里设置安卓应用的图标和授权访问外置存储卡 主布局资源文件activity_main.xml ...

  4. Android实训日志:基于外部存储的音乐播放器V06

    目录 项目功能 实现步骤 创建安卓应用 将图片素材放入drawable和mipmap 创建按钮背景图片选择器 在项目清单文件里授权访问外置存储卡,设置应用程序图标 创建anim包里面创建animato ...

  5. Android实训日志:基于外部存储的音乐播放器V04

    文章目录 项目功能 实现步骤 创建安卓应用 将图片素材放入drawable 按钮背景图片选择器 在项目清单文件里设置安卓应用的图标和授权访问外置存储卡 主布局资源文件activity_main.xml ...

  6. Android实训日志:基于外部存储卡的音乐播放器V02

    目录 功能要求 实现步骤 创建安卓应用 将图片素材放入drawable 播放按钮图片选择器 编写主布局文件 创建ui目录,将主界面类放入 创建util目录,创建CommonUtils工具类 编写Com ...

  7. Android实训日志:基于外部存储的音乐播放器V05

    目录 项目功能 实现步骤 创建安卓应用 将图片素材放入drawable 按钮图片选择器 编写主布局文件 编写字符串文件 创建音乐列表项模板music_name_list_item.xml 创建ui子包 ...

  8. 基于Amarok的跨平台音乐播放器:Clementine mac版

    Clementine是一个基于Amarok的跨平台音乐播放器,同时它也支持 Win 和 Mac 平台,属于全栖型选手.Clementine可以将歌曲目录加入"库"中以进行搜索,可以 ...

  9. .net vue漂亮登录界面_基于 electron-vue 开发的音乐播放器「实践」

    作者:XiaoTuGou 转发链接:https://github.com/SmallRuralDog 前言 基于 electron-vue 开发的音乐播放器,界面模仿QQ音乐. 技术栈electron ...

最新文章

  1. xilinx中IP核是灰色的 license为带美元的小锁
  2. ESP32-S的UART2的初始化需要注意的问题
  3. python深拷贝和浅拷贝的使用场景_深拷贝、浅拷贝的理解与使用场景
  4. 信息系统项目管理师 案例1
  5. Ubuntu终端命令行不显示颜色
  6. 《失控玩家》爆火背后:什么才是拥抱人工智能的正确姿势?
  7. vscode Python 运行环境配置
  8. colab加载google drive并且调试时跳过不运行
  9. SAP云平台上的Fiori administation工具
  10. cocos2dx 开启控制台
  11. ad中电源插座怎么封装_您可以在房屋中安装的各种电源插座
  12. java查找链表中间元素_如何通过Java单次查找链表的中间元素
  13. Java中的集合HashSet、LinkedHashSet、TreeSet和EnumSet(二)
  14. Springmvc与jasperreport结合生成报表的一种方法
  15. aut0cad2010卸载工具_解决软件注册表卸载不干净导致的autocad2010无法安装问题。...
  16. 面试篇-Spring 拦截器和过滤器的区别?
  17. python爬取b站up主粉丝信息_使用Python爬取B站数据
  18. 计算机视觉基础——3D空间坐标点的重建(三角测量)
  19. 图像处理1--傅里叶变换(Fourier Transform )
  20. leetcode:Add Two Numbers(java)

热门文章

  1. gw在计算机网络里面_GW 是什么意思?
  2. 致程序员:变秃不会变强,系统性学习才会
  3. Emacs 窗体的透明设置
  4. mysql锁表与解锁
  5. JS排序算法(升序)
  6. 《炬丰科技-半导体工艺》半导体晶片缺陷的检测与分类
  7. [Java类加载器]Java中classLoader浅析.
  8. C++将数据写入文件
  9. 常用建筑平面图符号,你想要的在这儿
  10. 10、启用特征值变化(notifyBLECharacteristicValueChange)