什么协议以及如何流式传输已经流式传输的视频- Android

What protocol and how to stream a video that is already streamed- Android

我正在尝试让我的应用程序播放主页上有在线广播电视频道的一些视频。显然,我需要知道什么 ** 流媒体协议** 适合那些类型的视频。这是否意味着我需要知道他们在流式传输中使用的是什么协议?还是应该我选择自己的协议在选择时我应该怎么想

最后一个问题:我听说选择合适的 class (媒体播放器)或视频视图 取决于它是什么协议。是真的吗? class 必须支持在屏幕上滑动n。

提前致谢。

首先,值得检查您要播放的流是否确实可以播放 - 许多在线电视提供商将使用加密和身份验证机制,以便他们的视频流只能在您指定的应用程序或浏览器中播放注册用户已登录。

假设它可用,那么您需要检查它们以何种格式提供。

在高级术语中,流式视频通常打包如下:

  • 原始视频
  • -> 编码成压缩格式(例如 H.264)
  • -> 与音频流等一起打包到容器中(例如 mp4)
  • -> 打包成自适应比特率流媒体格式(例如 HLS、Smoothstreaming、MPEG DASH)

不同的设备和不同的浏览器支持不同的编码、打包和流格式。

假设您想要使用 HTML5 浏览器,无论是独立的还是在应用程序的网络视图中,那么以下链接提供了一个很好的、定期更新的概述,概述了哪些设备和浏览器支持哪些HTML5 视频播放的编码和流式传输(这是一张不断变化的图片,因此您需要使用此类链接检查当前状态):

所以你的步骤:

  1. 确保视频在不受保护的情况下可用,或者您可以访问加密密钥身份验证凭据等
  2. 识别正在使用的流媒体技术,例如通过查看 URL 中的文件类型(例如“.mpd”表示 DASH 格式)
  3. 查看流式传输 'index' 或 'manifest' 文件中的各个视频和音频流,并检查您的设备是否支持它们

您可以通过在一些可用的基于浏览器的测试播放器中针对不同格式(例如 DASH)测试目标设备上的流来走捷径:

如果他们在这里玩,那么您应该能够让他们在您的应用程序中工作。