Задача – написать скрипт на питоне по потоковой обработке видео.

Бюджет: 1 000 руб
13.03 $ – 11.08 €
На вход подается аудио и видео дорожка в виде стрима (запись в вэб камеры и микрофона пользователя) – запись может осуществятся  например так 
ffmpeg -f dshow 
-i video="Integrated Webcam":audio="Microphone (Realtek Audio)" 
-profile:v high -pix_fmt yuvj420p -level:v 4.1 -preset ultrafast -tune zerolatency 
-vcodec libx264 -r 30 -s 1920x1080 
-acodec aac -ac 1 -ar 16000 
-f mpegts -flush_packets 0 udp://192.168.1.1:5000?pkt_size=1316

Далее мы от стрима должны отделить аудио дорожку и ждать срабатывания события – например так
process = subprocess.Popen(['ffmpeg', '-loglevel', 'quiet', '-i',
                            data_audio,'-ar', str(sample_rate) , '-ac', '1', '-f', 's16le', '-'],
                            stdout=subprocess.PIPE)
while True:
                data = process.stdout.read(16000)
                if len(data) == 0:
                    break
                if rec.AcceptWaveform(data):

тут происходит события (срабатывания события подразумевает возврат метрик времени из аудиодорожки, по которым в дальнейшем осуществляется фильтрация). 

Нужна помощь в том, как организовать буфер для обработки видео. То есть мы берем видеоряд неопределенной длины, делаем преобразование аудиодорожки и лепим нашу дорожку в видео). Понятно все кроме буфера в котором это можно сделать. 

Можно не делать работу а просто объяснить как организовать буфер для данной работы более менее правильно. 

Опубликован 23.08.2020 в 12:25

Выберите способ верификации:

Обновите страницу после прохождения верификации.