我创建了以下命令来在视频中叠加图像(桌面录制):
C:\>ffmpeg -y -rtbufsize 100M -f gdigrab -framerate 20 -offset_x 0 -offset_y 0 -video_size 1250x750 -draw_mouse 1 -i desktop -f dshow -i audio="Microphone (High
Definition Audio Device)" -c:v libx264 -r 20 -preset ultrafast -tune zerolatency -crf 30 -pix_fmt yuv420p -c:a libmp3lame -qscale:a 4 "D:\today.mp4" -i "C:\My.jpg" -filter_complex "pad=height=ih+10:color=black,overlay=(main_w-overlay_w):main_h-overlay_h"
并且能够看到预期的结果,但是当我使用我的网络摄像头时
video="HP Truevision HD"
我尝试查找图像而不是图像文件,但出现错误。
答案1
使用
ffmpeg -y -rtbufsize 100M -f gdigrab -framerate 20 -offset_x 0 -offset_y 0
-video_size 1250x750 -draw_mouse 1 -i desktop
-f dshow -i video="HP Truevision HD":audio="Microphone (High Definition Audio Device)"
-filter_complex "[0]pad=height=ih+10:color=black[b];
[b][1:v]overlay=(main_w-overlay_w):main_h-overlay_h[v]" -map "[v]"
-c:v libx264 -r 20 -preset ultrafast -tune zerolatency -crf 30 -pix_fmt yuv420p
-map 1:a -c:a libmp3lame -qscale:a 4 "D:\today.mp4"
答案2
这是我的做法:
#!/bin/env zsh
file=`date +%Y-%m-%d-%H.%M.%S`
ffmpeg -f alsa -i pulse -f x11grab -thread_queue_size 64 -i :0.0 -i /dev/video0 \
-filter_complex 'overlay=main_w-overlay_w:main_h-overlay_h' \
-r 60 -preset ultrafast ~/Videos/screencast-${file}.mp4
我想弄清楚的一件事是如何缩小相机尺寸。