如何使用 python sdk 通过下载传送内容(视频)?
How to delivery content (video) by download with python sdk?
我是一名 python 开发人员,对 Microsoft Azure 服务缺乏经验。
对于客户端,我必须允许使用 azure 媒体服务(视频流)下载视频。我确实在文档 (https://docs.microsoft.com/en-us/azure/media-services/previous/media-services-deliver-asset-download) 中找到了有关该主题的信息,但我想使用 python 到达那里(所以其余的 azure api 或 python sdk ).
我开始相信这是不可能的。
我需要你的帮助。
如果文件是使用 Azure 媒体服务 SDK 上传的,则上传的视频将存储为 Assest 文件。这将使将视频流式传输到不同设备变得更加容易。
要流式传输或下载资产,您首先需要通过创建定位器来“发布”它。定位器提供对资产中包含的文件的访问。
媒体服务支持两种类型的定位器:
- OnDemandOrigin 定位器,用于流式传输媒体(例如,MPEG DASH、HLS 或 Smooth Streaming)
- 访问签名 (SAS) 定位器,用于下载媒体文件。
创建定位器后,您可以构建用于流式传输或下载文件的 URL。
这是使用 Rest API 执行此操作的指南:https://docs.microsoft.com/en-us/azure/media-services/previous/media-services-rest-get-started
注意:您是将视频直接上传到 Azure 存储吗?如果是这种情况,我建议不要将视频直接上传到 Azure 存储,而是使用 Azure 媒体服务 SDK
上传视频
Azure 媒体服务有很好的文档,可以帮助您解决其他问题:http://azure.microsoft.com/en-us/develop/media-services/resources/
使用 Python SDK,您需要做的一切都应该是完全可能的。
不推荐直接使用REST API!它没有 Azure 资源管理 API 需要的任何内置重试策略。您可能会在生产中遇到问题 - 除非您知道自己在做什么并推出自己的重试逻辑。
仅对媒体服务使用官方 Python SDK 客户端。
此外,REST API 上面的 link 指向旧版 v2 API - 现在不要使用它。此处仅使用最新的 v3 SDK 客户端 -
pip 安装 azure-mgmt-media
我们这里有数量有限的 Python 示例,展示了如何使用客户端 SDK Python - https://github.com/Azure-Samples/media-services-v3-python
我们团队中的 None 人是 Python 专家,我们似乎没有对该回购做出很多贡献 - 因此它远不及我们的 . NET 示例 - https://github.com/Azure-Samples/media-services-v3-dotnet
但请记住,所有 Azure SDK 都是根据 REST API Swagger(打开 API)自动生成的 - 因此它们都使用完全相同的实体,并使用相同的 JSON 在线结构 - 所以如果你知道 REST API 在做什么以及 Entites 是什么 - 你可以轻松地在语言之间移植东西。不过先了解 Python 会有所帮助!
您提到要下载内容 - 这将需要使用 python 的存储 SDK。媒体服务仅使用 Azure 存储帐户。这意味着您可以使用 SAS URl 访问容器来上传和下载内容。查看 Python 的存储示例,了解在那里可以做什么。 https://pypi.org/project/azure-storage-blob/
我是一名 python 开发人员,对 Microsoft Azure 服务缺乏经验。
对于客户端,我必须允许使用 azure 媒体服务(视频流)下载视频。我确实在文档 (https://docs.microsoft.com/en-us/azure/media-services/previous/media-services-deliver-asset-download) 中找到了有关该主题的信息,但我想使用 python 到达那里(所以其余的 azure api 或 python sdk ).
我开始相信这是不可能的。
我需要你的帮助。
如果文件是使用 Azure 媒体服务 SDK 上传的,则上传的视频将存储为 Assest 文件。这将使将视频流式传输到不同设备变得更加容易。
要流式传输或下载资产,您首先需要通过创建定位器来“发布”它。定位器提供对资产中包含的文件的访问。
媒体服务支持两种类型的定位器:
- OnDemandOrigin 定位器,用于流式传输媒体(例如,MPEG DASH、HLS 或 Smooth Streaming)
- 访问签名 (SAS) 定位器,用于下载媒体文件。
创建定位器后,您可以构建用于流式传输或下载文件的 URL。
这是使用 Rest API 执行此操作的指南:https://docs.microsoft.com/en-us/azure/media-services/previous/media-services-rest-get-started
注意:您是将视频直接上传到 Azure 存储吗?如果是这种情况,我建议不要将视频直接上传到 Azure 存储,而是使用 Azure 媒体服务 SDK
上传视频Azure 媒体服务有很好的文档,可以帮助您解决其他问题:http://azure.microsoft.com/en-us/develop/media-services/resources/
使用 Python SDK,您需要做的一切都应该是完全可能的。
不推荐直接使用REST API!它没有 Azure 资源管理 API 需要的任何内置重试策略。您可能会在生产中遇到问题 - 除非您知道自己在做什么并推出自己的重试逻辑。
仅对媒体服务使用官方 Python SDK 客户端。
此外,REST API 上面的 link 指向旧版 v2 API - 现在不要使用它。此处仅使用最新的 v3 SDK 客户端 -
pip 安装 azure-mgmt-media
我们这里有数量有限的 Python 示例,展示了如何使用客户端 SDK Python - https://github.com/Azure-Samples/media-services-v3-python
我们团队中的None 人是 Python 专家,我们似乎没有对该回购做出很多贡献 - 因此它远不及我们的 . NET 示例 - https://github.com/Azure-Samples/media-services-v3-dotnet
但请记住,所有 Azure SDK 都是根据 REST API Swagger(打开 API)自动生成的 - 因此它们都使用完全相同的实体,并使用相同的 JSON 在线结构 - 所以如果你知道 REST API 在做什么以及 Entites 是什么 - 你可以轻松地在语言之间移植东西。不过先了解 Python 会有所帮助!
您提到要下载内容 - 这将需要使用 python 的存储 SDK。媒体服务仅使用 Azure 存储帐户。这意味着您可以使用 SAS URl 访问容器来上传和下载内容。查看 Python 的存储示例,了解在那里可以做什么。 https://pypi.org/project/azure-storage-blob/