Eu encontrei uma maneira de fazer uma API para reproduzir o arquivo diretamente do mongoDB GridFS em um widget de imagem de áudio e vídeo HTML. O único problema é que ele usa os dados recuperados do mongoDB como dados base64. Agora o problema que estou falando é discutido neste link:
http://davidbcalhoun.com/2011 /when-to-base64-encode-images-and-when-not-to .
Espero que você ache isso útil antes de decidir usar a solução que estou usando. Minha solução é a seguinte:
$stream = $file->getResource();
$stringcoded = stream_get_contents($stream); //converts the stream to string data
$encoded = base64_encode($stringcoded); //encodes string data to base64
Agora que você tem os dados de áudio, vídeo ou imagem codificados em base64, você só precisa ecoar os dados na parte 'src' do widget html5.
Eu peguei esta solução de um blog muito útil. Se você precisar de mais ajuda sobre isso, por favor, acesse:
http://www.iandevlin.com /blog/2012/09/html5/html5-media-and-data-uri
Qualquer solução aprimorada para esse problema é mais do que bem-vinda.