好多开发者跟我们交流的时候提到,为什么有了VLC这种开源播放器,大牛直播SDK还要开发SmartPlayer?以下就针对VLC和SmartPlayer功能支持和涉及侧重,做个大概的比较:
VLC
VLC的全名是Video Lan Client,是一个开源的、跨平台的视频播放器,以下是功能支持:
- 操作系统:Windows、WinCE、Linux、MacOSX、BEOS、BSD
- 访问形式:文件、DVD/VCD/CD、http、ftp、mms、TCP、UDP、RTP、IP组播、IPv6、rtsp
- 编码格式:MPEG*、DIVX、WMV、MOV、3GP、FLV、H.263、H.264、FLAC
- 视频字幕:DVD、DVB、Text、Vobsub
- 视频输出:DirectX、X11、XVideo、SDL、FrameBuffer、ASCII
- 控制界面:WxWidgets、QT4、Web、Telnet、Command line
- 浏览器插件:ActiveX、Mozilla(firefox)
VLC相关的一些链接
SmartPlayer
SmartPlayer系大牛直播SDK(Github)出品的全自研内核的RTSP和RTMP直播播放器SDK,跨平台(Windows、Android、iOS)、功能齐全、高稳定、超低延迟,超低资源占用,适用于安防、教育、单兵指挥等对延迟和稳定性要求比较苛刻的场景,在机器性能没有瓶颈的前提下,SmartPlayer的RTSP播放器和RTMP播放器延迟是业内为数不多毫米级的。
功能支持:
- [多实例播放]支持多实例播放;
- [事件回调]支持网络状态、buffer状态等回调;
- [视频格式]支持H.265、H.264,此外,还支持RTSP MJPEG播放;
- [音频格式]支持AAC/PCMA/PCMU;
- [H.264/H.265软解码]支持H.264/H.265软解;
- [H.264硬解码]Windows/Android/iOS支持H.264硬解;
- [H.265硬解]Windows/Android/iOS支持H.265硬解;
- [H.264/H.265硬解码]Android支持设置Surface模式硬解和普通模式硬解码;
- [RTSP模式设置]支持RTSP TCP/UDP模式设置;
- [RTSP TCP/UDP自动切换]支持RTSP TCP、UDP模式自动切换;
- [RTSP超时设置]支持RTSP超时时间设置,单位:秒;
- [RTSP 401认证处理]支持上报RTSP 401事件,如URL携带鉴权信息,会自动处理;
- [缓冲时间设置]支持buffer time设置;
- [首屏秒开]支持首屏秒开模式;
- [复杂网络处理]支持断网重连等各种网络环境自动适配;
- [快速切换URL]支持播放过程中,快速切换其他URL,内容切换更快;
- [音视频多种render机制]Android平台,视频:surfaceview/OpenGL ES,音频:AudioTrack/OpenSL ES;
- [实时静音]支持播放过程中,实时静音/取消静音;
- [实时快照]支持播放过程中截取当前播放画面;
- [只播关键帧]Windows平台支持实时设置是否只播放关键帧;
- [渲染角度]支持0°,90°,180°和270°四个视频画面渲染角度设置;
- [渲染镜像]支持水平反转、垂直反转模式设置;
- [等比例缩放]支持图像等比例缩放绘制;
- [实时下载速度更新]支持当前下载速度实时回调(支持设置回调时间间隔);
- [解码前视频数据回调]支持H.264/H.265数据回调;
- [解码后视频数据回调]支持解码后YUV/RGB数据回调;
- [解码前音频数据回调]支持AAC/PCMA/PCMU数据回调;
- [音视频自适应]支持播放过程中,音视频信息改变后自适应;
- [扩展录像功能]支持录像和录像状态回调。
总结
通过比较可以得出结论,SmartPlayer在RTSP和RTMP直播播放这块,支持更全面。
如果是对延迟要求不高,需要支持的协议和音视频格式比较多,可以考虑用VLC,VLC的出现是音视频行业的福音。
如果是对延迟和稳定性要求比较高,可以考虑用SmartPlayer,集成比较方便,支持实时下载速度回调和网络状态回调等,SmartPlayer是为数不多毫秒级延迟的RTSP和RTMP直播播放器。