【问题标题】:Stream a video from azure blob storage using node js使用节点 js 从 azure blob 存储流式传输视频
【发布时间】:2022-01-06 19:22:19
【问题描述】:

我想流式传输存储在 azure blob 存储中的视频。前端我正在使用 react。

【问题讨论】:

  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: node.js video-streaming azure-blob-storage


【解决方案1】:

解决方法尝试以下解决方案

解决方案 1: Azure Media Services:使您能够使用低延迟直播、批量编码、内容保护/DRM 构建媒体应用程序,并将流媒体内容交付给任何设备上的数百万观众.

Azure 媒体服务是一个基于云的平台,可让您构建实现广播质量视频流、增强可访问性和分发、分析内容等的解决方案。

有关更多详细信息,请参阅此文档如何连接到 Azure 媒体服务 v3 node.js SDK:https://docs.microsoft.com/en-us/azure/media-services/latest/configure-connect-nodejs-howto

在 npm 中使用 Azure Media client library for JavaScript

如果文件是使用 Azure 媒体服务 SDK 上传的,则上传的视频将存储为 Assest 文件。 这样可以更轻松地将视频流式传输到不同的设备。

要流式传输或下载资产,您首先需要通过创建定位器来“发布”它。定位器提供对资产中包含的文件的访问。

创建定位器后,您可以构建用于流式传输或下载文件的 URL。

注意:您要将视频直接上传到 Azure 存储?如果是这种情况,我建议不要将视频直接上传到 Azure 存储,而是使用 Azure 媒体服务 SDK 上传视频

解决方案 2: 尝试使用此代码允许 使用 node.js @azure/storage-blob 包从 Azure 存储流式传输视频

 app.get("/video", async (req, res) => {
    
        try {
            // Create the BlobServiceClient object which will be used to create a container client
            const blobServiceClient = BlobServiceClient.fromConnectionString(
                AZURE_STORAGE_CONNECTION_STRING
            );
    
            const containerName = 'videos';
            const blobName = req.query.path;
    
            // Get a reference to a container
            const containerClient = blobServiceClient.getContainerClient(containerName);
    
            // Get a block blob client
            const blockBlobClient = containerClient.getBlockBlobClient(blobName);
    
            console.log('\nDownloaded blob content...');
    
            const downloadBlockBlobResponse = await blockBlobClient.download(0);
    
            downloadBlockBlobResponse.readableStreamBody.pipe(res);
        } catch (err) {
            console.error(err);
            res.sendStatus(500);
        }
    
    });
    

更多详情请参考SO Thread:

【讨论】:

  • 感谢您的回复我已经尝试了上述解决方案,但它不起作用。
  • 你可以试试 azuremediaservices
猜你喜欢
  • 2013-11-08
  • 2015-04-26
  • 1970-01-01
  • 2019-12-04
  • 2019-01-27
  • 1970-01-01
  • 2021-12-05
  • 2020-08-31
  • 2012-04-14
相关资源
最近更新 更多