我有很多名为的主页屏幕截图homescreen000001.png
, homescreen000002.png
等,我正在尝试使用 ffmpeg 创建这些图像的延时视频。
当我运行以下命令时,它通常可以正常工作:
ffmpeg -f image2 \
-i ~/Desktop/homescreen%06d.png \
-r 0.5 \
-s 1440x900 \
-b:v 1M \
-vcodec libx264 \
-pix_fmt yuv420p \
~/Desktop/timelapse.mp4
然而,事实证明,某些图像具有透明背景,因此背景在这些图像上显示为黑色。
我想要一个白色背景,所以我一直尝试使用 ffmpeg 进行设置,如下所示:
ffmpeg -f image2 \
-loop 1 \
-i ~/Desktop/whitebg.png \
-i ~/Desktop/homescreen%06d.png \
-filter_complex overlay \
-r 0.5 \
-s 1440x900 \
-b:v 1M \
-vcodec libx264 \
-pix_fmt yuv420p \
~/Desktop/timelapse.mp4
Here whitebg.png
是 2px x 2px png,背景白色,仅此而已。
这个 ffmpeg 命令生成一个非常小的(文件大小)视频,只是一个白色背景。
谁能解释一下如何使用 ffmpeg 将图像作为延时视频叠加在白色背景上?
您可以使用彩色滤光片 https://ffmpeg.org/ffmpeg-filters.html#color作为背景:
ffmpeg -f lavfi -i color=c=white:s=1920x1080:r=24 -framerate 24 -i input_%04d.png -filter_complex "[0:v][1:v]overlay=shortest=1,format=yuv420p[out]" -map "[out]" output.mp4
另请参阅:
- 图像解复用器文档 https://ffmpeg.org/ffmpeg-formats.html#image2-1
- 覆盖过滤器文档 https://ffmpeg.org/ffmpeg-filters.html#overlay
- 如何用ffmpeg定位覆盖? https://stackoverflow.com/questions/10918907/how-to-add-transparent-watermark-in-center-of-a-video-with-ffmpeg/10920872#10920872
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)