使用 python 进行实时 mp3 ffmpeg 编码器时出错

2024-03-25

我有如下代码。我想录制声音并将每个 wav 帧转换为 mp3 格式 使用 ffmpeg 实时

import pyaudio,sys
import subprocess
command = ['ffmpeg', '-y','-f','wav' , '-i', '-', '-f', 'mp3', '-']
process = subprocess.Popen(command, stdin=subprocess.PIPE)

p = pyaudio.PyAudio()
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 1024*10
RECORD_SECONDS = 2
stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                frames_per_buffer=CHUNK)


mp3 = open("mp3.mp3",'wb')
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    recording_mp3, errordata = process.communicate(data)
    mp3.write(recording_mp3)

现在我的代码产生错误

pipeline:: 处理输入时发现无效数据

我的 ffmpeg 和录音工作正常。 我该如何解决这个问题?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 python 进行实时 mp3 ffmpeg 编码器时出错 的相关文章

随机推荐

  • 如何将 jQuery 变量传递给 PHP 变量?

    如何在不刷新页面的情况下将变量从 jQuery 传递到 PHP 当我单击一个复选框时 我想将一个变量从 jQuery 传递到 PHP 我也在使用formdialog 我的 PHP 代码 gt gt 我的 JavaScript 代码 func
  • '/usr/include/c++/4.4/bits/' 中的位的含义是什么

    usr include c 4 4 bits 中的位的含义是什么 Linux 当然是 gcc 根据 libstdc 文档 该文件夹的官方名称是 标准标头包含的文件 以及位中的其他文件 目录 其中 位 可能只是意味着一些微不足道的东西 例如
  • Angular 2 在 iframe 内触发插值

    我想在 iframe 中显示模板化网页的内容 但加载内容后 模板不会按角度进行插值 是因为变化检测系统吗 可以通过其他方式实现吗 Component selector my app template export class App tem
  • ViewState 仅在 Safari 中无效

    我维护的网站之一很大程度上依赖于使用ViewState 这不是我的代码 但是 在某些页面上ViewState过于臃肿 Safari 会抛出一个 Validation of viewstate MAC failed error 这似乎只发生在
  • 使用Python的CGI表单提交按钮

    我正在尝试创建一个cgi 表单 允许用户输入一个单词 然后它将获取该单词并将其发送到下一页 另一个cgi 我知道如何使用 html 文件来做到这一点 但是当涉及到使用 python cgi 时 我迷失了 这是我需要做的 但它是 html 格
  • 为什么我的通知图标在 Oreo 中无法正确显示?

    很长一段时间以来 我们的应用程序中都有通知 效果很好 我有一个小的 彩色的 png 图标 用于它们 过去运行良好 在奥利奥中 该图标无法正常显示 它只是一个灰色的方块 查看设备上的抽屉 似乎系统 gmail 等现在都有单色图标 因此我怀疑与
  • 如何为 MAC OS X 安装 libgluezilla

    我正在尝试在具有嵌入式 Web 浏览器控件的 Mac 上运行 Mono 应用程序 程序运行 但现在显示浏览器并输出一条消息 未找到 libgluezilla 要获得网络浏览器支持 您需要安装 libgluezilla 我已经搜索过 但不知道
  • 寻找多条短路径的算法

    寻求一种能够产生 N 条短路径的算法 有没有人有算法的经验来寻找多条短路径在有向图中 我的应用程序用于语言 查找同义词链 但从逻辑上讲 这可能用于地理或社交网络 我想要明显不同的路径 而不仅仅是沿途交换几个节点 我真的很想知道是否有办法避免
  • Java中的线程何时从内存中删除? [复制]

    这个问题在这里已经有答案了 来自 Java API 文档 Java虚拟机继续执行线程 直到遵循 发生 所有非守护线程的线程都已死亡 或者通过返回 从调用 run 方法或抛出异常 传播到 run 方法之外 我希望我的假设是正确的 一旦线程完成
  • Cloud Firestore 中的 SQL LIKE 运算符?

    我使用 Firebase 实时数据库已经有一段时间了 今天我遇到了 Cloud Firestore 我不知道如何在 Firestore 上使用 LIKE 运算符 Firebase 实时数据库 ref child user orderByCh
  • 将字符串转换为 Enum 类

    免责声明 我不会说我是最有经验的 Java 人 可能有更简单的方法来完成我在示例中所做的事情 但这是一个关于将字符串条目转换为枚举类而不是枚举变量的问题 我尽力解释 这是我想做的事情的简单版本 我将有两个不同的枚举 我想根据用户的需求选择其
  • 继承自 std::vector

    这里有很多答案说不要从 std vector 等继承 例如这个问题 https stackoverflow com questions 10353954 potential problems with inheriting from std
  • Asp.net 4.0:如何获取自定义错误页面中的异常详细信息?

    我们正在使用 asp net 配置设置提供的自定义错误 在整个应用程序 PL BLL DAL 中 我们没有使用任何 try catch 因此 对于任何层应用程序中的任何异常 都将用户重定向到配置文件中自定义错误设置中设置的自定义错误页面 现
  • Kafka Streams - SerializationException:未知的魔术字节

    我正在尝试创建一个处理 Avro 记录的 Kafka Streams 应用程序 但出现以下错误 Exception in thread streams application c8031218 8de9 4d55 a5d0 81c30051
  • WebSockets ping/pong,为什么不 TCP keepalive?

    WebSockets有选择权 https www rfc editor org rfc rfc6455 section 5 5 2发送 ping 到另一端 另一端应该用 pong 响应 收到 Ping 帧后 端点必须发送 Pong 帧 响应
  • Selenium 在 Firefox 中使用过多 RAM

    我在 Firefox 中使用 selenium 来自动执行 Instagram 上的一些任务 它基本上在用户配置文件和通知页面之间来回切换 并根据找到的内容执行任务 它有一个无限循环来确保任务继续进行 我每隔几步就有 sleep 函数 但内
  • 即使用户也可以访问需要限制的APEX页面

    我创建了一个 4 页的应用程序 Home 管理页面 计算体重指数 About 然后我进入 gt shared components gt Select Authorization schema gt Create 我已将其命名为only a
  • Visual Studio 2012 的数据库资源管理器中缺少图表文件夹

    我正在设计一个网站 突然数据库图表文件夹从数据库资源管理器中消失了 我不知道发生了什么以及现在该怎么做 因为我迫切需要它来继续我的工作 手动将表添加到数据库对我来说不是一个选择 我找了一整天的解决方案 甚至重新安装了Visual Studi
  • React-ReduxReducers 中 Spread 语法的用途

    我试图理解扩展运算符的目的 根据我从文档中了解到的 扩展语法会复制现有对象 并在传入新对象时被覆盖 在下面的代码中 export default function reducer state user fetching false fetc
  • 使用 python 进行实时 mp3 ffmpeg 编码器时出错

    我有如下代码 我想录制声音并将每个 wav 帧转换为 mp3 格式 使用 ffmpeg 实时 import pyaudio sys import subprocess command ffmpeg y f wav i f mp3 proce