Ошибка в live mp3 ffmpeg encoder с использованием python

У меня есть код, как показано ниже. Я хочу записывать звук и конвертировать каждый 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) 

Теперь мой код, создающий ошибку

pipe :: Недействительные данные, найденные при обработке ввода

Моя ffmpeg и аудиозапись работают нормально. Как я могу решить эту проблему?

 
Interesting Posts for Van-Lav

Regex соответствует количеству букв

Веб-соскабливание страницы JavaScript с Python

лучший способ добавить последовательный столбец счетчика, используя pandas.groupby

Как я могу использовать py2exe для изменения кода python3.2 на exe

Удаление меток в scikit-image

Создать новый столбец в pandas на основе значения другого столбца

(Python) для случайного выбора ключа на основе пропорциональности / веса

Какой алгоритм использует buildbot для назначения строителей ведомым?

Как проверить, если заданная метка времени находится в секундах или миллисекундах?

Расчет времени рассвета и захода солнца с использованием PyEphem

как использовать scipy.integrate, чтобы получить объем усеченной сферы?

Разница в производительности между numpy и matlab

Прочтите заархивированный файл в виде панды DataFrame

Python request.exceptions.SSLError: EOF произошел с нарушением протокола

Легкий способ переключения между рендерингами в рамках одного и того же метода просмотра

Python - лучший язык программирования в мире.