我正在编写一个bash函数来调用 vlc 将视频捕获到文件中。我希望文件名是时间戳。但文件名的dst
选项位于单引号内。我怎么能做到这一点?
bash函数和vlc命令是:
function vlc-capture-func() {
local capture_output_file="/path/vlc-capture-$(date +%Y%m%d%H%M%S)"
vlc qtcapture:// -vvvv --no-drop-late-frames --no-skip-frames\
--sout='#transcode{vcodec=h264,fps=15,venc=x264{preset=fast,tune=zerolatency,keyint=30,bframes=0,ref=1,level=30,profile=baseline,hrd=cbr,crf=20,ratetol=1.0,vbv-maxrate=1200,vbv-bufsize=1200,lookahead=0}}:standard{access=file,mux=ps,dst=$capture_output_file}'\
--qtcapture-width=1280 --qtcapture-height=720 --live-caching=300 --intf=macosx
echo "Done!"
}
希望我提出一个合适的标题和明确的问题,如果有任何错误的英语,请纠正我。
感谢您的帮助!
答案 0 :(得分:1)
请改用双引号。像:
"#transcode{vcodec=h264,fps=15,venc=x264{preset=fast,tune=zerolatency,keyint=30,bframes=0,ref=1,level=30,profile=baseline,hrd=cbr,crf=20,ratetol=1.0,vbv-maxrate=1200,vbv-bufsize=1200,lookahead=0}}:standard{access=file,mux=ps,dst=${capture_output_file}}'