托马斯的冰淇淋 2023-04-02 16:47 采纳率: 50%
浏览 156
已结题

ffmpeg 图片合成视频

ffmpeg 遇到一个问题 公司有一个需求,图片(图片要可以左右移动,图片是多张,图片要可以指定播放时长,例如:第一张图片播放时长3秒 第二张图片播放2秒 第三张x秒), 音频,合成mp4视频有会的吗?写ffmpeg 命令就可以了?

  • 写回答

6条回答 默认 最新

  • 「已注销」 2023-04-02 18:13
    关注

    引用gpt作答:
    使用ffmpeg可以将多张图片合成为一个视频,同时添加音频和字幕。

    以下是一个示例命令,其中包括将图片合成为视频、添加音频和字幕、调整图片位置和指定每张图片的播放时长:

    
    ffmpeg -y \
           -loop 1 \
           -i image1.png \
           -loop 1 \
           -i image2.png \
           -filter_complex \
               "[0:v]scale=w=1280:h=720,setsar=1[v0]; \
                [1:v]scale=w=1280:h=720,setsar=1[v1]; \
                [v0][v1]hstack=inputs=2[v]" \
           -map "[v]" \
           -t 10 \
           -vf "drawtext=text='Your Subtitle':fontfile=/path/to/font.ttf:fontsize=24:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2" \
           -i audio.mp3 \
           -shortest \
           output.mp4
    
    
    

    这个命令将图片 image1.png 和 image2.png 合成为一个视频,图片会水平拼接在一起。 -filter_complex 参数中的 setsar 参数用于设置像素比例,以避免图像变形。 -t 参数用于设置视频的持续时间,这里设置为10秒。 -vf 参数用于添加字幕,你需要将其中的 text、fontfile、fontsize 和 fontcolor 等参数替换成你想要的字幕内容和样式。 -i 参数用于添加音频, -shortest 参数用于将音频的持续时间设置为视频的持续时间。最后的输出文件为 output.mp4。

    如果你需要调整图片的位置,可以在 -filter_complex 参数中添加 x 和 y 参数,以指定图片的位置。例如,如果你想将第一张图片向左移动100个像素,可以将 -filter_complex 参数修改为:

    
    -filter_complex \
        "[0:v]scale=w=1280:h=720,setsar=1,x=100[v0]; \
         [1:v]scale=w=1280:h=720,setsar=1[v1]; \
         [v0][v1]hstack=inputs=2[v]"
    
    

    其中的 x 参数设置为 100。你可以根据需要修改这些参数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 已采纳回答 4月3日
  • 修改了问题 4月2日
  • 专家修改了标签 4月2日
  • 展开全部

悬赏问题

  • ¥15 openwrt双栈NAT
  • ¥15 部分网页页面无法显示!
  • ¥15 怎样解决power bi 中设置管理聚合,详细信息表和详细信息列显示灰色,而不能选择相应的内容呢?
  • ¥15 QTOF MSE数据分析
  • ¥15 平板录音机录音问题解决
  • ¥15 请问维特智能的安卓APP在手机上存储传感器数据后,如何找到它的存储路径?
  • ¥15 (SQL语句|查询结果翻了4倍)
  • ¥15 Odoo17操作下面代码的模块时出现没有'读取'来访问
  • ¥50 .net core 并发调用接口问题
  • ¥15 网上各种方法试过了,pip还是无法使用