查看完整版本: [-- APlayer 插件系统介绍 --]

APlayer 开发者论坛 -> APlayer 讨论区 -> APlayer 插件系统介绍 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

aplayer 2014-08-25 20:16

APlayer 插件系统介绍

有时候调用者有获取或者修改 APlayer 解码后的图像或者音频的需求,APlayer 通过插件系统来支持这种需求:

具体来说 APlayer 插件是一个导出特定函数的 DLL,可以被 APlayer 加载,插件DLL的导出函数原形和具体实现方式可以参考 APlayerSDK 中的例子 PluginDemo 的源代码,
APlayer 加载插件后,会把解码后的图像(未压缩格式YUV)或音频(PCM)通过接口推送给插件,这样插件就可以进行进一步处理;
需要注意的是,因为推送函数是在渲染链路中的,所以需要较高性能执行,尽快返回,以免影响后续的渲染(造成慢动作或音视频不同步)。

APlayer 支持加载多个插件,插件的区分就是完整文件路径名。
APlayer 插件系统需要 vsfilter.dll 和 audioswitcher.dll 这两个解码器的支持,且视频回调在开启硬件加速时不可用。

下图是 APlayerSDK 中的一个 APlayer 插件 PluginDemo 的运行效果:
[attachment=257]






w182291185 2014-08-25 20:24
广告位出租····

cpp 2014-08-26 18:39
不错的扩展功能。

xiangyabing 2015-10-10 23:00
不错的扩展功能。

maiju 2015-10-12 11:08
厉害

fly_h 2015-11-24 11:54
不错的扩展功能。

fly_h 2015-11-25 12:31
厉害

chenyw101 2015-11-26 01:08
不错的扩展

yuhanguyue 2016-03-09 22:39
新手表示怎么用呢

kzhw83 2017-01-03 00:51
楼主,这个插件,能否写个易语言版本。C++看不懂

工程师 2017-09-26 09:06
不错的扩展功能。

lgc189 2019-02-11 18:03
kzhw83:
楼主,这个插件,能否写个易语言版本。C++看不懂

管理大大您好!同求 易语言版本的插件例子!麻烦管理大大了

lgc189 2019-04-01 00:58
楼主也不回复~~~~

aplayer 2019-04-03 12:59
lgc189:楼主也不回复~~~~ (2019-04-01 00:58) 

易语言我不熟悉,没法帮到你,APlayer 其实就是个标准 Windows DLL 导出几个指定名字的函数而已,如果易语言可以写标准 Windows DLL 的话应该不难做到。

18817383482 2019-05-04 16:48
管理员你好:
        最近研究APlayer,发现其强大,所以决定自己决定基于APlayer开发一款视频播放器,由于我对WPF较为熟悉,所以准备用WPF做,但是要在WPF里面用WindowsFormsHost来承载Form Control,但是这样交互不太好,缺少了WPF强大的UI支持。所以决定寻路WPF解决方案。发现VLC的解决方案是通过自己的解码器执行两个用户可传入的回调,一次是视频开始解码时接收用户的一个回调,用户自己创建内存映射,将映射地址返回给VLC,第二次是VLC每解析一帧图像便执行第二个回调通知内存中图像已更新,让用户去更新WPF中的Image。这个解决方案目前来说和WPF集成度简直完美,性能也很好,播放很流畅。我想问一下APlayer目前有没有类似的对WPF的解决方案,若没有,后期是否会加入?我目前想到一个解决方案,就是基于APlayer插件系统,开发一款插件,接受一个用户回调作为参数,当APlayer将每一帧图像传来时,将其保存到内存映射,执行这个用户回调通知调用方(WPF)内存已更新,然后调用方(WPF)就可以事实更新UI上的Image?请问管理员这个方案是否可行?

zhangsongkl 2020-03-20 09:53
aplayer:易语言我不熟悉,没法帮到你,APlayer 其实就是个标准 Windows DLL 导出几个指定名字的函数而已,如果易语言可以写标准 Windows DLL 的话应该不难做到。 (2019-04-03 12:59) 

导出那些指定函数名,有没有插件帮助手册。

aplayer 2020-03-20 20:17
zhangsongkl:导出那些指定函数名,有没有插件帮助手册。 (2020-03-20 09:53) 

不好意思没说明白,是 APlayer 插件只是普通的 Windows DLL,插件源代码在 APlayerSDK 的 APlayerSDK\samples\PluginDemo 目录中有。

aplayer 2020-03-20 20:20
18817383482:管理员你好:
        最近研究APlayer,发现其强大,所以决定自己决定基于APlayer开发一款视频播放器,由于我对WPF较为熟悉,所以准备用WPF做,但是要在WPF里面用Windows .. (2019-05-04 16:48) 

方法是可行的,开启软解图像是可以回调到插件的。


查看完整版本: [-- APlayer 插件系统介绍 --] [-- top --]


Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.009428 second(s),query:0 Gzip enabled