2016-06-16 110 views
1

我需要一个音频和视频轨道持续时间始终相同的视频文件。即使源音频没有音轨,该文件也必须包含音轨。如何在源无音频追踪时告诉ffmpeg添加静音音轨。此外,如果音频源的音频轨道的持续时间不同于视频,我需要ffmpeg来添加无声音频,以使输出的音频和视频的持续时间相同。这是可能的与ffmpeg一行吗?ffmpeg - 如果信号源没有音频或音频短于源视频,则输出无声音频轨道

回答

4

如果源文件中没有音频**,下面的命令将添加与视频具有相同长度*的静音轨道。

ffmpeg -i video -f lavfi -i anullsrc=cl=1 -shortest -c:v libx264 -c:a aac output.mov 

*由于视频帧持续时间和音频帧持续时间通常不相同,因此长度将不完全相同。

**当未指定map时,ffmpeg将从通道数最高的输入中选择一个音频流。如果有两个或更多个相同的流。它选择具有最低索引的流。 anullsrc这里有一个通道,因此除非源代码没有音频,否则它将被传递。

+0

好的,但我需要传递源音频,如果它存在添加静音轨道,如果它不。 – TK3

+0

请参阅编辑的命令。 – Mulvya

+0

你能解释一下-f lavfi吗?无论输入格式如何,我都需要在.mov容器中输出h264。 – TK3