This code适用于某些音频文件(使用PNG水印和MP3音频制作JPG图片幻灯片,同时保持宽高比)但是对于this audio file,图片没有显示第一个两秒左右的视频:
ffmpeg -y -framerate 1/12 -i "media/%03d.jpg" -i "media/audio.mp3" -loop 1 -i "media/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 -map_metadata -1 "media/video.mkv" -report
我尝试将音频转换为不同格式的MP3,尝试更改比特率,将音频更改为立体声,甚至尝试将其转换为WAV。这些都不起作用。
以下是运行此命令的the report results。
如果它有所作为,我使用的是Ubuntu 14.04和FFmpeg版本N-77455-g4707497(最新版本)。
答案 0 :(得分:1)
此命令应该有效,但我认为这种奇怪的行为,因为FFmpeg应该根据输出规范自动填充帧
ffmpeg -y -framerate 1/12 -i "media/%03d.jpg" -i "media/audio.mp3" -loop 1 -i "media/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,fps=24[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 -map_metadata -1 "media/video.mkv"