开发者社区 问答 正文

视频点播-上传视频成功以后怎么获取该视频转换之后的视频的公网地址呢

我通过视频点播javascript sdk将视频成功上传到了输入bucket 且触发了配置的工作流 进行了 视频的转换操作,我怎么获取该视频转换后输出bucket里的视频的公网访问地址呢?

展开
收起
小丑cobra 2016-11-03 16:22:51 4203 分享 版权
阿里云 AI 助理回答

在您通过阿里云视频点播JavaScript SDK成功上传视频并触发了配置的工作流进行视频转换之后,要获取转换后输出bucket里视频的公网访问地址,您可以按照以下步骤操作:

  1. 监听工作流完成事件

    • 在上传视频时,确保您已经配置了回调函数或者使用了点播服务的事件通知功能。当视频转码完成后,点播服务会通过预先设置的回调地址(如果配置了的话)发送通知,或者您可以通过查询工作流状态来获知转码完成。
  2. 查询视频信息

    • 当收到转码完成的通知或判断工作流执行完毕后,您需要调用点播服务的API来查询该视频的元信息,以获取其播放地址。具体可以使用GetPlayInfo接口。
  3. 调用GetPlayInfo接口

    • 使用您的AccessKeyId、AccessKeySecret以及视频ID(VideoId),调用GetPlayInfo接口获取视频播放信息。这个接口会返回包括不同清晰度、格式的播放地址列表,您可以从中选择合适的播放地址。

示例代码片段(JavaScript):

// 假设您已获取到videoId(转换后视频的唯一标识)
var videoId = "your_video_id_here";

// 调用GetPlayInfo API
var client = new AcsVodClient({
  regionId: 'YourRegionId',
  accessKeyId: 'YourAccessKeyId',
  accessKeySecret: 'YourAccessKeySecret'
});

var request = new GetPlayInfoRequest({ VideoId: videoId });

client.getPlayInfo(request, function(err, response) {
  if (err) {
    console.log('Error:', err);
    return;
  }
  // 解析响应,获取播放地址
  var playInfoList = response.PlayInfoList;
  if (playInfoList && playInfoList.length > 0) {
    var playUrl = playInfoList[0].PlayURL; // 获取第一个播放地址作为示例
    console.log('Play URL:', playUrl);
  } else {
    console.log('No play information found for the video.');
  }
});

请注意,上述代码仅为示例,您需要根据实际使用的SDK版本和编程语言环境调整。确保替换YourRegionIdYourAccessKeyIdYourAccessKeySecret以及your_video_id_here为实际的值。

注意事项

  • 安全性:在实际应用中,请不要硬编码AccessKeyId和AccessKeySecret,考虑使用更安全的方式管理密钥,比如环境变量或密钥管理系统。
  • 权限控制:确保用于调用API的RAM用户具有足够的权限访问GetPlayInfo接口。

通过以上步骤,您就可以获取到转换后视频的公网访问地址了。


参考角标: 视频点播服务API文档 - 获取播放地址(GetPlayInfo)

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答