Ответ 1
Как НЕ выйти при записи
Ctrl + C (в данном случае VLC) с сигналом SIGINT
.
vlc://quit
опция vlc://quit
не будет работать, когда вы снимаете экран, потому что поток - бесконечный источник.
Правильный путь - RC (R emote C ontrol)
Вы можете подключиться к VLC с помощью TCP socket
или UNIX socket
.
-
Сокет TCP
Чтобы иметь возможность удаленного подключения к VLC с использованием сокета TCP (telnet-like connetion), используйте -rc-host your_host: порт. Затем, подключив (используя telnet или netcat) к хосту на данном порту, вы получите командную оболочку.
-
Разъем UNIX
Чтобы использовать сокет UNIX (локальный сокет, это не работает для Windows), используйте --rc -U nix/path/to/socket. Затем команды могут быть переданы с использованием этого UNIX-сокета.
Чтобы включить интерфейс дистанционного управления для VLC, вам нужно будет добавить параметры
--extraintf rc --rc-quiet
Как уйти
-
Сокет TCP
echo quit | Порт nc your_host
-
Разъем UNIX
echo quit | nc -U/путь/в/сокет
пример
-
Выполнить VLC
vlc \ screen:// --one-instance \ -I dummy --dummy-quiet \ --extraintf rc \ --rc-host localhost:8082 \ --rc-quiet \ --screen-follow-mouse \ --screen-mouse-image="mouse_pointer.png" \ --screen-left=0 --screen-top=0 --screen-width=800 --screen-height=600 \ --no-video :screen-fps=15 :screen-caching=300 \ --sout "#transcode{vcodec=h264,vb=800,fps=5,scale=1,acodec=none}:duplicate{dst=std{access=file,mux=mp4,dst='/Videos/screen.mp4'}}"
-
Изящное завершение работы VLC
echo quit | nc localhost 8082
Вы также можете использовать код
Python
ниже, если у вас нет nc (netcat) на вашем компьютере.import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('localhost', 8082)) s.sendall('quit\n') s.shutdown(socket.SHUT_WR)
-
Как захватить конкретное приложение
Вы не можете выбрать, какое приложение записывать, но вы можете указать координату, ширину и высоту подэкрана.
-
--screen-top integer
Координата верхнего края подэкрана. Значение по умолчанию: 0 -
--screen-left integer
Координата левого края подэкрана. Значение по умолчанию: 0 -
--screen-width integer
Ширина подэкрана. Значение по умолчанию: <ширина полного экрана> -
--screen-height integer
Высота подэкрана. Значение по умолчанию: <высота экрана в полноэкранном режиме>