文档章节

基于ffmpeg并支持p2p(bt), http, rtsp的播放器 avplayer

Jackarain
 Jackarain
发布于 2012/04/06 00:33
字数 661
阅读 5384
收藏 12

一直以来, 在多媒体播放器这块, 即使目前有许多开源的播放器项目, 但要写一个播放器仍然是件非常困难的事, 如果在windows上你有可能需要熟悉DShow, 另外的话, 你需要学习一堆开源项目(比如FFmpeg, MPC, VLC, Mplayer), 而且多数都是基于linux, 在windows上学习起来很不容易, 然而这些开源项目对于一些希望快速实现自己播放器, 就显得很困难.
因此, 我创建了这个项目, 致力于以最简单的方法实现自己的播放器, 并提供一个可以很方便使用的接口.
目前, 在这个代码中, 主要链接到FFmpeg来进行解码, 并将其改造成一个通用的播放器框架. 在这个框架中能够接受各种数据的读入, 可以很方便的封装自己的数据读取模块, 也可以很方便的定制自己的视频渲染模块和音频播放模块, 你只需要参考其中的实现即可.
另外在当前的实现中, 因为个人精力实在有限, 所以借鉴了一些开源项目的代码(如Mplayer), 并且该代码主要基于windows平台, 有移植到linux等其它平台的打算. 所以, 我希望有朋友能参与到这个项目中一起研究和学习, 并完成这个目标.

avcore是一个封装模块, 如果要创建一个播放器, 只需要avplayer.h, 然后使用创建一个avplayer对象, 就可以创建一个播放器, 关于如何使用avcore的具体细节可以参考avplayer/main.cpp

附: 在release目录下已经生成了可以测试的执行文件, 其中bt_source.dll是一个基于libtorrent实现的数据读入模块(source), 可以方便的播放bt中的视频, 如果有兴趣可以将bt_source.dll更名为source.dll进行测试, 里面有一个从优酷找的一个超清视频文件gq.flv.torrent种子文件用于测试.

最后, 任何方式(包括商业或非商业)修改或引用该项目的全部或部分源码(或dll), 请在你的软件中或产品文档中必须清楚的声明引用了该项目, 并注明url(https://github.com/Jackarain/avplayer), 你可以偷偷的不这样做, 但这样做是令人欣赏的做法.

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

© 著作权归作者所有

下一篇: 关于Goertzel
Jackarain

Jackarain

粉丝 224
博文 17
码字总数 10627
作品 4
杭州
私信 提问
加载中

评论(6)

DDHJ365
DDHJ365
这文件没有了啊
王大帆
不客气,对于ffmpeg我也是初学,有问题再向你请教。
Jackarain
Jackarain 博主

引用来自“王大帆”的评论

地址:http://hi.baidu.com/seven_1992/blog/item/a6cd3d3063e599e41b4cff0b.html
我就用了Robotica这个,估计其它应该是一样的现象。顺便提一下,ffplay就是用的你上传到代码仓库中的那个

非常感谢你提供的视频测试, 这个问题已经修正, 原因是解码出来的数据长度不正确导致.
王大帆
地址:http://hi.baidu.com/seven_1992/blog/item/a6cd3d3063e599e41b4cff0b.html
我就用了Robotica这个,估计其它应该是一样的现象。顺便提一下,ffplay就是用的你上传到代码仓库中的那个
Jackarain
Jackarain 博主

引用来自“王大帆”的评论

初步试了一下,播放1080p会不太正常,用ffmpeg的ffplay则正常

能否提供测试视频文件? jack.wgm@gamil.com, 谢谢!
王大帆
初步试了一下,播放1080p会不太正常,用ffmpeg的ffplay则正常
跨平台媒体播放器框架 - SGPlayer

SGPlayer SGPlayer 是一款基于 AVPlayer、FFmpeg 的媒体资源播放器框架。支持360°全景视频,VR视频,RTMP、RTSP 等直播流;同时支持 iOS、macOS、tvOS 三个平台。 功能特点 支持播放360°全...

libobjc
2017/04/21
2.4K
1
【开源访谈】AVPlayer 作者王功铭访谈实录

关于开源访谈 开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方式记录并传播。我们希望开源访谈能全面的展现国内开源软件、开源软件作者的现状,着实推动国内开源...

虫虫
2012/11/27
5.8K
31
iOS-ijkplayer集成

ijkplayer是bibiliB站开源的一个三方,封装好了ffmpeg,可以去面向对象去开发。 苹果提供了:AVPlayer播放不了直播文件。需要自己去基于ffmpeg播放。 1.搜索查找ijkplayer git clone https:/...

_正阳_
2018/10/08
0
0
短视频从无到有(十三) 点播在线视频的秒开策略

前言:一般而言,视频文件越大,索引头也就越大,需要播放器解析的时间也就越长,用户观看的体验自然也就不好。所以,本文中提到的优化策略不仅适用于短视频,更适用于文件较大的点播视频。结...

卢叁
2018/09/10
0
0
ok, 完成一个基于ffmpeg的开源播放器

本人利用业余时间写了一个简单的播放器, 已开源, 见https://github.com/Jackarain/avplayer 在release目录下, 可以下载可执行程序, 目前暂时只支持windows平台, 希望有兴趣的朋友一起参与开发...

Jackarain
2012/03/28
9K
25

没有更多内容

加载失败,请刷新页面

加载更多

zookeeper - leader选举

让我们分析如何在ZooKeeper集合中选举leader节点。考虑一个集群中有N个节点。leader选举的过程如下: 所有节点创建具有相同路径 /app/leader_election/guid_ 的顺序、临时节点。 ZooKeeper集...

Canaan_
20分钟前
5
0
金九银十裸辞跳槽面试,却被面试官吊打

目前已经达到金九银十的阶段,相信有不少程序员蠢蠢欲动,开始出去试试水,想要跳槽涨薪了!有一个朋友就想改变现状,于是找了大量网上的面试题,强行记下之后,开始出去“试水”。 他试水之...

别打我会飞
24分钟前
4
0
Spring 官方出品应用监控度量指标门面类库Micrometer介绍

前言 上篇文章 Spring Boot 2.x 中的 Actuator 我们提到了在Spring Boot Actuator中的metirc指标。在Spring Boot 2.x中 官方引入了新的监控门面(facade)类库Micrometer。如果你对门面不是很清...

码农小胖哥
53分钟前
7
0
获取form对象

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <......

前端老手
55分钟前
5
0
CSS-字体格式化

一、字体属性 1、自定字体的类型 font-family:黑体,华文彩云,宋体; 用逗号隔开多个字体类型 2、字体大小 font-size 取值:(1)以px为单位的数字 (2)以pt为单位的数字 (3)em/rem 3、...

wytao1995
58分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部