当一部电影中有多种语言时,我们需要使用 FFMPEG 将特定语言(E-ac3)转换为 AC3(杜比数字)。该怎么做?

当一部电影中有多种语言时,我们需要使用 FFMPEG 将特定语言(E-ac3)转换为 AC3(杜比数字)。该怎么做?

我需要一个 FFMPEG 命令。下面是电影编解码器详细信息的屏幕截图,其中包含 4 种语言(均为 6 通道)。

请通过此链接查看电影编解码器详细信息

答案1

您可以使用 FFmpeg映射符号。

下面是复制(视频)和第一和第二个音频流并使用编解码器重新编码第三个音频流的示例ac3

ffmpeg -y -i in.mkv -map 0:v:0 -c:v:0 copy -map:a:0 0:a:0 -c:a:0 copy -map:a:1 0:a:1 -c:a:1 copy -map:a:2 0:a:2 -c:a:2 ac3 out.mkv

映射示例:

  • -map:a:0 0:a:0将输入的第一个音频流映射到输出的第一个音频流。(第一个00:a:0输入文件的索引in.mkv)。
  • -c:a:0 copy将编解码器copy应用于第一个输出音频流。

测试:
创建具有 3 个音频流的输入eac3(应用 3 种语言):

ffmpeg -y -f lavfi -i testsrc=size=192x108:rate=25 -f lavfi -i anullsrc=channel_layout=5.1:sample_rate=48000 -map:v 0:v -map:a:0 1:a -map:a:1 1:a -map:a:2 1:a -metadata:s:a:0 language=dut -metadata:s:a:1 language=ita -metadata:s:a:2 language=eng -c:v libx264 -crf 17 -c:a eac3 -t 10 in.mkv

注意:
没有声音anullsrc,所以我无法评估转换后的音频质量。
我认为输出音频的质量超出了问题的范围。

执行转换命令:

ffmpeg -y -i in.mkv -map 0:v:0 -c:v:0 copy -map:a:0 0:a:0 -c:a:0 copy -map:a:1 0:a:1 -c:a:1 copy -map:a:2 0:a:2 -c:a:2 ac3 out.mkv

使用 MediaInfo 工具测试输出:

General
...

Video
ID                                       : 1
...

Audio #1
ID                                       : 2
Format                                   : E-AC-3
Format/Info                              : Enhanced AC-3
Commercial name                          : Dolby Digital Plus
Codec ID                                 : A_EAC3
Duration                                 : 10 s 16 ms
Bit rate mode                            : Constant
Bit rate                                 : 448 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Bit depth                                : 32 bits
Compression mode                         : Lossy
Delay relative to video                  : 5 ms
Stream size                              : 548 KiB (32%)
Writing library                          : Lavc58.91.100 eac3
Language                                 : Dutch
Service kind                             : Complete Main
Default                                  : Yes
Forced                                   : No

Audio #2
ID                                       : 3
Format                                   : E-AC-3
Format/Info                              : Enhanced AC-3
Commercial name                          : Dolby Digital Plus
Codec ID                                 : A_EAC3
Duration                                 : 10 s 16 ms
Bit rate mode                            : Constant
Bit rate                                 : 448 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Bit depth                                : 32 bits
Compression mode                         : Lossy
Delay relative to video                  : 5 ms
Stream size                              : 548 KiB (32%)
Writing library                          : Lavc58.91.100 eac3
Language                                 : Italian
Service kind                             : Complete Main
Default                                  : No
Forced                                   : No

Audio #3
ID                                       : 4
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : A_AC3
Duration                                 : 10 s 16 ms
Bit rate mode                            : Constant
Bit rate                                 : 448 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Bit depth                                : 32 bits
Compression mode                         : Lossy
Stream size                              : 548 KiB (32%)
Writing library                          : Lavc58.91.100 ac3
Language                                 : English
Service kind                             : Complete Main
Default                                  : No
Forced                                   : No

如果您还想将音频从 6 个通道转换为 2 个通道,则必须对特定流应用转换过滤器(使用 Google 查找示例)。

相关内容