Объединить x11grab с v4l2 в один выходной файл

Я пытаюсь записать видео с помощью ffmpeg с двух входов: вебкамера (v4l2) и рабочий стол (x11grab). Я проверил, что оба входа работают нормально:

ffmpeg \
    -f x11grab -s 1920x1080 -r 25 -i :0.0 \
    -vcodec libx264 x11.mkv
ffmpeg \
    -f v4l2 -s 960x540 -r 25 -i /dev/video0 \
    -vcodec libx264 v4l.mkv

но когда я пытаюсь использовать оба, только x11grab идет к выводу:

ffmpeg \
    -f x11grab -s 1920x1080 -r 25 -i :0.0 \
    -f v4l2 -s 960x540 -r 25 -i /dev/video0 \
    -vcodec libx264 test.mkv

Можно ли объединить эти входы в один выходной файл и указать положение для видео с веб-камеры (переместить его вправо вниз)?

1 ответ

Решение

Вам нужно использовать оверлейный фильтр внутри графа фильтра.

ffmpeg \
    -f x11grab -video_size 1920x1080 -framerate 25 -i :0.0 \
    -f v4l2 -video_size 960x540 -framerate 25 -i /dev/video0 \
    -filter_complex "[0][1]overlay=x=W-w:y=H-h" \
    -vcodec libx264 test.mkv
Другие вопросы по тегам