ffmpeg - 将图像和音频组合到视频后,视频长于音频

时间:2017-10-16 21:03:46

标签: audio ffmpeg

我编写的代码将多个音频文件与1个图像组合成WebM视频。 (audio1结合默认jpg,audio2结合默认jpg等)。

问题在于,此后视频长度比音频长度高25秒(因此音频在视频结束前25秒切断)。

有没有办法在音频的同一时间停止视频?这是我使用的代码(我启动BAT命令文件)

@echo off  
for %%F in (*.ogg) do (  
  ffmpeg -loop 1 -framerate 1 -i "default.jpg" -i "%%F" -acodec libopus -b:a 384k -vcodec libvpx-vp9 -lossless 1 -speed 4 -vf scale=1280x720 -shortest "%%F.webm" 
)

2 个答案:

答案 0 :(得分:0)

好的,这是一种解决方案:

首先,运行原始命令

ffmpeg -loop 1 -framerate 1 -i "default.jpg" -i "%%F"
      -acodec libopus -b:a 384k -vcodec libvpx-vp9 -lossless 1 -speed 4 -vf scale=1280x720 -shortest temp.webm

然后

ffmpeg -i temp.webm -c copy -fflags shortest -max_interleave_delta 10000000000 -flush_packets 0 "%%F.webm"

这会产生比音频持续时间长1秒的文件。

答案 1 :(得分:0)

谢谢!替代解决方案(现在已经解决了),用“复制”替代-b:384k工作。当您保持音频源质量不变时,创建具有组合图像/音频的媒体似乎具有同步音频/视频长度,而无需重新编码。这就是问题所在。