当前位置: 首页 > 知识库问答 >
问题:

如何解码AWS Kinesis视频流GetMedia API输出到MP3/WAV?

骆磊
2023-03-14

我通过AWS Connect服务将数据摄取到(Kinesis Video Stream)KVS,现在使用GetMedia API,我能够提取有效负载,但我如何将此输出转换为MP3/WAV?我想将此输出摄取到AWS转录服务,以获得AWS连接服务摄取到KVS的音频呼叫的文本格式。

import json
import boto3

kinesis_client = boto3.client('kinesisvideo', region_name='us-east-1')

response = kinesis_client.get_data_endpoint(
    StreamARN='arn:aws:kinesisvideo:us-east-1:47...,
    APIName='GET_MEDIA')

t = response['DataEndpoint']
video_client = boto3.client('kinesis-video-media', endpoint_url=t, region_name='us-east-1')
stream = video_client.get_media(
    StreamARN='arn:aws:kinesisvideo:us-east-1:47...',
    StartSelector={'StartSelectorType': 'EARLIEST'})

streamingBody = stream['Payload']
print(streamingBody.read())

请建议如何转换有效负载输出到MP3/WAV等。

共有1个答案

孔星宇
2023-03-14

我也面临着同样的问题,我可以将有效负载作为原始文件导出到S3,但当我收听它时,它就像加密的对话一样无法正常听到。

我只是把有效载荷保存到一个文件中。

f = open("myAudio.wav", 'w+b')
f.write(stream['Payload'].read())
f.close() 
 类似资料:
  • 问题内容: 我想使用servlet将音频/视频文件流式传输到Web。 我尝试使用以下servlet: 以及以下HTML: 但是,播放器只是在加载…正在加载…正在加载… 这是怎么引起的,我该如何解决? 问题答案: 许多媒体播放器要求服务器支持所谓的HTTP范围请求。也就是说,它必须能够根据要求返回带有标头的媒体文件的特定部分。例如,在10MB长的文件中,只有位于精确索引1000的字节,直到2000为

  • 我找到了. avi文件 gst-launch-1.0-v filesrc location=测试。阿维!avidemux!decodebin!视频转换!“视频/x-raw,格式=YUY2”!v4l2sink设备=/dev/video0 这个屏幕输出到/dev/video0: gst-Launit-1.0-v ximagesrc start x=1 starty=1 endx=320 endy=24

  • 我正在尝试将MP3音频文件混合到MP4视频中。经过数小时的搜索,我得出结论,我需要将MP3文件转换为AAC格式,该格式适合MP4容器。 在android中为视频添加音频 但是我找不到任何关于如何将MP3文件转换为AAC格式的留档。那么你对如何将MP3音频转换为AAC音频有什么建议吗? 此外,我还需要在最终视频中的特定时间插入几段音频。

  • 我试图转码一个单一的视频文件与1个视频流和几个音频流到文件具有相同的视频流在不同的比特率/大小与正确的填充在同一时间。 我使用的命令是: 实际上,对同一个文件进行几个比特率的代码转换是可能的吗?

  • 我试图用Twilio可编程视频构建一个解决方案,参与者之间的视频通话可以流式传输到(潜在的)数千个。据我所知,根据房间类型的不同,Twilio最多只能容纳50名参与者。有没有一种方法我可以以某种方式将所有参与者的视频/音频轨道“喂”到流媒体服务,如Wowza,TokBox等,并实现这一点?