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

正确的方式发送mp3文件在Python没有丢失任何元数据。(Base64或其他)AWSλS3转录Base64

魏鸿禧
2023-03-14

我试图用AWS Transcripbe做一个简单的管道,AWS Transcripbe是由亚马逊提供的语音转文本服务。它以mp3或wav(以及其他格式)作为输入。在试图构建一种可以从前端获取MP3的API时,我经常会遇到格式不受支持错误,比如不受支持的音频格式:matroska,WebM

产生的mp3文件将在Windows Media Player上工作,音频正确,但时间索引中断(10秒的剪辑显示400小时),在VLC上根本无法工作。我想我可能遗漏了一些关于base 64编码的基本信息。

with open(mp3_file_name, "rb") as h:
    m = base64.b64encode(h.read()).decode('utf-8')

request_body = {
   "mp3_base64": m
}

headers = {
    'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data = json.dumps(request_body))

服务器

mp3_base64 = params.get('mp3_base64')
with open(tmp, "wb") as f:
  f.write(base64.b64decode(mp3_base64))

s3_client = boto3.client('s3')
try:
  response = s3_client.upload_file(tmp, bucket, object_name)

共有1个答案

莫乐
2023-03-14

它最终是来自另一个正在生成音频文件的库的编码错误,这个问题与转录完全无关

 类似资料:
  • 一切都很完美,但在发送文件时,我认为,它不存在。。。在空白处出现了字符串变量song,其中包含文件名。例如:呼叫是:共享(“abc”);我想发送mp3文件(在原始文件夹中)abc。mp3

  • 我正在开发一个应用程序,该应用程序具有获取OTP的功能,并且我使用了firebase OTP功能(使用手机号码在Android上与firebase进行身份验证),但不幸的是,有时我会面临这样的问题,比如我没有从firebase获得OTP,同时它也没有给出任何错误。我不知道我犯了什么错。需要帮助来解决这个问题,我也尝试了一些样本,它工作正常,但当我试图在我的项目中集成firebase是不是发送otp

  • 我需要发送数千个帖子请求。我在网上搜索信息,经过多次尝试,我编写了以下解决方案: pushes是一个字典列表。 我将应用程序移植到另一个框架中。问题消失了。 发送请求的源服务器上的代码没有被修改。

  • 为了使消费者保持活动(非常长的可变长度处理),我在后台线程中实现了一个空的poll()调用,如果我在poll()之间花费了太多时间,它将防止代理重新平衡。我已经将我的轮询间隔设置得很长,但我不想为了越来越长的处理而一直增加它。 什么是正确的投票没有记录?当前我正在调用poll(),然后重新查找poll call()中返回的每个分区的最早偏移量,这样主线程在处理完前面的消息后就可以正确地读取这些偏移

  • 我使用with Spring(Maven)参考本指南构建了一个RESTful Web服务,它工作得很好: https://spring.io/guides/gs/rest-service/ 现在我想用Docker在容器中启动这个,我正在解决这个问题。请参见下面我的DockerFile: 我检查了文件,它是空的。我不知道这里是否需要设置什么。 我怎样才能纠正这个?

  • 我是一个初学者程序员,我试图做一个简单的计算器,但由于某种原因,按钮似乎不能正常工作,它们要么消失,填满整个面板,要么设置在错误的位置。奇怪的是,当我悬停并在按钮上点击鼠标时,按钮就会出现。我可能会错过一些非常明显的东西,但请帮助(此外,代码不是很干净)。谢谢你! 主要的 计算器按钮 窗