构建一个API,用于从GridFSmongodb流式传输音频/视频


build an API for streaming audio/video from GridFS mongodb

我已经在浏览器上尝试了来自gridFS的链接流音频/视频文件中给出的解决方案

尽管如此,当我使用我的代码时,文件会被下载或使用默认的浏览器播放器播放。我的代码是:

header('Content-type: audio/mpeg;');
$stream = $file->getResource();
while (!feof($stream)) {
      echo fread($stream, 8192);
      }

我实际上想要一个解决方案来构建一个API,这样我就可以从mongodbGridFS中检索音频/视频,并从电话应用程序流式播放。

急需帮助。欢迎在这个问题上提供任何帮助。

我找到了一种方法来制作一个API,用于在HTML音频视频图像小部件中直接从mongoDBGridFS播放文件。它唯一的问题是它使用从mongoDB检索到的数据作为base64数据。现在,我谈论的问题在这个链接中进行了讨论:

http://davidbcalhoun.com/2011/when-to-base64-encode-images-and-when-not-to.

在决定使用我正在使用的解决方案之前,我希望您觉得这很有用。我的解决方案如下:

$stream = $file->getResource();
$stringcoded = stream_get_contents($stream); //converts the stream to string data
$encoded = base64_encode($stringcoded);  //encodes string data to base64

现在您已经在base64中编码了音频、视频或图像数据,只需在html5小部件的"src"部分中回显数据即可。

我从一个非常有用的博客中得到了这个解决方案。如果你需要更多的帮助,请浏览:

http://www.iandevlin.com/blog/2012/09/html5/html5-media-and-data-uri

对这个问题的任何改进的解决方案都是非常受欢迎的。