当使用 mpv 的媒体文件中有多个音轨时,如何选择一个音轨?

当使用 mpv 的媒体文件中有多个音轨时,如何选择一个音轨?

我的媒体文件(视频+音频)包含多个音轨。下面分享一个例子——

 $ mediainfo somefile.mkv

General
Unique ID                                : xxxxxxxxxxxxxxxxxxxxxxxx
Complete name                            : somefile.mkv
Format                                   : Matroska
Format version                           : Version 4 / Version 2
File size                                : 1.35 GiB
Duration                                 : 2h 26mn
Overall bit rate                         : 1 314 Kbps
Movie name                               : somefile
Encoded date                             : UTC 2016-09-04 00:00:15
Writing application                      : mkvmerge v8.8.0 ('Wind at my back') 64bit
Writing library                          : libebml v1.3.3 + libmatroska v1.4.4
Cover                                    : Yes
Attachments                              : Cover.jpg

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : [email protected]
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 2h 26mn
Bit rate                                 : 1 024 Kbps
Width                                    : 1 280 pixels
Height                                   : 544 pixels
Display aspect ratio                     : 2.35:1
Frame rate mode                          : Constant
Frame rate                               : 24.000 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.061
Stream size                              : 1.05 GiB (78%)
Title                                    : somefile
Writing library                          : x264 core 142 r2479 dd79a61
Encoding settings                        : cabac=1 / ref=3 / deblock=1:-1:-1 / analyse=0x3:0x113 / me=umh / subme=10 / psy=1 / psy_rd=0.00:0.00 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=0 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=2pass / mbtree=1 / bitrate=1024 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Language                                 : Tamil
Default                                  : Yes
Forced                                   : No

Audio #1
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Format profile                           : Dolby Digital
Mode extension                           : CM (complete main)
Format settings, Endianness              : Big
Codec ID                                 : A_AC3
Duration                                 : 2h 26mn
Bit rate mode                            : Constant
Bit rate                                 : 224 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz
Frame rate                               : 31.250 fps (1536 spf)
Compression mode                         : Lossy
Stream size                              : 235 MiB (17%)
Title                                    : somefile
Language                                 : Hindi
Default                                  : Yes
Forced                                   : No

Audio #2
ID                                       : 3
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : HE-AAC / LC
Codec ID                                 : A_AAC
Duration                                 : 2h 26mn
Bit rate                                 : 64.0 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz / 24.0 KHz
Frame rate                               : 23.438 fps (1024 spf)
Compression mode                         : Lossy
Stream size                              : 67.1 MiB (5%)
Title                                    : somefile
Language                                 : Tamil
Default                                  : No
Forced                                   : No

出于隐私和不必要的原因,我已删除媒体文件的唯一 ID 和名称。从 mediainfo 可以看出,有两个音轨,一个是印地语,另一个是泰米尔语。默认情况下,它将采用印地语轨道,因为这是默认的,但如果我想要泰米尔语轨道怎么办?我怎样才能玩这个?

答案1

MPV提供--aid,来自手册:

--aid=<ID|auto|no>
       Select audio track. auto selects the default, no disables audio.  See  also  --alang.  mpv  normally  prints
       available audio tracks on the terminal when starting playback of a file.

所以是的,--aid=1将是印地语和--aid=2泰米尔语。

它还--alang应该能够识别语言代码:

  • --alang=hin如果有这样的曲目,应该播放印地语
  • --alang=tam如果泰米尔语可用,应该玩泰米尔语
  • 并且--alange=tam,hin应该可以播放泰米尔语,如果不可用,应尝试找到印地语曲目。

笔记:

  • ffprobe将打印语言代码(就像mediainfo打印完整的语言一样)。
  • 还有--sid--slang为字幕。

相关内容