【问题标题】:Appropriate time interval to streaming a video file to client?将视频文件流式传输到客户端的适当时间间隔?
【发布时间】:2011-08-09 14:20:16
【问题描述】:

我正在构建一个流媒体视频服务器。现在我必须将视频文件的序列数据(数据包)传输到客户端。但我不知道传输数据包的计时器滴答声。如果我传输太快,客户端没有足够的时间来解码和显示。我不知道它是否取决于视频文件的比特率或其他信息。我使用的视频文件是 WMV。我用于流式传输的协议是 Windows Media HTTP Streaming。我正在用 C# 编程。

视频文件信息:

  • 音频:Windows Media 音频 48000Hz 立体声 64Kbps [原始音频 0]
  • 视频:Windows Media Video 9 320x240 24.00fps 230Kbps [原始视频 1]

我应该使用什么公式来计算传输数据的时间间隔?

【问题讨论】:

    标签: c# timer streaming video-streaming formula


    【解决方案1】:

    您可以根据视频文件的比特率(您所说的约为每秒 300Kbps = 38400 字节)计算要发送的数据量,在伪代码中类似于:

    startTime = Now;
    bytesStreamed = 0;
    videoFileDataRate = 38400;
    
    while(streaming)
    {
      bytesStreamed += streamSomePackets();
      streamDuration = Now - startTime;
      var secondsStreamed = bytesStreamed /videoFileDataRate;
      if(streamDuration < secondsStreamed * 0.99) 
        Throttle();
    }
    

    【讨论】:

      猜你喜欢
      • 2014-09-26
      • 2020-06-23
      • 2015-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 2017-06-10
      相关资源
      最近更新 更多