VLC:如何使用背景图像更改视频的特定键颜色?

VLC : How to change a certain key color of video with a background image?

我正在努力寻找必要的 vlc 命令行参数和 vlm 文件设置来解决以下问题:

  1. 给定一个蓝色背景的 mp4 视频
  2. 用在背景上显示图像替换蓝色
  3. 将结果保存到 mp4 文件中也有声音

VLC 文档太差了。

将vlc文件夹放在PATH中(不是必需的,但可以节省一些代码行。)

以“管理员”身份打开 Windows 命令行(右键单击并 select)在命令提示符中输入:

vlc -I dummy --vlm-conf=mosaic3.vlm -vv --sub-filter=mosaic --mosaic-alpha=255 --mosaic-width=960 --mosaic-height=540 --mosaic-xoffset=0 --mosaic-yoffset=0 --mosaic-keep-picture --bluescreen-u=120 --bluescreen-v=90 --bluescreen-vt=17 --bluescreen-ut=17 --file-logging --logfile=".\log.txt" --logmode=text

其中mosaic3.vlm是一个文件如下

new channel1 broadcast enabled
setup channel1 input myvideo.mp4
setup channel1 output #duplicate{dst=mosaic-bridge{height=540,width=960,chroma=YUVA,vfilter=bluescreen},select=video,dst=bridge-out{id=11},select=audio,acodec=mp4a,ab=128,channels=2,samplerate=44100}:display
  
new mosaic broadcast enabled
setup mosaic input "back.jpg"
setup mosaic option image-duration=-1
setup mosaic output #transcode{sfilter=mosaic{height=540,width=960,cols=1,rows=1,keep-aspect-ratio=enabled,keep-picture=1},vcodec=h264,acodec=mp4a,ab=128,channels=2,samplerate=44100}:bridge-in:std{access=file,mux=ts,dst=myoutput.mp4}

control channel1 play
control mosaic play

您的结果将保存在 myoutput.mp4

选项:

  • 我的视频是 960 x 540,替换成你自己的尺寸

  • 色度键 bluescreen-u=120 --bluescreen-v=90对应蓝色

如果你有绿色,试试:bluescreen-u=60 --bluescreen-v=45

其他颜色请看这里:https://www.mikekohn.net/file_formats/yuv_rgb_converter.php