1.获取mp3音频长度:
ffprobe -loglevel quiet -print_format json -show_format -show_streams -i 0070administer.mp3|findstr duration
当然,linux的话,后面接grep分离出duration字段。
2.图片和音频合成视频的命令:
python代码 相应的替换即可。
cmd='"ffmpeg -y -loop 1 -f image2 -framerate 1 -pix_fmt yuv420p -i "{}" -i "{}" -c:v libx264 -c:a copy -map 0:0 -map 1:a -s 1920x1080 -t {} "{}.mp4"'.format(image_name,mp3_name, duration,output_name)
cmd='ffmpeg -y -loop 1 -i "{}" -i "{}" -c:a copy -c:v libx264 -s 1920x1080 -pix_fmt yuv420p -r 15 -shortest "{}.mp4"'.format(image_name,mp3_name,output_name)
3.有个问题:mp3合成后的视频时间长度比mp3长。分析可能是因为视频会自动补齐关键帧的问题。这里记录一下现象。