如何估算实时流媒体视频的带宽/速度要求?

时间:2016-06-19 01:10:55

标签: ios video ffmpeg video-streaming live-streaming

对于我正在进行的项目,我正在尝试通过耳机插孔将视频流式传输到iPhone。我的估计比特率大约是200kbps(如果我错了,请忽略它)。

我想尽可能多地挤出这个比特率的声音,声音对我来说并不重要,只有视频。我的理解是,为了流式传输实时视频,我需要在运行时使用一些编解码器对其进行编码,并将压缩帧发送到iPhone进行解码和渲染。根据我的研究,似乎H.265是最具空间效率的编解码器之一,因此我正在考虑使用它。

假设我对实时流媒体的基本理解是正确的,那么我如何估计使用H.265编解码器在给定分辨率下可以实现的FPS?

我能想到的最佳解决方案是拍摄视频文件,使用H.265对其进行编码并将其修剪为1分钟,以查看文件的大小。我用这种方法看到的问题是,我认为我的计算将包括视频容器格式(AVI,MKV等)以及我不关心的音频通道的一些开销。

1 个答案:

答案 0 :(得分:3)

  

我正在尝试通过耳机插孔将视频流式传输到iPhone。

祝你好运。耳机插孔仅限音频。

  

我的估计比特率约为200kbps

以什么分辨率? 320×240

  

我想尽可能多地挤出这个比特率,声音对我来说并不重要,只有视频。

然后,将声音流全部放在一起。实际上,对于任何合理尺寸或质量的视频来说,200kbit是不够的。

  

假设我对实时流媒体的基本理解是正确的,我如何使用H.265编解码器估算出对于给定分辨率可以达到的FPS?

没人知道,因为你几乎没有告诉我们这个视频中的内容。视频所需的带宽是许多因素的乘积,例如:

  • 分辨率
  • 期望的质量
  • 色彩空间
  • 场景的视觉复杂性
  • 运动和场景变化
  • 调整和编码参数(快速启动?低延迟?)

你将不得不决定你愿意接受什么样的质量,并主观地决定质量和帧率之间的平衡。 (还要记住,如果没有太多进展,你基本上可以免费获得帧,因为它们占用的带宽非常少。实验。)

  

我能想到的最佳解决方案是拍摄视频文件,使用H.265对其进行编码并将其修剪为1分钟,以查看文件的大小。

拍摄许多视频,这些视频是您将要处理的典型视频,并从那里开始计算。

  

我用这种方法看到的问题是,我认为我的计算会包括视频容器格式(AVI,MKV等)以及我不关心的音频通道的一些开销。

您的视频流根本没有容器?甚至不是TS?您可以使用FFmpeg为您转储原始流数据。