我有一个高分辨率视频,但其音轨坏了,还有一个低分辨率视频,其音轨正常。我想将高分辨率视频与低分辨率视频音轨结合起来。
如何在不重新编码音轨或视频的情况下做到这一点?
答案1
如果你想通过命令行执行此操作,请使用FFmpeg(免费、开源、跨平台)。
首先,从正确的视频文件中提取音轨。我假设音频是 MP3*。
ffmpeg -i correct.avi correct.mp3
然后,将损坏的文件的视频比特流与新的音轨合并:
ffmpeg -i broken.avi -i correct.mp3 -map 0:0 -map 1:0 -c:v copy -c:a copy out.avi
这会不是重新编码视频和音频比特流。
* 您可以通过进行简单ffmpeg -i correct.avi
调用并查找音频流来验证这一点。或者,您可以使用媒体信息。请注意,此处的扩展名.mp3)
应与音频完全匹配。如果您的 AVI 文件没有 MP3 音频,而是其他内容,则必须相应地更改容器。
答案2
你可能想看看虚拟配音:
VirtualDub 功能
- 无需接触视频即可删除和替换音轨。
答案3
答案4
您可以使用 VirtualDub、AviDemux(不需要额外的编解码器)或 Xmedia Recode 来执行此操作。首先,您必须从一个文件中截取音频,最好使用 GoldWave 4,因为这样您就可以将其存储为未压缩的 WAV,您需要它来同步它。其次,确保您的音频与视频的长度完全相同,我们这里说的是几千秒。例如 0.234 秒的差异是可以的,超过一秒可能就不好了。
第三,如果它们相同,请使用 Vdub 或 AviDemux 打开视频并查找“添加来自不同源的音频”选项。添加 WAV 文件。如果同步,则可以使用压缩使电影更小。
您可以在 Goldwave 中调整 WAV 文件的长度。即使它们完全不同,并且有完全不同的开头和结尾,您也可以这样做。但这很难。