在这里,我从图像(8)和音频(文件大小:307KB)转换视频。 但视频正在播放一个带有音频的图像,而其他则没有音频。 在我的知识中:因为音频文件的大小非常低。 我想转换视频播放所有带有音频的图像。 示例代码:使用FFMPEG从图像和音频文件转换视频
$audioPath = 'upload/2016/01/tmp_81332/audio_1453307709.wav';
$convAudioPath = 'upload/2016/01/tmp_81332/output.mp3';
$ffmpeg = '/usr/bin/ffmpeg';
$convImgPath = 'upload/2016/01/tmp_81332/image%d.jpeg';
$output = 'upload/2016/01/video_81332_1453307709.mp4';
exec("$ffmpeg -i $audioPath -f mp2 $convAudioPath");
exec("$ffmpeg -framerate 1/5 -i $convImgPath -i $convAudioPath -c:v libx264 -c:a aac -strict experimental -b:a 16k -shortest $output");
然而,这扩展了输出的视频文件是音频文件的长度如果是比视频更长。如果音频文件比视频短,使用-shortest会将视频文件缩短。那么是否有一个标志告诉ffmpeg将输出视频的长度保持为输入视频的长度?从wav格式为mp3
我相信OP想要一个可用于多种输入的模板,其中音频和视频的持续时间之间的关系是事先不知道的。你的工作流程需要事后手术。 – Mulvya
@Balaraman L这是很好的解释和很好的解决方案。但它不适合我。音频文件再次对于一个图像仅播放5秒。 –
@RamaLingam我可以知道你在这种情况下使用的音频的全长吗?因为,我在答复中提供的经理声明对我来说非常合适。 –