gpt4 book ai didi

android - 在 Android 中实现 HTTP 实时视频流的最有效方法是什么?

转载 作者:行者123 更新时间:2023-11-30 00:38:34 24 4
gpt4 key购买 nike

在过去的一个月里,我一直在 Internet 上搜索实现从 Android 应用程序录制实时视频并将其发送到服务器的方法,但我研究得越多,就越感到困惑。

首先,我正在寻找一种将来也可以用于 iOS 的流媒体协议(protocol),所以我得出的结论是 DASH(基于 HTTP 的动态自适应流媒体)是理想的选择解决方案。此外,最近的Android框架ExoPlayer也支持此功能。此外,我不希望使用诸如 WOWZA 之类的实时流媒体引擎。

其次,根据我的研究,我还得出结论,任何 HTTP 服务器都可以用来接收数据的“ block ”,但我必须有一个流媒体服务器才能将视频流式传输回用户。我相信这个过程相当复杂,但我不会放弃,直到我成功地完成它。

最后,我的问题是,我应该使用什么服务器、协议(protocol)来实现这一目标?以及如何直接转换视频并发送到服务器?

最佳答案

查看您关于协议(protocol)和服务器的问题:

  • “ future 也可用于 iOS 的流媒体协议(protocol)”

这可能取决于你所说的“ future ”是什么意思。目前,Apple 要求您在 iOS 上对移动网络(蜂窝网络)上超过 10 分钟的任何视频使用 HLS。 DASH 正在将自己确立为行业标准,因此这可能会改变,苹果也可能会接受它,但如果您在不久的将来需要某些东西,您可能希望计划支持 DASH 和 HLS。

  • 您应该使用什么服务器进行流式传输

流式视频很复杂,领域也在快速变化,因此如果可以的话,使用或在专用流式服务器上构建确实是一件好事。这些通常具有将输入视频转换为您需要的不同格式和比特率的机制和/或有据可查的程序,具体取决于您的覆盖范围和用户体验目标。 Reach 将确定您需要的不同编码,不同的浏览器和设备支持不同的编码,如果您希望您的用户有避免缓冲的良好体验,您还需要每种格式的多个比特率版本——这允许 DASH 和 HLS 提供自适应比特率流式传输 (ABR),这意味着客户端可以根据网络条件在任何给定时间选择最佳比特率。视频操作,尤其是转码,是一项 CPU 密集型任务,因此专用流媒体服务器软件的另一个优势是应尽可能对其进行优化以减少服务器负载。

如果你决定走流媒体服务器路线,那么有开源替代品,以及你上面提到的 Wowza,例如:

这些有支持 ABR 等的插件 - 如果您搜索“GStreamer 流媒体服务器 ABR”,您会发现一些关于设置它的好博客。

关于android - 在 Android 中实现 HTTP 实时视频流的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42963571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com