求助一个 ffmpeg / ffplay 的调用方法问题

2019-12-18 20:08:28 +08:00
 feng32

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 摄像头前、绿幕前的人物叠加到另一个视频上并实时播放,要如何实现呢?

1499 次点击
所在节点    程序员
3 条回复
jakezh
2019-12-19 00:14:45 +08:00
|
SmiteChow
2019-12-19 09:19:46 +08:00
未测试:`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]" `
feng32
2019-12-19 19:31:01 +08:00
楼上两位的思想是对的,实际工作的指令如下

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 -

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/630296

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX