使用SDK模仿BitMovin Stream仪表板上传功能

问题描述 投票:0回答:1

使用 BitMovin Streams 服务,我想要:

  • 上传视频文件
  • 获取流Id
  • 使用 HTML5 播放器

无转换或混合。 Bitmovin 仪表板提供了开箱即用的此功能:选择一个文件 -> 文件被上传 -> 无需进行任何设置 -> 流已准备就绪。

步骤很简单: Select a file Get the Stream directly

我正在寻找一种使用 SDK(C#,但任何文档都可以)来做到这一点(仅此而已)的方法。

上传作品感谢他们的例子。我目前尝试了文档中的一些示例,但看起来非常复杂,而仪表板流程显示了一个非常简单的过程。

下面的(简化的)代码上传成功,创建编码和流,但最终:我没有清单,没有stream-id

    var fileInput = await _bitmovinApi.Encoding.Inputs.DirectFileUpload.CreateAsync(new());
    var fileContent = new StreamContent(fileStream);
    var fileUploadContent = new MultipartFormDataContent { { fileContent, "file", filename } };
    var fileUploadResponse = await _httpClient.PutAsync(fileInput.UploadUrl, fileUploadContent, args.CancellationToken);
    if (!fileUploadResponse.IsSuccessStatusCode)
        throw await fileUploadResponse.Content.ReadAsStringAsync();

    var codecConfig = await _bitmovinApi.Encoding.Configurations.Video.H264.CreateAsync(new()
    {
        DynamicRangeFormat = H264DynamicRangeFormat.SDR
    });

    var encoding = await _bitmovinApi.Encoding.Encodings.CreateAsync(new() 
    { 
        Name = filename 
    });

    var stream = await _bitmovinApi.Encoding.Encodings.Streams.CreateAsync(encoding.Id, new()
    {
        InputStreams = [new()
        {
            InputId = fileInput.Id,
            InputPath = fileInput.UploadUrl,
        }], 
        CodecConfigId = codecConfig.Id
    });

是否有更简单的方法以编程方式创建流? 我是否选择了错误的服务/提供商来完成如此简单的场景?

c# video-streaming bitmovin-player
1个回答
0
投票

我相信您在这里使用了错误的 API。 您提到的工作流程是 Streams 产品,我们的一体化 API 可实现这一无缝工作流程,并且它是与您在帖子中引用的主要编码 API 不同的 API。

我们的文档中描述了您要查找的内容:https://developer.bitmovin.com/streams/docs/use-cdn-file-upload-with-streams

如您所见,创建流并检索

streamId
的主要端点是对
POST
(
doc
)https://api.bitmovin.com/v1/streams/video

调用

创建流调用需要一个文件已上传到互联网,这就是您已经正确使用的直接文件上传 API 的来源。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.