我写了录音机应用程序。现在我想实时将音频数据直接写入Amazon S3文件。我发现AWS SDK for Android具有适当的功能:public Upload upload(String bucketName, String key, InputStream input, ObjectMetadata objectMetadata)
。但有人说“当从流上传数据时,呼叫者必须提供流中数据的大小”。那么,当我在录制时不知道流的大小时,它会工作吗?
如果没有,还有其他解决方案吗?
答案 0 :(得分:0)
由于Amazon S3存储数据的方式(它与普通文件系统不同),我认为不可能有连续流。
但你可以将录音作为块传递。您的录音机将开始录制到文件,然后在第一个文件达到一定大小后切换到另一个文件。然后你会在第二个文件录制时上传第一个文件。一旦第二个文件达到一定大小,那么你将切换到第三个文件并上传第二个文件,依此类推等等。
答案 1 :(得分:0)
这是您将音频流传输到AWS的方式(不能直接将其传输到S3)。
源:可以是将源视频/音频推送到MediaLive的任何编码器或摄像机。 MediaLive:将内容编码为HLS输出格式 MediaPackage:接受HLS内容,并可以打包为HLS / DASH / Smooth / CMAF格式 S3:最后,该流可以作为.m3u8和.ts文件存储在S3上。
-拉维·贾亚戈帕尔(Ravi Jayagopal)