Для проекта нам нужно вручную управлять наложением (stati c image) поверх видеопотока. Мы пришли к выводу, что нам понадобится ZeroMQ для управления этим, и нам удалось успешно управлять звуковым фильтром через ZeroMQ.
Для этого мы рассмотрели два варианта:
- Используйте цветовой фильтр для управления прозрачностью переднего плана (изображения)
- «Переместите» оверлейное изображение перед видеопотоком и удалите его с видео холста
We ' Нам удалось заставить оба работать, но, к сожалению, не в сочетании с ZeroMQ.
Пример:
ffmpeg -loglevel verbose \
-i $STREAM \
-i overlay.png \
-bsf:a aac_adtstoasc \
-threads 12 \
-vf "zmq=bind_address=tcp\\\://127.0.0.1\\\:1235, [0:v][1:v]overlay=25:25" \
-c:a aac \
-af "azmq=bind_address=tcp\\\://127.0.0.1\\\:1235,volume=1" \
-c:v h264 output
В приведенном выше примере возникает следующая ошибка:
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Мы очень ценим совет о том, как этого можно достичь!