【问题标题】:how to get audio/video files stored in aws s3 with springboot?如何使用 Spring Boot 获取存储在 aws s3 中的音频/视频文件?
【发布时间】:2020-02-07 13:17:35
【问题描述】:

我创建了一个文件夹库,其中包括 s3 存储上的音频/视频文件。 我想从 aws s3 存储流式传输音乐/视频文件。 我知道如何仅获取存储桶列表以及这些存储桶中存在的对象列表。 有什么方法可以通过 springboot 流式传输/下载这些文件? 我正在使用 aws sdk v2。

我尝试获取一个对象,但这并没有按照我想要的方式发生。 请告诉我我做错了什么?我是开发世界的新手 我认为它至少会显示一些 json 响应:

public GetObjectResponse getObject(String bucket) {

    // even tried by hardcoding the key value
    String key="WhatsApp Audio 2019-08-31 at 2.32.03 AM.mpeg";
    GetObjectResponse response=client.getObject(GetObjectRequest.builder().bucket(bucket).key(key).build(),
                ResponseTransformer.toFile(Paths.get("multiPartKey")));
    return response;    
}

【问题讨论】:

  • 正在为此用例进行演示。

标签: java spring spring-boot amazon-s3 audio


【解决方案1】:

这完全取决于您要达到的目标的背景。如果它是一个应该服务于流媒体请求并具有可扩展性和可用性的服务——那么它是一个相当严重的架构设计问题,而不仅仅是一个 Spring Boot 方法。即使它只是一个沙盒实验项目,您仍然需要更具体地您正在构建的应用程序的类型(带有rest API的Web应用程序,一个unix服务进程,只是一个可执行程序或其他)以及客户是谁(您在哪里直播)。

此外,视频流和音频流 - 这是两个不同的世界(不同的编解码器、http 标头和其他细微差别)。

Here 是关于如何使用 Spring Boot 构建视频流 Web 服务的一个很好的观察。此外,this 讨论建议使用Spring Content。我在黑暗中拍摄。根据您的确切需求进行自己的研究。

【讨论】:

    【解决方案2】:

    这是一个 AWS 教程,向您展示如何构建一个 Spring Boot Web 应用程序,该应用程序通过 HTTP 读取和流式传输 Amazon Simple Storage Service (Amazon S3) 视频内容。在这个用例中,出现在视图中的菜单是通过读取对象标签来构建的。

    https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javav2/usecases/create_spring_stream_app

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-10
      • 1970-01-01
      • 2021-02-12
      • 1970-01-01
      • 2012-12-12
      • 1970-01-01
      • 2014-02-19
      • 1970-01-01
      相关资源
      最近更新 更多