![使用 mkvmerge 时音频和视频不同步](https://linux22.com/image/1284675/%E4%BD%BF%E7%94%A8%20mkvmerge%20%E6%97%B6%E9%9F%B3%E9%A2%91%E5%92%8C%E8%A7%86%E9%A2%91%E4%B8%8D%E5%90%8C%E6%AD%A5.png)
我使用 mkvextract 从 mkv 中提取了音频和视频。然后我使用 mkvmerge 将它们合并回 mkv。当我播放 mkv 时,音频和视频不同步。
我该如何将它们合并以使其同步?我尝试使用 mkvmerge 在原始文件上查找一些有用的信息,以查看是否有任何有用的信息,但没有找到任何信息。
答案1
这是一个简单的工作流程:
- j使用和k按钮查明与 VLC 播放器的不同步程度。
- 下载
mkvtoolnix
并点击添加文件。 - 添加您的视频文件。添加后,单击音频文件,现在您可以添加延迟。简而言之,使用 - 或 + 以及您使用 vlc 计算出的延迟。
- 按
mux now
。完成:)
答案2
原始文件可能指定了音频延迟。如果您使用的是 mkvmerge GUI,则可以在格式化特定选项tab。正值延迟音轨,负值提前音轨(均以毫秒为单位)。如果您使用命令行,则需要使用-y
或--sync
参数。请参阅mkvmerge 文档了解详情。文档还向您展示了如何均匀缩放视频中的音频延迟(而不是设置恒定的延迟)。
要确定所需的音频延迟,您可以使用 Media Player Classic 和 +/- 键来确定延迟。或者,您可以尝试使用媒体信息工具来查看原始文件的延迟。
答案3
在命令行 mkvmerge 中它是这样的:
mkvmerge --verbose -o output.mkv -y 1:1000 input.mkv
在哪里
mkvinfo
1 是音轨编号,您可以使用或找到它mediainfo
(后者将 1 加到音轨编号上,即使用从 1 开始的自然计数)。大多数情况下,第一个音轨的编号为 1。- 1000 是 MS(毫秒)的延迟,所以 1000 是 1 秒。
顺便说一句,--verbose
可能会帮助您找出到底发生了什么以及为什么它不同步。