最近我使用 ffmpeg 进行了重新编码,在此过程中遇到了听不见但波形可见的音频不同步。
Mediainfo 显示相对于视频有6 毫秒的音频延迟:
Audio
ID : 2
Format : E-AC-3
Format/Info : Enhanced Audio Coding 3
Format settings, Endianness : Big
Codec ID : A_EAC3
Duration : 1 h 0 min
Bit rate mode : Constant
Bit rate : 640 kb/s
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 187.500 FPS (256 SPF)
Compression mode : Lossy
Delay relative to …Run Code Online (Sandbox Code Playgroud) 我注意到 FFmpeg 缩混的问题。如果我运行一个命令,例如
ffmpeg -i infile.flac -ac 2 outfile.flac
Run Code Online (Sandbox Code Playgroud)
它将具有相同的结果
ffmpeg -i infile.flac \
-map_channel 0.0.0 \
-map_channel 0.0.1 \
-map_channel 0.0.2 \
-map_channel 0.0.4 \
-map_channel 0.0.5 \
outfile.flac
Run Code Online (Sandbox Code Playgroud)
也就是说,第四个频道AKA 0.0.3AKA LFEAKAlow frequency不见了。如何在不丢失频道的情况下将 6 缩混为 2?
假设我有一个包含 5.1 音频(可能是 AAC 或其他格式)的视频文件,我想将该音轨转换为立体声,这样我就可以在不进行任何转码的情况下将其与 Plex 一起使用。嗯,我还想保留 5.1 轨道作为第二个轨道,所以如果我得到 5.1 系统,我可以使用该轨道。所以基本上,我只想复制视频,复制音频,并将转换后的轨道添加为第一轨道(默认轨道)。
我已经在整个网络上进行了搜索,但找不到任何关于此的信息。我通常只使用 Handbrake 进行视频转换,但它无法仅复制视频。任何帮助将不胜感激。