我有如下代码。我想录制声音并将每个 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 和录音工作正常。
我该如何解决这个问题?