如何使用 ffmpeg 将网络摄像头录制的视频和桌面录制的视频并排显示

如何使用 ffmpeg 将网络摄像头录制的视频和桌面录制的视频并排显示

我想直接将 2 个ffmpeg输出并排放置,以便输出包含两个视频的视频。

录音区

  1. 网络640x480摄像头录制:

    ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 webcam.mkv
    
  2. 桌面录制 1600x900视频

    ffmpeg -f x11grab -r 100 -s 1600x900 -i :0.0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -threads 3 desktop.mkv
    
                  ---------------
                  |             |
       |----------|   desktop   |
       |  webcam  |             |
       --------------------------
    

答案1

ffmpeg \
-f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 \
-f x11grab -framerate 100 -video_size 1600x900 -i :0.0 \
-filter_complex "[0:v]pad=iw:900:0:(oh-ih)/2[left];[left][1:v]hstack" \
output
  • 使用-framerate代替-r-video_size代替-sx11grab
  • 堆栈过滤器将使用第一个输入的帧速率,因此您可以添加fps 过滤器如果需要的话,可以在垫过滤器之后使用。
  • -framerate 100看起来很高,而且可能无法持续。

相关内容