微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将图像和音频加入结果视频

我有很多不同大小的图像(即1024×768和900×942)和30秒的音频文件(audio.mp3),我需要从它们创建一个视频.

我现在正在尝试:结果%d.png(1到4)和audio.mp3

ffmpeg -y -i result%d.png -i audio.mp3 -r 30 -b 2500k -vframes 900
-acodec libvo_aacenc -ab 160k video.mp4

视频video.mp4有30秒,但当最后一张图像保留到音频结束时,3张第一张图像显示得非常快.

每个图像需要在相同的时间内显示,直到音频结束.谁知道怎么做?

图像的数量有时会有所不同.

解决方法

FFMPEG版本:3.2.1-1

UBUNTU 16.04.1

想象一下,你有一个名为wow.mp3的mp3音频文件.在这种情况下,以下命令将以秒为单位获得mp3的持续时间.

ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 wow.mp3

一旦你有持续时间在几秒钟(想象我有11.36秒).既然我有3张图片,我想运行每张图片(11.36 / 3 = 3.79),请使用以下内容

ffmpeg -y -framerate 1/3.79 -start_number 1 -i ./swissGenevaLake_%d.jpg -i ./akib.mp3 -c:v libx264 -r 25 -pix_fmt yuv420p -c:a aac -strict experimental -shortest output.mp4

这里的图像是./swissGenevaLake_1.jpg,./swissGenevaLake_2.jpg和./swissGenevaLake_3.jpg.

-framerate 1 / 3.784表示每个图像运行3.784秒.

-start_number 1表示从第一个图像开始,意思是./swissGenevaLake_1.jpg

-c:v libx264:视频编解码器H.264

-r 25:输出视频帧率25

-pix_fmt yuv420p:输出视频像素格式.

-c:aac:使用aac编码音频

-shortest:音频完成后立即结束视频.

output.mp4:输出文件

免责声明:我没有测试合并多种尺寸的图像.

参考文献:

https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images

https://trac.ffmpeg.org/wiki/Encode/AAC

http://trac.ffmpeg.org/wiki/FFprobeTips

原文地址:https://www.jb51.cc/mssql/78395.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐