Как я могу заставить PyAV записывать данные mp4 в буфер (BytesIO) для RTS?Python

Программы на Python
Anonymous
 Как я могу заставить PyAV записывать данные mp4 в буфер (BytesIO) для RTS?

Сообщение Anonymous »

Я работаю над задачей RTS в рамках проекта.
Вот последовательность действий:
  • Получайте аудиофрагменты в реальном времени.
  • Отправьте эти фрагменты в видеогенератор, который создает видеокадры, такие как видео говорящей головы, на основе статического изображения.
  • Затем транслируйте как аудио, так и видео. кадры в режиме реального времени.
Я использую WebSocket + PyAV для объединения аудио и видеопотоков в буфер (вместо записи на диск).
Создал контейнер следующим образом:

Код: Выделить всё

self.mux_buffer = io.BytesIO()
self.mux_container = av.open(
self.mux_buffer,
mode="w",
format="mp4",
options={
"movflags": "frag_keyframe+empty_moov+default_base_moof"
}
)
С помощью журналов я могу подтвердить, что в буфер ничего не записывается.
Есть ли решение этой проблемы?
Или есть лучший подход для потоковой передачи аудиофрагментов + видеокадров (с синхронизацией) в реальном времени?

Подробнее здесь: https://stackoverflow.com/questions/798 ... io-for-rts

Вернуться в «Python»