当前位置: 首页 > news >正文

使用ffmpeg 将图片合成为视频,填充模糊背景,并添加两段音乐

1.输入3张图片,每张播放一次,播放两秒,视频分辨率设置为1920:1080,每张图片前0.3秒淡入,后0.3秒淡出,图片宽高比不变,用白色填充空白区域

ffmpeg -loop 1 -t 2 -i "img1.jpg" \-loop 1 -t 2 -i "img2.jpg" \-loop 1 -t 2 -i "img3.jpg" \-filter_complex "[0:v]scale=1920:1080:force_original_aspect_ratio=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:color=white,setsar=1,format=yuv420p,fade=t=in:st=0:d=0.3,fade=t=out:st=1.7:d=0.3[img1];[1:v]scale=1920:1080:force_original_aspect_ratio=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:color=white,setsar=1,format=yuv420p,fade=t=in:st=0:d=0.3,fade=t=out:st=1.7:d=0.3[img2];[2:v]scale=1920:1080:force_original_aspect_ratio=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:color=white,setsar=1,format=yuv420p,fade=t=in:st=0:d=0.3,fade=t=out:st=1.7:d=0.3[img3];[img1][img2][img3]concat=n=3:v=1:a=0[vfinal]" \-map "[vfinal]" \-c:v libx264 \-preset slow \-profile:v high \-crf 18 \-pix_fmt yuv420p \-movflags +faststart \-r 30 \output.mp4

2.输入一张图片,视频分辨率为1920:1080,生成两张图片,一张模糊用作背景,一张前端宽高比保持一致,生成5秒的视频

ffmpeg -loop 1 -t 5 -i img1.jpg \-vf "split=2[original][blurred];[blurred]scale=1920:1080,boxblur=20[blurred];[original]scale=1920:1080:force_original_aspect_ratio=1[original];[blurred][original]overlay=(W-w)/2:(H-h)/2,setsar=1" \-c:v libx264 \-s 1920x1080 \output222.mp4

3.输入3张图片,设置视频分辨率为1920:1080,每张图片生成模糊背景和一致宽高比前景

ffmpeg -loop 1 -t 5 -i "img1.jpg" \-loop 1 -t 5 -i "img2.jpg" \-loop 1 -t 5 -i "img3.jpg" \-filter_complex "[0:v]split=2[original][blurred];[blurred]scale=1920:1080,boxblur=20[blurred];[original]scale=1920:1080:force_original_aspect_ratio=1[original];[blurred][original]overlay=(W-w)/2:(H-h)/2,setsar=1,format=yuv420p,fade=t=in:st=0:d=0.3,fade=t=out:st=4.7:d=0.3[img1];[1:v]split=2[original][blurred];[blurred]scale=1920:1080,boxblur=20[blurred];[original]scale=1920:1080:force_original_aspect_ratio=1[original];[blurred][original]overlay=(W-w)/2:(H-h)/2,setsar=1,format=yuv420p,fade=t=in:st=0:d=0.3,fade=t=out:st=4.7:d=0.3[img2];[2:v]split=2[original][blurred];[blurred]scale=1920:1080,boxblur=20[blurred];[original]scale=1920:1080:force_original_aspect_ratio=1[original];[blurred][original]overlay=(W-w)/2:(H-h)/2,setsar=1,format=yuv420p,fade=t=in:st=0:d=0.3,fade=t=out:st=4.7:d=0.3[img3];[img1][img2][img3]concat=n=3:v=1:a=0[vfinal]" \-map "[vfinal]" \-c:v libx264 \-preset slow \-profile:v high \-crf 18 \-pix_fmt yuv420p \-movflags +faststart \-r 30 \output444.mp4

4.输入3张图片,设置视频分辨率为1920:1080,每张图片生成模糊背景和一致宽高比前景,添加两段音频合成视频

ffmpeg -loop 1 -t 5 -i "img1.jpg" \-loop 1 -t 5 -i "img2.jpg" \-loop 1 -t 5 -i "img3.jpg" \-i "搀扶.mp3" \-i "青花瓷.mp3" \-filter_complex "[0:v]split=2[original][blurred];[blurred]scale=1920:1080,boxblur=20[blurred];[original]scale=1920:1080:force_original_aspect_ratio=1[original];[blurred][original]overlay=(W-w)/2:(H-h)/2,setsar=1,format=yuv420p,fade=t=in:st=0:d=0.3,fade=t=out:st=4.7:d=0.3[img1];[1:v]split=2[original][blurred];[blurred]scale=1920:1080,boxblur=20[blurred];[original]scale=1920:1080:force_original_aspect_ratio=1[original];[blurred][original]overlay=(W-w)/2:(H-h)/2,setsar=1,format=yuv420p,fade=t=in:st=0:d=0.3,fade=t=out:st=4.7:d=0.3[img2];[2:v]split=2[original][blurred];[blurred]scale=1920:1080,boxblur=20[blurred];[original]scale=1920:1080:force_original_aspect_ratio=1[original];[blurred][original]overlay=(W-w)/2:(H-h)/2,setsar=1,format=yuv420p,fade=t=in:st=0:d=0.3,fade=t=out:st=4.7:d=0.3[img3];[img1][img2][img3]concat=n=3:v=1:a=0[vfinal];[3:a][4:a]amix=inputs=2[afinal]" \-map "[vfinal]" \-map "[afinal]" \-c:v libx264 \-c:a aac \-b:a 192k \-preset slow \-profile:v high \-crf 18 \-pix_fmt yuv420p \-movflags +faststart \-r 30 \-t 15 \output666.mp4

详细解释

输入部分
  • -loop 1 -t 5 -i "img1.jpg":将图片 img1.jpg 作为输入,循环显示 5 秒。

  • -loop 1 -t 5 -i "img2.jpg":将图片 img2.jpg 作为输入,循环显示 5 秒。

  • -loop 1 -t 5 -i "img3.jpg":将图片 img3.jpg 作为输入,循环显示 5 秒。

  • -i "搀扶.mp3":将音频文件 搀扶.mp3 作为输入。

  • -i "青花瓷.mp3":将音频文件 青花瓷.mp3 作为输入。

滤镜链部分
  1. 处理每张图片

    • [0:v]split=2[original][blurred]:将输入流分成两个分支,分别标记为 [original][blurred]

    • [blurred]scale=1920:1080,boxblur=20[blurred]

      • [blurred] 流缩放到 1920x1080

      • [blurred] 流应用 boxblur 滤镜,模糊程度为 20。

    • [original]scale=1920:1080:force_original_aspect_ratio=1[original]

      • [original] 流缩放到 1920x1080,保持原始宽高比。

    • [blurred][original]overlay=(W-w)/2:(H-h)/2,setsar=1,format=yuv420p,fade=t=in:st=0:d=0.3,fade=t=out:st=4.7:d=0.3[img1]

      • [original] 流覆盖到 [blurred] 流上,居中对齐。

      • 使用 setsar=1 设置采样宽高比为 1:1

      • 将像素格式设置为 yuv420p

      • 添加淡入效果:fade=t=in:st=0:d=0.3,在开始时持续 0.3 秒。

      • 添加淡出效果:fade=t=out:st=4.7:d=0.3,在结束前 0.3 秒。

      • 将处理后的流标记为 [img1]

    同样的处理步骤应用于 img2.jpgimg3.jpg,分别标记为 [img2][img3]

  2. 拼接处理后的流

    • [img1][img2][img3]concat=n=3:v=1:a=0[vfinal]:将三个处理后的流拼接在一起,生成最终的视频流 [vfinal]

  3. 混合音频

    • [3:a][4:a]amix=inputs=2[afinal]:将两个音频流混合,生成最终的音频流 [afinal]

输出部分
  • -map "[vfinal]":指定输出流为 [vfinal]

  • -map "[afinal]":指定输出流为 [afinal]

  • -c:v libx264:使用 H.264 编码器。

  • -c:a aac:使用 AAC 编码器。

  • -b:a 192k:设置音频比特率为 192 kbps。

  • -preset slow:使用 slow 预设,以获得更好的压缩效果。

  • -profile:v high:使用 high 配置文件。

  • -crf 18:设置质量为 18(较低的值表示更高的质量)。

  • -pix_fmt yuv420p:设置像素格式为 yuv420p

  • -movflags +faststart:优化视频文件,使其更适合网络播放。

  • -r 30:设置帧率为 30 帧/秒。

  • -t 15:设置输出视频的总时长为 15 秒。

  • output666.mp4:输出文件名。

可以去官网下载ffmpeg

输入文件下载

通过网盘分享的文件:图片生成视频.rar
链接: https://pan.baidu.com/s/1Vc4JbnCjvP_PFHwF-TyfvA?pwd=fiy1 提取码: fiy1

相关文章:

  • SiamFC算法深度解析
  • 解决微信开发者工具报错 “Component is not found in path wx://not-found“ 代码修改后热更新报错
  • 【无人机】无人机遥控器设置与校准,飞行模式的选择,无线电控制 (RC) 设置
  • 被封号如何申诉?Google Play开发者账号申诉模版分享
  • ERROR: x264 not found using pkg-config
  • CS144 Lab 6 实战记录:构建 IP 路由器
  • Android学习总结之扩展基础篇(一)
  • AI数字人多模态技术如何提升用户体验?
  • c++——内部类
  • 自由学习记录(57)
  • 2025.5.4机器学习笔记:PINN文献阅读
  • 第53讲 农学科研中的AI伦理与可解释性——探索SHAP值、LIME等可解释工具与科研可信性建设之道
  • 【棒球运动】户外运动安全技巧·棒球1号位
  • 【操作系统间文件共享_Samba】三、Samba 在实际场景中的应用案例与故障排除
  • Multi-granular Adversarial Attacksagainst Black-box Neural Ranking Models--阅读笔记
  • 制造工厂如何借助电子看板实现高效生产管控
  • 高可靠性厚铜板制造的关键设备与工艺投入
  • femap许可不足如何解决
  • [flutter]切换国内源(window)
  • 电控---JTAG协议
  • 南方医科大学原副校长宁习洲主动投案,接受审查调查
  • 上海车展上的双向奔赴:跨国车企融入中国创新,联手“在中国,为全球”
  • 北朝时期的甲胄
  • 从神舟五号到神舟二十号,每次任务标识藏着哪些逐梦星辰的密码
  • 新疆维吾尔自治区交通运输厅副厅长刘艳东接受审查调查
  • 两岸基层民生发展交流会在浙江开幕