FFmpeg 幻灯片 + 音频 + 水印 + 保持纵横比
FFmpeg Slideshow + Audio + Watermark + Maintain Aspect Ratio
我正在尝试用一些图片和现有的 mp3(已复制)制作幻灯片。图片尺寸不同,但我希望视频输出为 16:9 纵横比和 3840x2160。我也想要水印图片不要拉长很重要
我试过这段代码...
ffmpeg -y -framerate 1/1.5 -i "pics/%03d.jpg" -i audio.mp3 -c:v libx264 -r 24 -preset veryfast -tune stillimage -c:a copy -pix_fmt yuv420p -aspect 16:9 -filter_complex "scale=iw*min(3840/iw\,2160/ih):ih*min(3840/iw\,2160/ih),pad=3840:2160:(3840-iw)/2:(2160-ih)/2, movie=watermark.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" vid.mkv
但它给我这个错误:
[AVFilterGraph @ 0x2d21480] Too many inputs specified for the "movie"
filter. Error initializing complex filters. Invalid argument
我可以成功制作带图片、音频和水印的幻灯片;但是,我无法在不拉伸图片的情况下考虑宽高比。
如果有差异,输出视频将上传到 YouTube。
您可以删除方面标志。由于您的过滤器输出为 3840x2160,即 16:9,您不需要它。您的缩放过滤器适用于不同比例的图像。
这里有一个完整的命令供您尝试:
ffmpeg -y -framerate 2/3 -i "pics/%03d.jpg" -i audio.mp3 -loop 1 -i watermark.png
-filter_complex
"[0:v]scale=iw*min(3840/iw\,2160/ih):ih*min(3840/iw\,2160/ih),
pad=3840:2160:(3840-iw)/2:(2160-ih)/2[ss];
[ss][2:v] overlay=main_w-overlay_w-10:main_h-overlay_h-10:shortest=1[out]"
-map "[out]" -map 1:a
-c:v libx264 -r 24 -preset veryfast -tune stillimage -pix_fmt yuv420p
-c:a copy
vid.mkv
我正在尝试用一些图片和现有的 mp3(已复制)制作幻灯片。图片尺寸不同,但我希望视频输出为 16:9 纵横比和 3840x2160。我也想要水印图片不要拉长很重要
我试过这段代码...
ffmpeg -y -framerate 1/1.5 -i "pics/%03d.jpg" -i audio.mp3 -c:v libx264 -r 24 -preset veryfast -tune stillimage -c:a copy -pix_fmt yuv420p -aspect 16:9 -filter_complex "scale=iw*min(3840/iw\,2160/ih):ih*min(3840/iw\,2160/ih),pad=3840:2160:(3840-iw)/2:(2160-ih)/2, movie=watermark.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" vid.mkv
但它给我这个错误:
[AVFilterGraph @ 0x2d21480] Too many inputs specified for the "movie" filter. Error initializing complex filters. Invalid argument
我可以成功制作带图片、音频和水印的幻灯片;但是,我无法在不拉伸图片的情况下考虑宽高比。
如果有差异,输出视频将上传到 YouTube。
您可以删除方面标志。由于您的过滤器输出为 3840x2160,即 16:9,您不需要它。您的缩放过滤器适用于不同比例的图像。
这里有一个完整的命令供您尝试:
ffmpeg -y -framerate 2/3 -i "pics/%03d.jpg" -i audio.mp3 -loop 1 -i watermark.png
-filter_complex
"[0:v]scale=iw*min(3840/iw\,2160/ih):ih*min(3840/iw\,2160/ih),
pad=3840:2160:(3840-iw)/2:(2160-ih)/2[ss];
[ss][2:v] overlay=main_w-overlay_w-10:main_h-overlay_h-10:shortest=1[out]"
-map "[out]" -map 1:a
-c:v libx264 -r 24 -preset veryfast -tune stillimage -pix_fmt yuv420p
-c:a copy
vid.mkv