@Dzhigit
Начинающий прогер

Как объединить аудио потоки pyav ffmpeg python?

Долго пытался разобраться с данной темой сам, я понимаю принцип работы filter_complex для создания сложных графов фильтров и его фильтр amix, позволяющий получить аудио потоки файлов на входе и объединить их воедино. Я бы хотел применить фильтр amix в библиотеке pyav основанной на ffmpeg.
В ней имеется класс Graph (av.filer.graph.Graph) с возможность добавлять входных и выходные буфера. Я точно не знаю, как это работает именно здесь, по этому прошу помощи у тех кто с этим работал.

Мой код:

import av
import av.datasets
from av.filter.graph import Graph

file = 'vidos.mp4'
ffmpeg = av.open(file, mode='r')
streams = ffmpeg.streams

input_audio_streams = next(stream for stream in streams if stream.type == 'audio')

graph = Graph()
audio_buffer = graph.add_abuffer(template=input_audio_streams, channels=2)
audio_buffersink = graph.add('abuffersink')
amix = graph.add('amix', 'inputs=1:duration=longest')

audio_buffer.link_to(amix)
amix.link_to(audio_buffersink)
graph.configure()


Буду очень благодарен если поможете решить данную задачу.
  • Вопрос задан
  • 169 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы