Linux 下抓取 USB 摄像头至文件的指令如下:
ffmpeg -f v4l2 -video_size 1280x720 -i /dev/video2 camera.mp4
抓取 USB 摄像头并实时显示的指令如下:
ffplay -f v4l2 -video_size 1280x720 -i /dev/video2
将绿幕上的人物叠加到另一个视频上,并保存为文件的指令如下:
ffmpeg -i bg.mp4 -i fg.mp4 -shortest -filter_complex "[1:v]chromakey=0x4a5b74:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" out.mp4
(以上三个指令都已经测试成功)
现在如果要把 USB 摄像头前、绿幕前的人物叠加到另一个视频上并实时播放,要如何实现呢?
1
jakezh 2019-12-19 00:14:45 +08:00 1
|
|
2
SmiteChow 2019-12-19 09:19:46 +08:00 1
未测试:`ffplay -f v4l2 -video_size 1280x720 < ffmpeg -i bg.mp4 -i /dev/video2 -shortest -filter_complex "[1:v]chromakey=0x4a5b74:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" `
|
3
feng32 OP 楼上两位的思想是对的,实际工作的指令如下
ffmpeg -i bg.mp4 -i /dev/video2 -shortest -filter_complex "[1:v]chromakey=0x4a5b74:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" -f matroska - | ffplay - |