how to select one audio track when multiple audio tracks are there in a media file using mpv?
5,941
MPV provides --aid
, from the manual:
--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.
So yeah --aid=1
will be Hindi and --aid=2
will be Tamil.
The is also --alang
which should be capable to recognize language codes:
--alang=hin
should play Hindi if such a track is available--alang=tam
should play Tamil if Tamil is available- And
--alange=tam,hin
should play Tamil is available, and if not available shall try to find a Hindi track.
Notes:
ffprobe
will print the language codes (just likemediainfo
prints the full langauge).- There are also
--sid
and--slang
for subtitles.
Related videos on Youtube
Author by
shirish
A GNU/Linux and Debian user. Debian user for more than 5 years and yet still feel like a kid who has just started using the system yesterday.
Updated on September 18, 2022Comments
-
shirish almost 2 years
I have had media files (video + audio) which have more than one audio track. Sharing an example below -
$ 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
I have taken out the uniqueid and the name of the media file for privacy as well as not needed reasons. As can be seen by the mediainfo there are two audio tracks, one Hindi and the other Tamil. By default, it will take the hindi track as that is the default, but what if I want the Tamil track. How can I play this ?
-
grochmal almost 8 yearsDoes
#
switch between the audio tracks? (i.e. while playing withmpv
) -
shirish almost 8 yearsit does, but that doesn't solve my query as I want to do it via CLI and not by a switch, although good tip in itself.
-
Admin over 6 yearsIt's clearly a question about CLI, but the GUI (balloon-shaped) button is worth mentioning too.
-