ffmpeg滤镜使用

背景:现在有2个mp4文件,一个文件分辨率是854x480,另一个是320x240,想要通过ffmpeg实现把多路视频流进行拼接,实现不同效果

overlay滤镜拼接多路视频流实现画中画效果

ffmpeg -i input_854x480.mp4 -i input_320x240.mp4 -filter_complex "[1:v]scale=240:-1,setsar=1[small]; [0:v][small]overlay=W-w-10:H-h-10:shortest=1" -c:v libx264 -preset fast -c:a copy output_overlay.mp4

overlay 滤镜将 ‌320x240‌ 的小视频作为画中画展示在右下角,如下图所示:

下面针对各个参数做解释:

  1. 缩放小视频(320x240 → 240x135)
bash 复制代码
[1:v]scale=240:-1,setsar=1[small]
  • scale=240:-1‌:将小视频宽度缩放到 240px,高度按比例自适应(原始宽高比 320:240=4:3 → 缩放后 240x135,保持 16:9)
  • setsar=1‌:强制设置像素宽高比为 1:1(防止播放时变形)
  1. 叠加到主视频右下角
bash 复制代码
[0:v][small]overlay=W-w-10:H-h-10:shortest=1
  • W-w-10‌:X 坐标 = 主视频宽度 (854) - 小视频宽度 (240) - 右边距 (10px) → 854-240-10=604
  • H-h-10‌:Y 坐标 = 主视频高度 (480) - 小视频高度 (135) - 下边距 (10px) → 480-135-10=335
  • ‌shortest=1‌:以最短的输入流时长为准(若两路视频时长不同)
  1. 其他参数
  • c:a copy‌:直接复制主视频的音频流(若需混合两路音频,改用 amix 滤镜)
  • ‌-preset fast‌:平衡编码速度与压缩率
相关推荐
紫金修道1 天前
【编解码】RK3588 平台基于 FFmpeg RKMPP 硬解的多路 RTSP 抓帧插件实战
ffmpeg·rkmpp
QMCY_jason1 天前
RK3588 交叉编译ffmpeg提示rockchip_mpp>=1.3.9 错误的问题
ffmpeg
Memory_荒年3 天前
FFmpeg:音视频界的“万能瑞士军刀”
ffmpeg
QJtDK1R5a3 天前
V4L2 vs GStreamer vs FFmpeg:Linux多媒体处理的三个层级
linux·运维·ffmpeg
AI视觉网奇6 天前
webrtc 硬编码
ffmpeg·webrtc
九转成圣6 天前
避坑指南:彻底解决 FFmpeg drawtext 烧录多行文本出现“方块(□)”乱码的终极方案
ffmpeg
bbq烤鸡6 天前
ffmpeg精确极速剪辑方案
ffmpeg
小镇学者6 天前
【python】 macos 安装ffmpeg 命令行工具
python·macos·ffmpeg
QMCY_jason6 天前
RK3588平台编译 ffmpeg-rockchip 使用rkmpp rkrga 进行硬件转码
ffmpeg
悢七7 天前
单机部署 OceanBase 集群
数据库·ffmpeg·oceanbase