Извлечение аудио из файла MPEG (.ts) в память в python, без записи MPEG в файл - PullRequest
0 голосов
/ 26 февраля 2020

Я работаю над проектом, который должен извлекать звук из потока, который передается в файле .ts (MPEG-2 Transport Stream).

В настоящее время мне нужно сначала сохранить файл в файловую систему, а затем открыть его, используя moivepy для преобразования в формат звука WAV.

Для потоковой передачи требуется передача в реальном времени, и Несколько файлов .ts нужно обрабатывать каждую секунду, Moivepy слишком медленно, чтобы открыть их все и конвертировать каждый в режиме реального времени.

Поэтому мне интересно, могу ли я завершить sh весь процесс извлечения аудио из MPEG в памяти avioding IO файловой системы может ускорить процесс. Как я могу это сделать?

1 Ответ

0 голосов
/ 26 февраля 2020

Вы можете попробовать пакет python -ffmpeg , где вы можете посмотреть на флаг -target в функции вывода и указать .wav выходной файл. https://ffmpeg.org/ffmpeg.html#Synopsis. Большинство флагов на странице синопсиса предлагаются в пакете. Я еще не сталкивался с тем, который не предлагается.

python -ffmpeg python документация по привязкам

Пример кода:

import ffmpeg

audio_input = ffmpeg.input(url)
audio_output = ffmpeg.output(audio_input, save_location, target='filename.wav')
audio_output.run()
...