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‌:平衡编码速度与压缩率
相关推荐
微瑟秋风2 天前
Python应用——ffmpeg处理音视频的常见场景
python·ffmpeg
WSSWWWSSW2 天前
警告:OPENCV_FFMPEG_READ_ATTEMPTS (current value is 4096)
人工智能·opencv·ffmpeg
A尘埃2 天前
FFmpeg音视频处理解决方案
ffmpeg·音视频
Industio_触觉智能3 天前
瑞芯微RK3576平台FFmpeg硬件编解码移植及性能测试实战攻略
ffmpeg·开发板·嵌入式开发·瑞芯微·视频解码·rk3576·rk3576j
Font Tian3 天前
FFmpeg 不同编码的压缩命令详解
ffmpeg·音视频·视频编解码·视频·视频压缩
Natsume17103 天前
音视频开发入门:FFmpeg vs GStreamer,新手该如何选择?
c语言·c++·ffmpeg·音视频·webrtc·实时音视频·视频编解码
CHN悠远3 天前
FFMPEG 10BIT下 Intel b570 qsv 硬解AV1,H265视频编码测试
ffmpeg·av1·h265
忆萧3 天前
Encoder编码器
ffmpeg
忆萧3 天前
FFMPEG学习任务
学习·ffmpeg
Everbrilliant894 天前
macOs上ffmpeg带入libx264库交叉编译
macos·ffmpeg·ffmpeg交叉编译·ffmpeg libx264·libx264交叉编译·libx264.so·libx264.a