• EasyPlayer.js如何在iOS上实现低延时直播?FLV(wasm) or WebRTC


    最近连续收到用户的几个需求,要求在微信这样的直播分享页面上,能以低延时的方式播放实时视频。我们起初以为这只是个简单的需求,直到用户使用iphone测试的时候发现,iPhone只能播放HLS和WebRTC,而当视频编码格式为H.265的时候,WebRTC就失去用武之地了,HLS流的延时则一如既往的大。

    之前也有不少做HLS低延时直播的方法,比如减少单个切片的时长duration,减少list个数等等,这些都和我们的全终端适配,以及服务端录像的需求无法完全统一。所以,HLS低延时是特性功能,不能用于共性功能。

    于是,我们只能在FLV流上做文章,WS-FLV和HTTP-FLV在Android系统上目前都得到了非常好的应用,播放既实时又稳定,而FLV在iOS上是妥妥的无法播放。

    那么,摆在我们面前的就一个方案:如何解决FLV流在iOS上的播放问题。

    就跟我们开发EasyPlayer.js的实时录像功能一样,我们又将目光转向了wasm(WebAssembly)。既然FLV在iOS上用MSE无法播放,那么我们可以采用wasm的方式(其实就是视频流自己解析、自己解码、自己显示),这种就可以实现在iOS系统上也能完全可控,而且实时性强。

    我们的EasyPlayer是可支持H.264/H.265视频播放的流媒体播放器,性能稳定、播放流畅,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,具备较高的可用性。为了满足用户的个性化需求,EasyPlayer拥有多个版本,如EasyPlayer-RTSP、EasyPlayer.js、EasyPlayerPro等,并且EasyPlayer还拥有Windows、Android、iOS版本,EasyPlayer.js还可支持Linux平台。用户可以根据自身的需求对其进行二次开发或自主集成。感兴趣的用户可以前往官网下载、部署和测试。

  • 相关阅读:
    第一阶段各队建议
    解决死锁四大方式
    进程和线程区别
    windows 地址空间分配
    Linux下用户组、文件权限详解
    2016总结
    class内部处理
    c++ devived object model
    static
    reinterpret
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/16451181.html
Copyright © 2020-2023  润新知