/Applications/VLC.app/Contents/MacOS/VLC -I dummy screen:// --screen-fps=25 --quiet --sout "#transcode{vcodec=h264,vb072}:standard{access=file,mux=mp4,dst="Desktop/vlc-output-terminal.mp4"}"
这很棒,它的作品.问题是,如何使用终端退出录音?现在,我必须在终端上执行Control C才能退出.我看过vlc://在线退出,但我不知道如何使用该命令.
还有没有人知道是否可以使用VLC捕获特定的应用程序,还是整个屏幕是唯一的选择?
Ctrl C杀死进程(在这种情况下为VLC),信号为SIGINT.
当您捕获屏幕时,vlc://退出选项将不起作用,因为流是永无止境的源.
正确的方式 – RC (Remote Control)
> TCP套接字
To be able to remote connect to your VLC using a TCP socket (telnet-like connetion),use –rc-host your_host:port. Then,by connecting (using telnet or netcat) to the host on the given port,you will get the command shell.
> UNIX套接字
To use a UNIX socket (local socket,this does not work for Windows),use –rc-unix /path/to/socket. Commands can then be passed using this UNIX socket.
要启用VLC的remote control接口,您需要添加选项
--extraintf rc --rc-quiet
如何退出
> TCP套接字
回声退出| nc -U / path / to / socket
例
>执行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,dst='/Videos/screen.mp4'}}"
>正常关闭VLC
echo quit | nc localhost 8082
如果您的计算机上没有nc (netcat),也可以使用下面的Python代码.
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子菜单的高度.默认值:<全屏高>