ffmpeg实现画中画

1、新建一个txt文件,并复制如下代码进入,然后保存。

@echo off & title
 
cd /d %~dp0
 
for %%a in (*.mp4) do (
 
 ffmpeg -i "%%~sa" -i "%%~sa" -filter_complex "[1]scale=iw-60:ih-60[pip];[0][pip]overlay=main_w-overlay_w-30:main_h-overlay_h-30" -y -q:v 1 -max_muxing_queue_size 1024 "out\%%~na.mp4"
 
)
 
pause

2、把文件后缀修改为bat 。

3、把后缀为bat的文件放到要批量处理的视频文件夹里面。

4、在确保安装了ffmpeg的情况下,双击bat文件执行即可。

5、参数说明:

-i          输入文件,这里指的就是视频文件。

-y        表示无需询问,直接覆盖输出文件(如果有原文件的话)。

-q:v 1        q是质量,v是视频,v的取值范围是[1, 35],取值1的时候,对应着最佳的视频质量。。

-max_muxing_queue_size  1024,最大处理缓存大小为1024M。

-filter_complex   使用ffmpeg复杂滤镜。 

scale    缩放后的前景分辨率。这里是针对前景视频。

iw    输入视频的宽度。

ih    输入视频的高度。

overlay    overlay是一种技术,它可以在(通常是较大的)背景视频或图像上显示前景视频或图像。

main_w   背景视频或图像的宽度。

main_h    背景视频或图像的高度。

overlay_w    前景视频或图像的宽度。    

overlay_h    前景视频或图像的高度。

[0]    背景视频。

[1]    前景视频。

[pip]    picture-in-picture,一个画面在另一个画面中展示,也就是画中画。通过overlay指令实现。

猜你喜欢

转载自blog.csdn.net/mj412828668/article/details/121327247