FFMPEG - 将 MKV 复制到 MP4 但添加 2.0 流

FFMPEG - 将 MKV 复制到 MP4 但添加 2.0 流

大家早,

目前使用 FFMPEG 只是将 UHD MKV 重新包装成 MP4 ...

ffmpeg -i File1.mkv -c:v copy -c:a copy -strict -2 File1.mp4

但是这些 MKV 仅具有 TrueHD 或 DTS-HD,当它们通过接收器播放到我的影院房间时,效果很好,但我的电视无法很好地将环绕声下混到 2.0。所以我想在 2.0 上添加一个额外的音轨。

我对这些东西不是很了解,一般都会用谷歌搜索所有东西。那么,我可以在脚本中添加一些东西来创建并向最终的 mp4 中添加 2.0 音频流吗?

特发性脊髓灰质炎

答案1

我们可以使用aresample过滤器将 DTS-HD 转换为立体声,如下所述这里.
为了添加第二个音频通道,我们可以使用-filter_complex流映射。


首先创建一个示例File1.mkv输入文件(用于测试)。
该示例基于以下内容邮政

ffmpeg -y -f lavfi -i testsrc=size=192x108:rate=25 -f lavfi -i anullsrc=channel_layout=5.1:sample_rate=48000 -c:v libx264 -crf 17 -strict -2 -c:a dts -t 10 File1.mkv

请注意anullsrc是静默的(仅用于测试)。


转换为立体声并将立体声添加为第二音频流的命令:

ffmpeg -y -i File1.mkv -filter_complex "[0:a]aresample=matrix_encoding=dplii[a]" -map:v 0:v -map:a:0 0:a -map:a:1 "[a]" -c:v copy -c:a:0 copy -c:a:1 aac -ac 2 -strict -2 File1.mp4

使用 MediaInfo 检查输出:

General
Complete name                            : File1.mp4
Format                                   : MPEG-4
...


Video
ID                                       : 1
Format                                   : AVC
...


Audio #1
ID                                       : 2
Format                                   : DTS
Format/Info                              : Digital Theater Systems
Codec ID                                 : mp4a-A9
Duration                                 : 10 s 5 ms
Bit rate mode                            : Constant
Bit rate                                 : 1 413 kb/s
Channel(s)                               : 6 channels
Channel layout                           : C L R Ls Rs LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 93.750 FPS (512 SPF)
Bit depth                                : 16 bits
Compression mode                         : Lossy
Stream size                              : 1.69 MiB (96%)
Default                                  : Yes
Alternate group                          : 1

Audio #2
ID                                       : 3
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 10 s 6 ms
Source duration                          : 10 s 27 ms
Bit rate mode                            : Variable
Bit rate                                 : 2 278 b/s
Maximum bit rate                         : 128 kb/s / 128 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 2.78 KiB (0%)
Source stream size                       : 2.79 KiB (0%)
Default                                  : Yes
Alternate group                          : 2
mdhd_Duration                            : 10005

注意:
我的回答仅涉及转换和映射语法 - 对质量没有任何保证。

相关内容