Я использую следующую команду для одновременного захвата экрана и видеокамеры ноутбука. Видео с камеры появляется в маленьком окошке в правом нижнем углу экрана. Это работает, однако есть загвоздка; Я не вижу свое видео на экране во время записи, и я хочу иметь возможность видеть себя в нижнем правом окне, чтобы быть уверенным, что я выровнен с камерой. Как я могу это сделать?
ffmpeg -f alsa -i default \
-f x11grab -s `xdpyinfo | grep 'dimensions:'|awk '{print $2}'` -r 25 \
-i :0.0 -f video4linux2 \
-i /dev/video0 -filter_complex '[2:v]scale=380:-1[cam];[1:v][cam]overlay=W-w-8:H-h-8' \
-c:a flac \
-qscale 0 screen_and_video_grab.mkv
Это решение работает в Linux. Чтобы скринкаст со вставленным видео себя на экране, где у вас есть видеокамера, расположенная в /dev/video0, вставьте следующее в текстовый файл и назовите его start_recording.sh
или что-то подобное и сделайте его исполняемым
#!/bin/bash
##### set variables below ####
location_dir=$HOME/Desktop
T="$(date +%d-%m-%Y-%H-%M-%S)".mkv
#echo $T
video_window_title="$T"
#echo $video_window_title
#### Place video camera on own screen & detach the process ####
ffplay -window_title "$video_window_title" /dev/video0 &
#### Record everything on the screen ####
ffmpeg -y -f x11grab -s \
`xdpyinfo | grep 'dimensions:'|awk '{print $2}'` \
-i :0.0 -f alsa \
-i default $HOME/$T
Чтобы остановить запись, вставьте следующее в текстовый файл, назовите его stop_recording.sh
или что-то подобное и сделайте его исполняемым.
#!/bin/bash
# kills the ffmpeg and ffplay processes
pkill ffmpeg && pkill ffplay
Приведенный ниже двухстрочный скрипт сделает ваше встроенное видео всегда в верхнем окне или нет. Просто поместите приведенные ниже две строки в текстовый файл, назовите его как-то так toggle_video_inset_to_always_above_layer_or_normal_layer.sh
или как-то так, как вы можете запомнить, и сделайте его исполняемым.
#!/bin/bash
wmctrl -r $(wmctrl -lx | grep ffplay | grep -oE "[0-9a-z\._-]{20,25}$") -b toggle,above
Логан
ffplay -noborder /dev/video0
, , затем запишите рабочий стол.Кес