fanplayer
一个基于ffmpeg的适用于Windows和Android平台的便携式视频播放器。
这是一个简单轻量的播放器实现,不依赖SDL或其他第三方库。播放器核心代码用C语言编写,遵循KISS原则,易于阅读。
它直接访问特定平台上的视频和音频渲染设备。在Win32平台上,使用GDI和Direct3D API实现视频渲染,使用WaveOut API实现音频渲染。在Android平台上,使用AudioTrack和ANativeWindow API进行音频和视频渲染。
目前,这个播放器可以流畅播放许多视频文件,具有低CPU和内存占用(相比官方ffmpeg的ffplay),高性能,兼容性和稳定性,且音视频同步效果很好。
特性
- 低内存和CPU占用
- 音视频同步效果好
- Win32平台上支持GDI和Direct3D渲染
- 支持1%到100%、200%等可变速度播放
- 波形和频谱可视化效果
- 支持流选择
- 支持网络媒体流播放
- 支持dshow、gdigrab和vfwcap(ffmpeg的avdevice)
- 视频截图,支持保存为JPEG和PNG格式
- 非常快速(异步)的定位操作,延迟为0毫秒
- 通过ffmpeg avfilter支持视频旋转
- 支持前进/后退步进定位操作
- Android上支持MediaCodec硬件解码
- Windows上支持DXVA2硬件加速
- Direct3D视频渲染支持旋转
- 支持直播流播放的自动重连
- 支持avkcp和ffrdp协议
- Win32平台支持叠加
- 支持鼠标右键拖动选择区域缩放
- 支持livedesk ffrdp远程控制
- 支持yolo-fastest检测
testplayer
testplayer是fanplayer的简单测试播放器 testplayer的热键: ctrl+O - 打开文件 ctrl+E - 切换可视化效果 ctrl+M - 在信箱模式和拉伸模式间切换 ctrl+R - 在GDI和D3D间切换 ctrl+A - 切换音频流 ctrl+V - 切换视频流 ctrl+S - 视频截图 ctrl+F - 向前步进定位 ctrl+B - 向后步进定位 ctrl+上 - 加快播放速度 ctrl+下 - 降低播放速度 ctrl+T - 切换速度类型 ctrl+X - 旋转视频(仅限D3D渲染模式) ctrl+C - 将当前播放的媒体录制为record.mp4文件 ctrl+W - 将窗口大小设置为视频大小 ctrl+D - 显示视频定义 ctrl+0 - 恢复缩放 ctrl+L - 进入livedesk ffrdp远程控制模式 ctrl+Y - 启用/禁用yolo-fastest检测
想了解更多?
想了解更多关于fanplayer的信息,请访问我们的wiki。
https://github.com/rockcarry/fanplayer/wiki
联系与讨论
邮箱 :rockcarry@163.com QQ群 :383930765
rockcarry 2016.1.7