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。你可以根据需要修改这些参数。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 openwrt双栈NAT
- ¥15 部分网页页面无法显示!
- ¥15 怎样解决power bi 中设置管理聚合,详细信息表和详细信息列显示灰色,而不能选择相应的内容呢?
- ¥15 QTOF MSE数据分析
- ¥15 平板录音机录音问题解决
- ¥15 请问维特智能的安卓APP在手机上存储传感器数据后,如何找到它的存储路径?
- ¥15 (SQL语句|查询结果翻了4倍)
- ¥15 Odoo17操作下面代码的模块时出现没有'读取'来访问
- ¥50 .net core 并发调用接口问题
- ¥15 网上各种方法试过了,pip还是无法使用