在过去几年中,视频支持的应用程序,尤其是视频流,已经变得非常流行。许多提供商开始在其专用网站上发布他们的内容,如新闻,连续剧和电影,或者以此目的使用专门的共享服务,如优酷,腾讯等。在上述服务中,视频流通常基于HTTP和TCP。目前,TCP是互联网中使用最广泛的传输协议,但却因为其通用协议的性质,未针对流媒体传输进行专门设计或优化,不适合多媒体流传输。
    还有一个方面的原因,就是带宽。当我们有很多人通过互联网请求媒体时,有很多带宽通过互联网传播。但这些联系是单一的,它们流向每个人,如果有500人在观看,则每个人都必须获得该媒体的副本。在这种情况下,带宽随着人数的增加而增加。 如果是500人,那我们需要500倍的带宽,这对于企业来说,绝对是一个不容忽视的存储价格。并且传统的流媒体服务由一个或几个大型组织管理,服务质量和审查规则由他们决定,用户必须要遵循这一规则,这严重损害的用户的个人利益,流媒体改革迫在眉睫。

IPFS助力流媒体,提供持久存储

    IPFS或InterPlanetary文件系统是一种开源协议和网络,旨在创建在分布式文件系统中存储和共享超媒体的内容可寻址的对等方法。它旨在使网络更快,更安全,更开放。IPFS如何帮助我们进行流式传输?

   在IPFS流媒体中,我们不需要将内容推送给每个用户。您所要做的就是将内容推送到IPFS网关。任何想要该内容的人都可以从那里拿起它。IPFS网关在本地缓存内容。所以更多的网关,更多的内容来源。

    IPFS提供那些实时流媒体内容的持久存储,这样如果有人错过了实时流媒体,他们总是可以回来查找它的保存副本。网络会自动删除重复项并跟踪版本历史记录。通过我们的界面,我们还允许用户安排实时流媒体和广播的内容。用户可以记录媒体并自动化系统,以便在给定时间内将该媒体流传输指定的持续时间。
IPFS通过分发帮助解决拥堵和过度控制政府。IPFS地址不是位置,而是直接指向资源,并确保此数据来自最近的源。这意味着,如果一个满是学生的教室会观看同一个视频,他们会从彼此而不是任何中心位置获取它。这将使4k视频流无缓冲。

IPFS流如何工作?


  1.获取内容
   WebRTC通过简单的应用程序编程接口为Web浏览器和移动应用程序提供实时通信。使用WebRTC,我们每隔5秒将网络摄像头内容作为WebM传输到节点服务器,使用VP9编解码器。

  2.转换为HLS
   一旦我们在服务器端收到内容块,使用FFMPEG我们将该块转换为HLS格式。它创建m3u8文件和ts文件。我们将这些文件添加到专门用于此会话直播的文件夹中。

  3.将文件添加到IPFS
  在此专用文件夹中的每次更新时,我们都需要将该文件夹添加/重新添加到IPFS并重新发布IPNS。每次更新内容更改后,该文件夹的哈希值都会更改。但是我们不需要这个,我们需要一个静态哈希,它可以引用这个HLS文件的动态文件夹。为此,我们正在使用IPNS。IPNS中的名称是公钥的哈希值。它与包含有关其链接的哈希的信息的记录相关联,该哈希由相应的私钥签名。可以随时签署和发布新记录。

  4.在客户端播放

  HTTP直播(HLS)是当今用于流式传输视频的最流行的协议之一。在过去几年中,HLS已经成为网络视频的标准协议,并且有充分的理由。HLS设置非常简单,可以免费使用,并且可以在各种设备上得到支持。

网络上的任何人都可以借助IPNS哈希请求内容,并使用HLS播放器在浏览器上播放。HLS播放器获取'master.m3u8'文件并按定义的顺序播放块。

总而言之,在IPFS的帮助下,我们希望减少当前和传统流技术所使用的庞大带宽量,并提供持久的内容存储,更高质量的流媒体。