最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[Ch.13.5~13.7] [篇三] MPV Player 官方文檔中有關(guān)配置項OPTION的說明 v0.34.0

2023-02-19 12:20 作者:28283844972_bili  | 我要投稿

上一篇(篇二)主要講述了 MPV 播放器行為,視頻相關(guān)的 Option 文檔,本篇把剩余有關(guān)音頻,字幕,窗口這幾個較為重要的章節(jié)給續(xù)上,主講第13.5章節(jié)(音頻)至13.7章節(jié)(窗口)的文檔內(nèi)容,基本覆蓋了絕大多數(shù)日常使用的需求。還是那句話,部分配置項值得去研究和嘗試,但絕大多數(shù)保持默認(rèn)就好。個人渣翻,內(nèi)容上有疏漏或謬誤的地方下方評論區(qū)反饋。創(chuàng)作過程不易,給個免費的贊推給更多有需要的人。

以下節(jié)選自 mpv player 官方使用手冊中的 OPTION 章節(jié),版本 v0.34.0,不保證內(nèi)容的時效性,僅供參考,實際還是以官方發(fā)布的最新文檔為準(zhǔn),善用 Ctrl + F 快速定位你想要的內(nèi)容:?

Ch.13.5 音頻

--audio-pitch-correction=<yes|no>

如果啟用了該選項(默認(rèn)),以不同于正常速度播放會自動插入 scaletempo2 音頻濾鏡(audio filter,或稱音效濾鏡)。有關(guān)詳細(xì)內(nèi)容,請參見音頻濾鏡的段落。


--audio-device=<name>

使用給定的音頻設(shè)備,這包括音頻輸出名稱,例如 alsa,后面緊接著是 /,最后接上音頻輸出指定設(shè)備名。該選項的默認(rèn)值為 auto,使用默認(rèn)設(shè)備按照優(yōu)先級順序來嘗試每一項音頻輸出。

你可以用 --audio-device=help 列出音頻設(shè)備,這會以引號的形式輸出設(shè)備名,后面跟上一段描述。設(shè)備名就是那些你傳給 --audio-device 選項的內(nèi)容。API可以使用音頻設(shè)備列表屬性來檢索音頻設(shè)備列表。

雖然該選項通常采用上述方法中指定的其中一個字符串,但你也可以通過手動創(chuàng)建來強制大多數(shù)音頻輸出(AO)使用的設(shè)備。例如 name/force 會強制名為 name 的音頻輸出使用名為 foobar 的設(shè)備。不過,--ao 選項則會明確地強制使用特定的音頻輸出。為了避免此類沖突,請不要同時使用 --ao 和 --audio-device 選項。


--audio-exclusive=<yes|no>

開啟獨占輸出模式,在該模式中,系統(tǒng)通常被鎖定,且只有 mpv 可以輸出音頻。

這僅會在某些音頻輸出中起作用,例如 wasapi 以及 coreaudio,其他音頻輸出則會靜默地忽略該選項,對它們來說要么是沒有獨占模式這一說法,要么就是沒有在 mpv 中實現(xiàn)這一特性。


--audio-fallback-to-null=<yes|no>

如果沒有可以被打開的音頻設(shè)備,則表現(xiàn)出與給定 --ao=null 選項等同,通常在搭配 --audio-device 選項使用時會有效果:如果被選中的設(shè)備不存在也不會產(chǎn)生一個錯誤,客戶端API用戶(或者是Lua腳本)可以讓播放正常地進行下去,并且檢查 current-ao 和 audio-device-list 當(dāng)中的內(nèi)容以便于做出有關(guān)如何繼續(xù)執(zhí)行的高級決策。


--ao=<driver>

指定用到的音頻輸出驅(qū)動,請參見 Ch.14?AUDIO OUTPUT DRIVERS 章節(jié)獲取詳情以及可用驅(qū)動的描述。


--af=<filter1[=parameter1:parameter2:...],filter2,...>

指定用于音頻流的濾波器列表,參見 Ch.16 AUDIO FILTERS 章節(jié)獲取詳情以及可用濾波器的描述。存在用于修改先前指定列表的選項變體:--af-add,--af-pre,--af-del,不過你正常使用是用不到這些選項的。


--audio-spdif=<codecs>

指定應(yīng)該被采用的用于壓縮傳入音頻的編解碼器列表,這對于傳統(tǒng)的 S/PDIF 和 HDMI 都有效。

可能的編解碼器有 ac3,dts,dts-hd,eac3,truehd。可以通過采用 , 分隔的方式指定多個編解碼器。dts 指的是低碼率 DTS 核心,而 dts-hd 指的是 DTS MA(是一類隨系統(tǒng)支持的接收器),如果同時指定 dts 和 dts-hd,則表現(xiàn)等同于僅指定 dts-hd。

在早期的mpv版本中你可以使用 --ad 選項來強制(使用指派的) spdif 包裝器,已不再奏效。

警告

沒有充分的理由需要用到該選項,HDMI 是支持未壓縮的多通路 PCM 的,而且 mpv 也支持通過 FFmpeg 的新款 DCA 解碼器(基于 libdcadec 庫)來解碼無損 DTS-HD。


--ad=<decoder1,decoder2,...[-]>

依據(jù)解碼器的名稱,指定用到的音頻解碼器屬性列表。當(dāng)決定采用哪個解碼器時,通常會選擇首個匹配音頻格式的解碼器,如果不行那就換下一個,最后則會嘗試其他所有未被明確指定或者被選項排除載外的解碼器。

在列表結(jié)尾的 - 符號會抑制這種退回至其他不在 --ad 選項列表中的可用解碼器的行為, 位于實體條目之前的 + 則會強制使用該解碼器,這兩種用法通常不會用到,原因是它們會破壞正常的解碼器自動選擇機制,強烈不建議使用這些奇技淫巧。


--ad=help

列出所有可用的解碼器。

警告

不能對壓縮傳入音頻(AC3 and DTS via SPDIF/HDMI)使用該選項,請使用 --audio-spdif 選項。


--volume=<value>

設(shè)置啟動音量,0 表示靜音,100 表示無音量減小或放大作用,兼容傳入負(fù)值,不過一律按 0 值對待。

從 mpv 0.18.1 開始,該選項始終用來控制內(nèi)置混音器(又名 "softvol")。

注:外部音量一般是指設(shè)備揚聲器音量,這也見怪不怪,許多播放器都會內(nèi)置一個音量可視化組件調(diào)節(jié)的是內(nèi)置均衡器音量。


--replaygain=<no|track|album>

根據(jù)存儲在文件元數(shù)據(jù)中的回放增益(replay gain)值來調(diào)節(jié)音量增益。帶上 --replaygain=no 選項(也是默認(rèn)選項)則不會執(zhí)行調(diào)節(jié)。用了 --replaygain=track 則會使用音軌增益,使用 --replaygain=album 選項則會使用專輯增益(如果存在的話),否則退回使用音軌增益。


--replaygain-preamp=<db>

以分貝(db)為單位,把預(yù)放大增益應(yīng)用到選中的回放增益當(dāng)中(默認(rèn):0)。


--replaygain-clip=<yes|no>

防止由回放增益通過自動降低增益(默認(rèn))造成的削減,使用 --replaygain-clip=no 禁用該選項。


--replaygain-fallback=<db>

如果文件不含回放增益標(biāo)簽,則使用以 db 為單位的增益效果。該選項始終適用于回放增益無故停擺的情況。若使用了該選項,那么其他的回放增益選項不再起作用。


--audio-delay=<sec>

延遲音頻若干秒(傳入正或負(fù)浮點值),正值延遲音頻,負(fù)值延遲視頻。


--mute=<yes|no|auto>

設(shè)置啟動時音頻的靜音狀態(tài)(默認(rèn):no)

auto 是不建議使用且效果等同于 no 的潛在的參數(shù)值。

另見:--volume 選項


--softvol=<no|yes|auto>

不推薦使用/已失去原有作用!在 mpv 0.18.1 版本之前,該選項曾用來控制是使用音頻輸出驅(qū)動的音量控制還是mpv內(nèi)置的音量濾波器。

當(dāng)前的行為已變?yōu)槭冀K啟用 softvol,即正如被設(shè)為 yes 那般。而其他的參數(shù)行為已不再可用,盡管 auto 在大多數(shù)情況下仍然符合當(dāng)前行為。

no 參數(shù)行為仍可以通過 ao-volume 以及 ao-mute 屬性被部分地支持,但已沒有選項可以重置這些設(shè)置過的效果。


--audio-demuxer=<[+]name>

當(dāng)使用了 --audio-file 選項時使用該指定的音頻解復(fù)用器類型。在解復(fù)用器名稱之前使用 + 符號則表示強制使用,且會跳過部分檢查。通過 --audio-demuxer=help 選項給出可用的解復(fù)用器名稱。


--ad-lavc-ac3drc=<level>

為 AC-3 音頻流選擇動態(tài)范圍壓縮(Dynamic Range Compression,簡稱DRC)等級,<level> 是一項 0~1 區(qū)間內(nèi)的浮點值,其中 0 表示無壓縮(默認(rèn)),1 表示全壓縮(使得高音通路更加平靜,反之亦然)。同樣可接受達(dá)到 6 的(等級)值,不過僅作為實驗性質(zhì)。該選項僅對那些包含所需壓縮范圍信息的 AC-3 音頻流起作用。

標(biāo)準(zhǔn)已默認(rèn)托管開啟 DRC,但 mpv(以及一眾其他的播放器)為了更好的音質(zhì)會忽略該標(biāo)準(zhǔn)。


--ad-lavc-downmix=<yes|no>

是否向解碼器請求對聲道使用低混(默認(rèn):no)。部分解碼器,像是 AC-3,AAC 以及 DTS,可以在解碼的過程中重新合成音頻。所請求的輸出通道數(shù)是由 --audio-channels 選項進行設(shè)置,這對于在立體系統(tǒng)中使用環(huán)繞音會起到幫助。


--ad-lavc-threads=<0-16>

指定被用來解碼的線程數(shù)。實際是否支持多線程取決于編解碼器,即使寫有該設(shè)置,也僅支持部分無損編解碼器。0 意味著自動檢測設(shè)備中的核心數(shù)并使用該數(shù)值,直至最大值 16 為止(默認(rèn):1)。


--ad-lavc-o=<key>=<value>[,<key>=<value>[,...]]

向 libavcodec 解碼器傳入 AVOptions 數(shù)據(jù)結(jié)構(gòu)。注意,已打無需 o= 以及通過 AVOptions 系統(tǒng)傳入全部未知選項的補丁。AVOptions 完整列表可以在 FFmpeg 使用手冊中找到。

該選項是鍵值對列表選項,參見 Ch.4.5?List Options 章節(jié)以獲取詳情。


--ad-spdif-dtshd=<yes|no>, --dtshd, --no-dtshd

如果傳入的是 DTS,則使用 DTS-HD。

警告

該選項以及通過 --ad 選項開啟功能是不被推薦的,建議使用 --audio-spdif=dts-hd


--audio-channels=<auto-safe|auto|layouts>

控制應(yīng)該采用哪個聲道輸出音頻(例如是環(huán)繞還是立體)。有以下幾種可能:

--audio-channels=auto-safe

使用系統(tǒng)偏好的聲道布局,如果未找到(例如當(dāng)訪問硬件設(shè)備而非系統(tǒng)混音器時),強制使用立體聲道。一些音頻輸出可能會簡單地接受全部的布局并且由它們自己(對聲道)做低混處理。

該選項是默認(rèn)設(shè)置。

?--audio-channels=auto

無論接受與否都發(fā)送給音頻設(shè)備,優(yōu)先在音頻原始聲道布局中使用。當(dāng)用的是 HDMI 可能會導(dǎo)致問題(參考下面的警告)

--audio-channels=layout1,layout2,...

指定通過 ' , ' 分隔且應(yīng)該被允許的聲道布局的列表。技術(shù)上來說,該選項只會將濾波器輸出鏈調(diào)整至列表中最為匹配的布局,并且將結(jié)果傳入音頻API。而音頻API可能會選擇不同的聲道布局。

推薦給直接硬件輸出使用上這個模式,特別是通過 HDMI(參考下面的 HDMI 警告)。

--audio-channels=stereo

強制使用簡明的立體低混。相較于之前的條目該選項是個例外(參見以下有關(guān)具體實現(xiàn)的段落)

如果給定了一組布局,其中的各項條目可以是具體的聲道布局名稱(像是 5.1)或者是聲道數(shù),聲道數(shù)指的是默認(rèn)布局,比如說雙聲道指的是立體,六聲道指的是5.1。

想知道已定義好的默認(rèn)布局,參考 --audio-channels=help 選項的輸出,同樣也會列出揚聲器名稱,可以被用來表示任意的聲道布局(例如 fl-fr-lfe 表示 2.1)。

如果聲道布局列表中僅有1項條目,則解碼器會被要求依據(jù)輸出進行工作。這有時會觸發(fā)解碼器低混,可能會和 mpv 通常的低混有所差異。(只有部分解碼器支持重新合成音頻,例如 AC-3,AAC 或者 DTS,你可以使用 --ad-lavc-downmix=no 選項使得解碼器始終輸出到它的原始布局中去)一種結(jié)果是 --audio-channels=stereo 選項會觸發(fā)解碼器低混,而 auto 或者 auto-safe 則不會,即使它們最終選擇了立體聲道。之所以會發(fā)生這種情況是因為早在打開音頻設(shè)備之前就已經(jīng)決定好了是否要使用解碼器低混。

如果媒體文件(即解碼器)的聲道布局和音頻輸出聲道布局不匹配的話,mpv 將會嘗試插入一層轉(zhuǎn)換濾波器,你可能需要更改系統(tǒng)混音器的聲道布局以滿足你希望的輸出,既然 mpv 不會對此做出調(diào)控的話。另外在部分音頻輸出中,對于排除此類情況的故障可以使用 --audio-exclusive=yes 選項完全繞開系統(tǒng)混音器。

警告

當(dāng)通過 HDMI 調(diào)用音頻的過程中使用 auto 可能會導(dǎo)致問題。正常情況下操作系統(tǒng)會報告所有可能走 HDMI 的聲道布局,即使接收器不支持。如果接收器獲取到了一個不受支持的聲道布局,可能會發(fā)生隨機事件,例如舍棄額外的聲道或產(chǎn)生噪音。

推薦你把自己想要的布局設(shè)置到一份明確的白名單中。例如,大多數(shù)通過 HDMI 連接以及可以處理 7.1 聲道的 A/V 接收器應(yīng)該用 --audio-channels=7.1,5.1,stereo 的方式處理。


--audio-display=<no|embedded-first|external-first>

當(dāng)播放音頻文件時決定是否顯示藝術(shù)(專輯)封面以及帶有何種優(yōu)先級。通常顯示首個被找到的圖像,多余的圖像將作為可用的視頻軌。

no:當(dāng)播放音頻文件時完全不顯示視頻畫面。

embedded-first:優(yōu)先顯示內(nèi)嵌圖片,支持顯示內(nèi)嵌和外掛藝術(shù)封面(默認(rèn))。

external-first:優(yōu)先顯示外掛圖片,支持顯示內(nèi)嵌和外掛藝術(shù)封面。

該選項不會對普通的視頻流產(chǎn)生影響。

注:如果對媒體元數(shù)據(jù)感興趣的話可以參考一下這篇專欄:


--audio-files=<files>

當(dāng)瀏覽視頻時從外部導(dǎo)入音頻文件進行播放。

該選項是路徑列表選項,參見 Ch.4.5 List Options 章節(jié)以獲取詳情。


--audio-file=<file>

僅限命令行/配置文件的 --audio-files-append 選項的別名,每使用一次該選項就會添加一個新的音軌,具體類似于 --sub-file 選項的工作方式。


--audio-format=<format>

選擇用于從音頻濾鏡層到聲卡輸出上的采樣格式。可被采用的 <format> 值會在后續(xù)的 format 音頻濾鏡描述中被列出。

注:后續(xù)有一章節(jié)主要會將音頻濾鏡相關(guān)的內(nèi)容。


--audio-samplerate=<Hz>

選擇使用到的輸出采樣率(當(dāng)然聲卡同樣也受限于此)。如果選擇的采樣頻率和當(dāng)前媒體流中的不一致,將會向音頻濾鏡中插入 lavrresample 音頻濾鏡以彌補差異。


--gapless-audio=<no|yes|weak>

嘗試在文件變更點處不帶靜音或中斷地播放連續(xù)地音頻文件。默認(rèn):weak。

no:禁用無縫銜接音頻。

yes:使用為首個文件的播放而選擇的參數(shù)打開音頻設(shè)備,隨后保持開啟以完成無縫銜接播放。這意味著如果首個文件碼率比較低,那么下一個文件可能會被重采樣至相同的低碼率,從而導(dǎo)致降低聲音品質(zhì)。如果你播放的文件具有不同的參數(shù),空濾使用像是 --audio-samplerate 和 --audio-format 之類的選項以明確選擇共享的輸出格式是什么。

weak:正常來說,音頻設(shè)備會保持開啟(使用首次被初始化的格式)。如果解碼器輸出的音頻格式有變動,音頻設(shè)備會重啟。這意味著你通常會在那些用著相同設(shè)置進行編碼的文件中獲得無縫銜接的音頻,但在另外的情況中可能不會無縫銜接。在保持音頻設(shè)備開啟的精確條件下是實現(xiàn)細(xì)節(jié),把那個且可能會鎖著版本的變更而改動。目前來講,即使采樣格式有變化設(shè)備也將保持開啟,但采樣率是可變的。如果在仍有音頻的情況下視頻仍然在播放,嘗試使用無縫銜接也明確會被放棄。

注意

該特性是以一種簡單辦法實現(xiàn)的,且當(dāng)文件切換時依賴于音頻輸出設(shè)備的緩沖以實現(xiàn)繼續(xù)播放。如果播放新文件起步較慢,比如說因為是從遠(yuǎn)程網(wǎng)絡(luò)上播放或者是因為你特別制定了緩存設(shè)置需要時間來初始化緩存填充,那么已緩存的音頻可能會在新文件可以開始播放之前被丟棄。


--initial-audio-sync, --no-initial-audio-sync

當(dāng)開啟一個視頻文件或在跳轉(zhuǎn)事件之后,mpv 默認(rèn)會修改音頻流使之與視頻畫面從相同的時間戳處開始,無論是在起始處插入靜音或是裁剪掉首采樣。禁用該選項會使得播放器表現(xiàn)得像舊版 mpv 那樣:同時立即開始視頻和音頻播放,即使它倆的起始時間戳不盡相同,并且隨后視頻時間會逐步調(diào)整,如果之后有必要做到正確同步的化。


--volume-max=<100.0-1000.0>, --softvol-max=<...>

設(shè)置以百分制為單位的音量最大放大級別(默認(rèn):130),130 數(shù)值允許你將音量音量調(diào)節(jié)至正常水平的約兩倍。

不建議也不應(yīng)該使用 --softvol-max 這一選項別名。


--audio-file-auto=<no|exact|fuzzy|all>, --no-audio-file-auto

額外加載與視頻文件名相匹配的音頻文件,參數(shù)將指定怎樣的外部音頻文件才算匹配:

no:不要自動加載外部的音頻文件(默認(rèn))。

exact:加載帶有音頻文件擴展名的媒體文件名。

fuzzy:加載所有包含媒體文件名的音頻文件。

all:加載所有在當(dāng)前以及 --audio-file-paths 選項指定目錄中的音頻文件。


--audio-file-paths=<path1:path2:...>

等同于 --sub-file-paths 選項,但是作用于自動加載的音頻文件。

該選項是路徑列表選項,參見 Ch.4.5 List Options 章節(jié)以獲取詳情。


--audio-client-name=<name>

指定播放器報告給音頻API的應(yīng)用名。如果你想強制使用不同的音頻配置(例如帶有 PulseAudio),或是為了在使用 libmpv 庫時設(shè)置你自己的應(yīng)用名的情況下可能會比較有用。


--audio-buffer=<seconds>

設(shè)置音頻輸出的最小緩沖。實際上如果該選項被設(shè)置音頻設(shè)備可能會創(chuàng)建一個比這更大的緩沖。如果設(shè)備創(chuàng)建一個比這更小的緩沖,那么額外的音頻將會被緩沖至額外的軟件緩沖區(qū)中。

更大的緩沖會使得軟件音量以及其他濾波器反應(yīng)更慢,在變更播放速度方面引入額外的問題。并且會阻塞播放器變更音頻格式。更小的緩沖可能會導(dǎo)致音頻的丟失。

默認(rèn):0.2(200ms)


--audio-stream-silence=<yes|no>

部分音頻硬件(例如 A/V 接收器)經(jīng)常會忽略掉發(fā)送到 HDMI 的初始音頻,每當(dāng)經(jīng)過 HDMI 的音頻停止或恢復(fù)播放時都會發(fā)生。為了彌補這種情況,你可以開啟該選項使得在跳轉(zhuǎn)期間不會停止或重啟音頻,并且用靜音填充中間的間隙。同樣的,當(dāng)暫停播放時,音頻同樣也不會停止,而是在暫停期間保持靜音播放。需要注意的是如果沒有選擇音軌,音頻設(shè)備依舊會被立即關(guān)停。

不是所有的音頻輸出都支持該選項。


--audio-wait-open=<secs>

與 --audio-stream-silence=yes 選項一同使用才有意義。如果給定了該選項,播放器會在打開音頻設(shè)備之后,在向其發(fā)送實際音頻數(shù)據(jù)之前等待給定秒數(shù)的時間。如果你那寶貴的硬件會丟棄發(fā)送給它的前1~2秒的音頻數(shù)據(jù)則會有作用。如果 --audio-stream-silence=yes 沒有設(shè)置,選項就是妥妥地浪費時間。


Ch.13.6 字幕

注意

修改樣式和位置不是對所有的字幕都能起到效果,基于圖像的字幕(DVD,Bluray/PGS,DVB)因為根本原因無法被修改。ASS 格式的字幕正常是無法被特意修改的,但可以用 --sub-ass-override 選項控制覆蓋樣式。

之前部分用在文本字幕上的選項被稱為 --sub-text-*,現(xiàn)在被命名為 --sub-*,并且那些明確用于 ASS 的選項已經(jīng)從 --ass-* 重命名為 --sub-ass-*。以上這些均收錄在本小節(jié)中。


--sub-demuxer=<[+]name>

為 --sub-file 強制決定字幕解復(fù)用器的類型,請給出由 --sub-demuxer=help 選項打印得到的解復(fù)用器名稱。


--sub-delay=<sec>

延遲字幕 <sec> 秒,可以為負(fù)值。


--sub-files=<file-list>, --sub-file=<filename>

向外部字幕列表中提添加字符文件。

如果你僅用了一次 --sub-file 選項,則默認(rèn)顯示該字幕文件。

如果? --sub-file 被多次使用,可以在播放期間通過循環(huán)字幕軌的方式切換用到的字幕??梢酝瑫r顯示兩條字幕:使用 --sid 選項來選擇首個字幕的索引,然后用? --secondary-sid 選擇第二個索引(索引會在 --sid= 選項之后以媒體流列表的形式打印在終端上)。

--sub-files 是路徑列表選項(參見 List Options 章節(jié)以獲取詳情),比并且可以接受多個以 : (Unix平臺)或者 ; (Windows平臺)作為分隔的文件名,雖然 --sub-file 一次只能接受單個文件名,但可以多次使用添加多個文件。從技術(shù)上來說,--sub-file 是 --sub-files-append 選項在終端/配置文件中唯一的別名。


--secondary-sid=<ID|auto|no>

選擇次要字幕流,同 --sid 選項類似。如果選擇了次要字幕,那么同普通字幕一起會被渲染為頂部標(biāo)題樣式(即在屏幕的頂部顯示),并提供了同時渲染兩條字幕的辦法。

對于這項特性有一些附加說明,比如,位圖(bitmap)字幕始終會被渲染到它們通常所在的位置,因此選擇位圖字幕作為次要字幕將會導(dǎo)致字幕重疊。如果禁用了視頻畫面則始終不會顯示次要字幕。

注意

對于次要字幕來說,任何格式化標(biāo)簽的樣式和解釋說明都是不可用的。這和把 --no-sub-ass 選項用來去掉樣式是一個道理。

注意

如果首要(main)字幕流包含將字幕顯示在屏幕頂部的格式化標(biāo)簽,則會與次要字幕產(chǎn)生重疊。為了避免這種情況的發(fā)生,你可以使用 --no-sub-ass 來禁用掉首要字幕流中的樣式。


--sub-scale=<0-100>

文本字幕字體大小系數(shù)(默認(rèn):1)。

注意

這同樣也會影響 ASS 字幕,并且可能會導(dǎo)致錯誤的字幕渲染。請謹(jǐn)慎使用,或者使用 --sub-font-size 選項。


--sub-scale-by-window=<yes|no>

是否隨窗口大小縮放字幕(默認(rèn):yes)。如果被禁用,變更窗口大小將不會改變字幕字體大小。

類似 --sub-scale,該選項可能會破壞 ASS 字幕渲染。


--sub-scale-with-window=<yes|no>

使字幕字體大小關(guān)聯(lián)到窗體,而不是視頻畫面。如果你始終想要保持相同的字體大小會有所幫助,即使視頻畫面無法完全覆蓋窗口,例如,因為屏幕橫縱比與窗口橫縱比不匹配(并且播放器添加了黑邊框)。

默認(rèn):yes

該選項容易被叫錯。與之容易混淆且讀音相近的選項 --sub-scale-by-window 所不同的是,--sub-scale-with-window 選項仍然會隨著大致的窗口大小進行縮放,而其他的選項則不會。

僅會影響純文本字幕(或者如果 --sub-ass-override 選項值被設(shè)置得足夠高的話,也會影響到 ASS 字幕)


--sub-ass-scale-with-window=<yes|no>

類似 --sub-scale-with-window 選項,但只會影響 ASS 格式的字幕,類似 --sub-scale 可能會破壞 ASS 字幕渲染。

默認(rèn):no


--embeddedfonts=<yes|no>

使用內(nèi)嵌在 Matroska 容器文件和 ASS 腳本中的字體(默認(rèn):yes)。這些字體可被用于 SSA/ASS 字幕的渲染。


--sub-pos=<0-150>

指定字幕在屏幕上的位置。數(shù)值表示以屏幕高度作為百分比的字幕的垂直位置。100 表示原始位置,一般不是位于屏幕底部的絕對位置,而是會在底部和字母之間留有邊距。數(shù)值超過 100 會進一步向下移動字幕的位置。

警告

如果選項值超過 100,文本字幕可能會被裁剪掉(與之相反的是圖像字幕),這是 libass 自身的限制。

同樣也會影響到 ASS 字幕,并且除了上述問題以外可能會導(dǎo)致錯誤的字幕渲染。

使用 --sub-margin-y 選項可以更好地達(dá)成上述效果。


--sub-speed=<0.1-10.0>

用給定的值乘以字幕時間的時間戳,可以被用于修復(fù)基于畫面幀的字母格式的播放速度,只對文本字幕有效果。


--sub-ass-force-style=<[Style.]Param=Value[,...]>

覆蓋某些樣式或腳本信息參數(shù)。

這是一個字符串列表選項,參見 Ch.4.5 List Options 章節(jié)以獲取詳情。


注意

使用該選項可能會導(dǎo)致錯誤的字幕渲染。


--sub-ass-hinting=<none|light|normal|native>

設(shè)置字體提示類型,<type> 可以是:

none:無提示(默認(rèn))

light:FreeType 自動提示,輕量模式

normal:FreeType 自動提示,普通模式

native:字體原生提示

警告

開啟提示可能會導(dǎo)致文本錯位(在部分情況下應(yīng)該會和視頻背景相匹配),或者同一些編寫質(zhì)量較差的 ASS 腳本一起減少動畫的流暢度。建議不要使用該選項,除非實在需要。


--sub-ass-line-spacing=<value>

為 SSA/ASS 字幕渲染設(shè)置行間距值。


--sub-ass-shaper=<simple|complex>

設(shè)置被 libass 使用的文本布局引擎。

simple:僅使用 Fribidi,部分語言沒辦法正常渲染。

complex:使用 HarfBuzz,比較慢,但支持更多語言。

默認(rèn)是 complex,如果 HarfBuzz 沒有被編譯進 libass 中,靜默會還原為 simple。


--sub-ass-styles=<filename>

加載所有從指定文件中找到的 SSA/ASS 樣式并且用它們來渲染文本字幕。文件語法具體類似 SSA/ASS 的 [V4 Styles] / [V4+ Styles] 區(qū)段。

注意

使用該選項可能會導(dǎo)致錯誤的字幕渲染。


--sub-ass-override=<yes|no|force|scale|strip>

控制用戶所覆寫的樣式是否應(yīng)該被應(yīng)用。需要注意的是,所有這些覆蓋的樣式多少都會嘗試去計算是否或者不去把字幕看作符號。

no:由字幕腳本指定的那樣渲染字幕,(對原有樣式)不作覆蓋。

yes:應(yīng)用 --sub-ass-* 所有的樣式覆蓋選項,修改這些選項中的任何一個默認(rèn)樣式可能會導(dǎo)致錯誤的字幕渲染(默認(rèn))

force:類似 yes,但同樣也會強制使用所有的 --sub-* 選項,容易破壞渲染。

scale:類似 yes,但同樣也會應(yīng)用 --sub-scale 選項。

strip:從字幕中完全裁剪掉所有的 ASS 標(biāo)簽。這等同于舊版的 --no-ass / --no-sub-ass 選項。

該選項同樣也控制著部分位圖字幕(樣式)的覆寫,也包括在類似 SRT 格式中的 HTML 標(biāo)簽,盡管選項名當(dāng)中沒有提及。


--sub-ass-force-margins

如果字幕是 ASS 格式,當(dāng)字幕頭(toptitles)和字幕同時可用時,強制在它們兩之間放置黑色邊框作為間隔。

默認(rèn):no


--sub-use-margins

如果字幕是明文文本格式(或者 ASS 格式,如果 --sub-ass-override 選項值設(shè)置得足夠高的話),當(dāng)字幕頭和字幕同時可用時,在它們兩之間放置黑色邊框作為間隔。

默認(rèn):yes

從 --sub-ass-use-margins 選項重命名而來,要想把 ASS 字幕放置到邊框中(類似舊版選項那么做),同樣也要加上 --sub-ass-use-margins 選項。


--sub-ass-vsfilter-aspect-compat=<yes|no>

當(dāng)在播放扭曲變形的視頻畫面時為了和傳統(tǒng)VS濾鏡行為相兼容,拉伸 SSA/ASS 字幕。當(dāng)視頻是以正方像素(square pixels)存儲時此選項開關(guān)無效。

從歷史角度來看,渲染器最普遍地是用在 SSA/ASS 字幕格式上,VS濾鏡所具有地不可靠行為會導(dǎo)致字幕被過度拉伸,如果視頻以非常規(guī)的格式存儲且需要縮放顯示的話。該行為往往是令人厭煩且更新版本的VS濾鏡可能會表現(xiàn)出不同的行為。然而,許多現(xiàn)有的腳本通過向相反的方向進行修正以補償拉伸。因此,如果這樣的腳本“正?!憋@示的話,問題不會同預(yù)期那樣顯現(xiàn)出來。啟用該選項開關(guān)模擬舊版VS濾鏡的行為(雖不建議但被許多現(xiàn)存腳本期望使用)

默認(rèn)啟用。


--sub-ass-vsfilter-blur-compat=<yes|no>

由視頻分辨率而不是腳本分辨率縮放 /blur 標(biāo)簽(默認(rèn)開啟)。在VS濾鏡中這是一項bug,因為某些緣故,用于兼容的名稱不再固定。

請注意該選項使用實際的視頻分辨率來計算偏移縮放系數(shù),而不是視頻濾鏡鏈或者視頻輸出(VO)所用到的分辨率。


--sub-ass-vsfilter-color-compat=<basic|full|force-601|no>

像 (xy-)vsfilter 那樣調(diào)整顏色(默認(rèn):basic)。從歷史角度來說,VSFilter 并不是已知的色彩空間(色域),僅作為被用于 SD 視頻的色彩空間時這本身沒啥問題,但當(dāng)這一切換到 HD(BT.709)時,VSFilter 依舊是將 RGB 顏色轉(zhuǎn)換成 BT.601,將它們渲染到視頻幀內(nèi),并處理為視頻輸出(VO),這本該用 BT.709 轉(zhuǎn)換為 RGB,結(jié)果是意外調(diào)整了字幕顏色。

basic:僅處理 BT.601->BT.709 調(diào)整(色調(diào)映射),如果打算顯示字幕則需要該項(默認(rèn))。

full:使用所有被 libass 和 mpv 支持的色彩空間來處理全 YCbCr Matrix 的字幕頭??赡軙斐审w驗較差的斷裂感且并非為了兼容性所必須的設(shè)置(如果希望這么做的話),這也就是為什么該參數(shù)不是作為默認(rèn)項。

force-601:強制 BT.601->BT.709 調(diào)整,無視字幕頭和視頻色彩空間。

no:完全禁用色彩調(diào)整,所有的顏色均屬于 RGB(色域)。

選擇除 no 以外的任意參數(shù)項都會讓字幕顏色最終顯示效果取決于視頻的色彩空間,并且從理論上來說,例如在另外的視頻文件中將不會復(fù)用字幕腳本。--sub-ass-override 選項不會影響該選項的解析。


--stretch-dvd-subs=<yes|no>

當(dāng)播放損壞的?DVD 上的扭曲畫面時為了讓字體的觀感更好些,拉伸 DVD 字幕。然而當(dāng)視頻是以方形像素的形式存儲時,該選項開關(guān)無效,也就是說 DVD 輸入無法用于此案例。

許多工作室傾向于在制作 DVD 時為方形像素格式設(shè)計使用位圖字體,導(dǎo)致字體在 DVD 播放器上播放時看上去被拉伸了,該選項就是為了修復(fù)這個問題,然而可能的代價就是部分字幕會出現(xiàn)對齊錯亂的問題。(例如符號轉(zhuǎn)換)

默認(rèn)禁用。


--stretch-image-subs-to-screen=<yes|no>

拉伸 DVD 或其他圖像字幕到屏幕上,忽略視頻畫面的邊距。這與 --sub-use-margins 選項之于文本字幕有著類似的作用,但文本字幕的自延伸除外,而不僅限于復(fù)位。(至少大多數(shù)時候是無法避免的,理論上因為圖像位圖可以由單個覆蓋全屏的位圖構(gòu)成,并且播放器無法確切知道文本部分位于何處。)

該選項不會正確顯示字幕,謹(jǐn)慎使用。

默認(rèn)禁用。


--image-subs-video-resolution=<yes|no>

使用視頻分辨率重載圖像字幕(默認(rèn):no)。一般地,字幕畫布會適應(yīng)視頻畫布(例如信箱布局模式),設(shè)置該選項會使用視頻畫面大小作為字幕畫布大小。用來測試損壞的字幕可能會有用,這種情況經(jīng)常出現(xiàn)在當(dāng)視頻已被轉(zhuǎn)碼,然而嘗試保留舊字幕時。


--sub-ass, --no-sub-ass

原生地渲染 ASS 字幕(默認(rèn)啟用)。

注意

該選項已被 --sub-ass-override=strip 選項所阻止,你可能還需要 --embeddedfonts=no 選項用以達(dá)到相同的行為。同樣地,使用 --sub-ass-override=style 選項在不過度破壞字幕的前提下應(yīng)該給與更好的效果。

如果 --no-sub-ass 選項被指定,播放時剔除并忽略所有的標(biāo)簽和樣式聲明。字幕渲染器則會使用通過 --sub- 選項指定的字體樣式。

注意

使用 --no-sub-ass 選項可能會導(dǎo)致 ASS/SSA 字幕的非正常渲染或完全損壞。有時對于強制覆蓋 ASS 字幕樣式會有幫助,但通常應(yīng)該避免使用。


--sub-auto=<no|exact|fuzzy|all>, --no-sub-auto

加載與視頻文件名相匹配的額外字幕文件。參數(shù)指定如何匹配外部字幕文件。默認(rèn)啟用 exact 參數(shù)項。

no:不要自動加載外部字幕文件。

exact:加載名稱中帶有字幕文件擴展以及可能地語言后綴(默認(rèn))的媒體文件。

fuzzy:加載所有包含媒體文件名的字幕。

all:加載當(dāng)前目錄下以及 --sub-file-paths 選項指定的目錄中全部的字幕。


--sub-codepage=<codepage>

你可以使用該選項來指定字幕編碼頁,uchardet 會被用來猜測字符集(如果 uchardet 沒有編譯進 mpv 當(dāng)中,那么 utf-8 默認(rèn)有效。)

該選項的默認(rèn)值是 auto,啟用自動檢測。

以下步驟被用于確定最終的編碼頁,順序如下:

  • 如果指定的編碼頁帶有 + 符號標(biāo)識,則使用該頁碼。

  • 如果數(shù)據(jù)看起來像 UTF-8 格式,則假定它為 UTF-8。

  • 如果 --sub-codepage 選項被設(shè)置為特定的編碼頁,則用之。

  • 采用 uchardet,并且如果成功的話,則用之。

  • 否則使用 UTF-8-BROKEN


偽編碼頁 UTF-8-BROKEN通常被用于內(nèi)部,如果顯式設(shè)置,當(dāng)遇到非法 UTF-8 字節(jié)序列而回退時,字幕會被解釋為帶 "Latin 1" 的 UTF-8 編碼。在該模式下始終不會涉及 iconv(字符集轉(zhuǎn)換)。

該選項在 0.23.0 版本的mpv中被修改,在 0.24.0 的版本中完全移除了對舊語法的支持。

注意

該選項僅對文本字幕起作用,其他類型的字幕(尤其是?mkv 文件中的字幕)始終會被假定為 UTF-8。


--sub-fix-timing=<yes|no>

調(diào)整字幕時間戳用于移除字幕之間的次要間距或重疊(如果差距小于210ms,間距或重疊則會被移除)。


--sub-forced-only=<auto|yes|no>

僅顯示例如由 --slang 選項選擇的、強制用于 DVD 字幕流的字幕(默認(rèn):auto)。當(dāng)設(shè)為 auto,且當(dāng) --subs-with-matching-audio 選項開啟并且選擇非強制媒體流時才會啟用。開啟該選項將會隱藏字幕流中全部的字幕,而不會區(qū)分字幕流中的強制和非強制事件。


--sub-fps=<rate>

指定字幕文件的幀率(默認(rèn):視頻幀率),僅影響文本字幕。

注意

<rate> 指定的幀率針對基于畫面幀的字幕文件則起到加速作用,針對基于時間戳的字幕則起到減緩作用。

另行參見:--sub-speed 選項。


--sub-gauss=<0.0-3.0>

將高斯模糊應(yīng)用到圖像字幕上(默認(rèn):0),這將有助于讓像素化的 DVD/Vobsubs 看起來更好些。非0數(shù)值也會開啟軟件層面的字幕縮放,可能會放慢字幕的顯示速度。

注意

絕對不要應(yīng)用到文本字幕上。


--sub-gray

將圖像字幕轉(zhuǎn)為灰度圖,可能會有助于讓黃色的 DVD/Vobsubs 看起來更好一些。(字面意思)

注意

絕對不要用于文本字幕。


--sub-paths=<path1:path2:...>

強烈不推薦使用,請使用 --sub-file-paths 選項。


--sub-file-paths=<path-list>

指定額外的目錄用于搜索與視頻匹配的字幕。可以通過 : (在 Windows 上使用 ;)來分隔多個目錄。路徑可以是相對或絕對路徑,相對路徑會被解釋為相對于視頻文件所在目錄。如果文件是 URL,僅會掃描絕對路徑以及 sub 配置目錄的子目錄。

該選項是路徑列表選項,參見 Ch.4.5 List Options 章節(jié)以獲取詳情。


--sub-visibility, --no-sub-visibility

可被用于禁止顯示字幕,但依舊會選擇并解碼字幕。


--secondary-sub-visibility, --no-secondary-sub-visibility

可被用于禁止顯示次級字幕,但依舊會選擇并解碼字幕。

注意

如果設(shè)置 --sub-visibility=no,次級字幕也會被隱藏,無論 --secondary-sub-visibility 選項如何設(shè)置。


--sub-clear-on-seek

(作用不明,沒啥用)

注:官方文檔都這么說了,實在想要了解的話去看原文吧。


--teletext-page=<1-999>

該選項作用于 dvb_teletext 字幕流,且如果 FFmpeg 在編譯時已支持該特性的話。


--sub-past-video-end

當(dāng)視頻播放到最后一幀之后,如果該選項被啟用,字幕將會繼續(xù)基于音頻的時間戳進行更新。否則,視頻最后一幀畫面的字幕會停留在屏幕上。

默認(rèn):不可用


--sub-font=<name>

指定用于字幕的字體,而不是由它們自行指定特別的字體。默認(rèn)是 sans-serif。


注意

當(dāng)渲染的是 ASS 字幕時,--sub-font 選項(以及其他諸多樣式同 --sub- 相關(guān)的選項)會被忽略,除非指定了 --no-sub-ass 選項。

該選項曾被用于支持字體設(shè)置模式,從 0.13.0 版本的 libass 起停止使用該功能。


--sub-font-size=<size>

指定字幕字體大小,單位是以高度為 720 像素窗口上按比例縮放后的像素大小。實際像素大小隨著窗口的高度按比例進行縮放:如果窗口高度超過或小于 720 像素,文本的實際大小也會隨之增加或減小。

默認(rèn):55


--sub-back-color=<color>

參見 --sub-color 選項說明。指定用于字幕文本背景的顏色。你可以使用 --sub-shadow-offset 選項來調(diào)整背景框相對于文本的大小。


--sub-blur=<0..20.0>

高斯模糊系數(shù)為 0 意味著不采用模糊處理(默認(rèn))。


--sub-bold=<yes|no>

設(shè)置文本格式為粗體


--sub-italic=<yes|no>

設(shè)置文本格式為斜體


--sub-border-color=<color>

參見 --sub-color 選項說明。指定用于字幕字體邊框的顏色。

注意

當(dāng)指定 --sub-back-color 選項(或者更準(zhǔn)確地說:當(dāng)沒有設(shè)置該選項為完全透明時)時則忽略。


--sub-border-size=<size>

字幕字體邊框按比例縮放后的像素大?。▍⒁?--sub-font-size 選項以獲取詳細(xì)內(nèi)容)。數(shù)值為 0 則禁用邊框。

默認(rèn):3


--sub-color=<color>

指定用于沒有樣式的文本字幕顏色。

按照 r/g/b 的形式指定顏色,其中各顏色分量是由 0.0 ~ 1.0 范圍內(nèi)的數(shù)值指定。同樣也可以通過使用 r/g/b/a 形式指定透明度,其中 alpha 值為 0 表示完全透明,1.0 表示不透明。如果未給定 alpha 分量,則使用的顏色為 100% 不透明。

向選項中傳入單個數(shù)值用于設(shè)置字幕灰度,并且 gray/a 的形式允許你額外指定 alpha 分量。

作為替代,顏色同樣可以按照 #RRGGBB 的形式指定為 RGB 十六進制三字節(jié),其中每個2數(shù)位組表示范圍從 0(00) ~ 255 (FF)的色彩值。例如,#FF0000 表示紅色,這與網(wǎng)頁色彩類似,Alpha 通過 #AARRGGBB 給定。


--sub-margin-x=<size>

按比例縮放像素后的、用于字幕的左右屏幕邊距(參見 --sub-font-size 選項以獲取詳細(xì)內(nèi)容)。

該選項指定字幕離左邊框,同樣也有離右邊框、會被較長文本突破的距離。

默認(rèn):25


--sub-margin-y=<size>

按比例縮放像素后的、用于字幕的上下屏幕邊距(參見 --sub-font-size 選項以獲取詳細(xì)內(nèi)容)。

該選項指定了無樣式文本字幕的垂直邊距。如果你只是想要增加字幕垂直方向的位置,請使用 --sub-pos 選項。

默認(rèn):22


--sub-align-x=<left|center|right>

控制文本字幕應(yīng)該與屏幕上的哪個角對齊(默認(rèn):center)。

絕對不要用在 ASS 字幕上,除非在 --no-sub-ass 模式下。同樣地,該選項也不能用在圖像字幕上。


--sub-align-y=<top|center|bottom>

控制多行字幕該如何與自身對齊方位無關(guān)地進行調(diào)整(默認(rèn):auto,受 --sub-align-y 的定義進行調(diào)節(jié))。推薦向左調(diào)節(jié)使得字幕更加易讀。


--sub-ass-justify=<yes|no>

如果 --sub-ass-override 選項沒有被設(shè)為 no,則將 --sub-justify 選項的定義應(yīng)用到 ASS 字幕上,默認(rèn):no。


--sub-shadow-color=<color>

參見 --sub-color 選項說明,用于字幕文本陰影的顏色。


--sub-shadow-offset=<size>

指定按比例縮放像素后字幕文本陰影的偏移大?。▍⒁?--sub-font-size 選項以獲取詳細(xì)內(nèi)容)。數(shù)值 0 表示禁用陰影。

默認(rèn):0


--sub-spacing=<size>

指定按比例縮放像素后水平字幕字體的間隔大小(參見 --sub-font-size 選項以獲取詳細(xì)內(nèi)容)。該值是在普通字母間隔的大小上進行擴增,允許使用負(fù)值。

默認(rèn):0


--sub-filter-sdh=<yes|no>

采用能夠去除為聽力障礙或困難人群所準(zhǔn)備的字幕附件的濾鏡。該選項特別用于英語,但對于其他語言也可能會起到一部分作用。意圖是可以始終開啟該選項,雖這樣也可能無法去除所有的附加部分。去除講述人標(biāo)簽(例如 MAN:),將圓括號以及方括號內(nèi)的任何文本轉(zhuǎn)為大寫。

默認(rèn):no


--sub-filter-sdh-harder=<yes|no>

使用 harder SDH 濾鏡(如果已啟用 --sub-filter-sdh 選項),同樣也會去除講述人標(biāo)簽以及對圓括號中的內(nèi)容使用小寫或大寫字母。

默認(rèn):no


--sub-filter-regex-...=...

設(shè)置正則表達(dá)式列表來匹配文本字幕,并且移除任意與之匹配的行(默認(rèn):留空)。該選項是字符串列表選項,請參見 List Option 以獲取詳細(xì)內(nèi)容。一般來說,你應(yīng)該使用 --sub-filter-regex-append=<regex> 選項,其中的每項都會添加一個新的正則表達(dá)式,而不需要擔(dān)心(參數(shù)長度)溢出的問題。

列表項會按順序進行匹配,如果匹配到某個正則表達(dá)式,則停止匹配,并且該字幕行會被丟棄。默認(rèn)地,與文本相對等的是 ASS 事件(如果字幕格式有所不同,則始終會進行轉(zhuǎn)換)的文本字段,可能會包含用于格式化的標(biāo)簽。匹配過程對大小寫不敏感,但這個過程具體是怎樣完成的取決于 libc,并且可能只對 ASCII 字符起作用,無法用在位圖/圖像字幕上。在一些較底層的OS上不可用(需要 POSIX 正則的支持)。

從技術(shù)上來講,使用正則列表來匹配內(nèi)容顯得有些多余,既然你可以只使用單個拼接了多個正則表達(dá)式(來達(dá)到同樣的目的)的話。不過這可以幫助你逐步診斷問題所在,每次使用臨時禁用或啟用個別的濾鏡。

警告

該功能屬于實驗性質(zhì),可能會在將來調(diào)整選項語義,并且如果你使用了該選項,你應(yīng)該做好之后要更新選項的準(zhǔn)備,包括使用非常原始,或者部分用于控制大小寫敏感的辦法來替換原先的正則內(nèi)容。


--sub-filter-jsre-...=...

作用同 --sub-filter-regex 一致,只不過需要傳入 JavaScript 正則表達(dá)式。與所有的 --sub-filter-regex-* 控制選項共享/受之影響(見下文),并且同樣也是實驗性質(zhì),僅需 JavaScript 特性支持。


--sub-filter-regex-plain=<yes|no>

決定是否首先將 ASS“文本”字段轉(zhuǎn)為普通文本(默認(rèn):no)。該選項會剔除 ASS 標(biāo)簽并使用 ASS 指令,像是 \N 換行。如果是多行結(jié)果那么(在頭尾)固定 ^ 以及 $ 正則表達(dá)式匹配每一行,但依然會丟棄所有匹配到的行的全部內(nèi)容。


--sub-filter-regex-warn=<yes|no>

記錄警告級別的日志,而不是詳細(xì)級別(默認(rèn):no),對測試有用。


--sub-filter-regex-enable=<yes|no>

決定是否啟用正則表達(dá)式濾鏡(默認(rèn):yes),需要注意的是如果沒有向 --sub-filter-regex 選項中添加正則表達(dá)式列表,設(shè)置該選項為 yes 是沒有任何作用的,這意味著臨時啟用或禁用濾鏡會容易得多。


--sub-create-cc-track=<yes|no>

為每條視頻流創(chuàng)建一條隱藏式字幕軌(closed captions track or CC track)(默認(rèn):no)。唯一的目的是讓數(shù)據(jù)軌在開始播放時可被選擇,而不是稍后惰性創(chuàng)建。該功能只能用于 ATSC A53 Part 4 Closed Captions(使用編解碼器 eia_608 作為字幕軌被 mpv 顯示)。CC 字幕軌會被標(biāo)記為“默認(rèn)”并且根據(jù)普通字幕軌的選取規(guī)則進行選擇。

如果視頻流不含隱藏字幕,或者如果沒有任何視頻可解碼,那么 CC 字幕軌留空且不會顯示任何文本。


--sub-font-provider=<auto|none|fontconfig>

決定使用提供給后端的哪種 libass 字體(默認(rèn):auto)。auto 將會嘗試使用原生的字體提供器:在 Linux 上是 fontconfig,在 macOS 上是 CoreText,在 Windows 上是 DirectWrite。fontconfig 表示強制使用 fontconfig 字體提供器,如果 libass 構(gòu)建時加入支持的話(如果不支持,則行為類似 none)。

none 字體提供器會有效禁用系統(tǒng)字體,但仍會嘗試使用內(nèi)嵌的字體(除非設(shè)置了 --embeddedfonts=no 選項,這與其他所有字體提供器的行為一致),如果提供了 subfont.ttf ,以及 fonts 子目錄下的字體文件。(回退行為會比其他字體提供器更加嚴(yán)格,并且如果字體名不匹配,可能不會渲染任何找不到對應(yīng)字體的文本。)


Ch.13.7 窗口

--title=<string>

設(shè)置窗口標(biāo)題。該選項用于視頻窗口,并且如可能的話,也能設(shè)置音頻流標(biāo)題。

警告

該功能的一個問題是會導(dǎo)致 CPU 的高使用率,取決于用到的屬性。變更窗口標(biāo)題往往是一項較慢的操作,并且如果標(biāo)題隨著每幀畫面都要變動的話,可能會嚴(yán)重影響播放。


--screen=<default|0-32>

在多顯示器配置當(dāng)中(即一臺電腦接入多項顯示輸出),該選項會通知 mpv 該在哪塊屏幕上顯示視頻畫面。

注意(X11)

該選項無法在所有的窗口管理器上都能正常工作。在某些情形中,你可以嘗試使用 --geometry 選項來直接定位到窗口。也有可能是窗口管理器提供了原生功能來控制哪塊屏幕上的應(yīng)用窗口應(yīng)該被使用。

另見 --fs-screen 選項。


--screen-name=<string>

在多顯示器配置當(dāng)中,該選項會基于從視頻后端得到的屏幕名稱,通知 mpv 該在哪塊屏幕上顯示視頻畫面。--screen 選項當(dāng)中相同的附加說明也會應(yīng)用于此。如果 --screen 選項被明確設(shè)定,則忽略該選項且不做任何處理。


--fullscreen, --fs

全屏播放


--fs-screen=<all|current|0-32>

在多顯示器配置當(dāng)中(即一臺電腦接入多項顯示輸出),該選項會通知 mpv 把相應(yīng)的屏幕變?yōu)槿溜@示。如果使用 current 選項,mpv 將退回至用戶利用 screen 選項提供的內(nèi)容(以此確定該在哪塊屏幕上進行全屏顯示)。

注意(X11)

該選項僅在窗口管理器能夠理解 EWMH_NET_WM_FULLSCREEN_MONITORS 指示的前提下正常運作。

注意(macOS)

all 選項在 macOS 上不起作用且行為類似 current。

另見 --screen 選項說明。


--fs-screen-name=<string>

在多顯示器配置當(dāng)中,該選項會通知 mpv 基于從視頻后端得到的屏幕名稱把相應(yīng)的屏幕變?yōu)槿溜@示。--fs-screen 選項當(dāng)中相同的附加說明也會應(yīng)用于此。如果 --fs-screen 選項被明確設(shè)定,則忽略該選項且不做任何處理。


--keep-open=<yes|no|always>

當(dāng)播放或跳轉(zhuǎn)超過文件結(jié)尾處,并且沒有文件可播放時(同時沒有使用 --loop 選項),不要退出,而是暫停播放器。當(dāng)嘗試跳轉(zhuǎn)至文件結(jié)尾之后時,播放器將會試圖跳轉(zhuǎn)到最后一幀處。

一般來說,該選項的動作類似在文件結(jié)尾處(EOF)進行 set pause yes 操作,無論 --keep-open-pause=no 選項是否被設(shè)置。

可給定以下參數(shù):

no:如果當(dāng)前文件已結(jié)束,轉(zhuǎn)到下一個文件或退出。(默認(rèn))

yes:如果當(dāng)前文件時列表中的最后一項也不要退出播放器,等同于不帶參數(shù)的 --keep-open 選項。

always:類似 yes,但同時會應(yīng)用到播放列表最后一項之前的文件上,這意味著將不會自動轉(zhuǎn)到下一個文件進行播放。

注意

當(dāng)使用 --frames 選項時,該選項不會如您所愿,具體來說跳轉(zhuǎn)到下一個文件這件事,如果(--frames)使用了 force 參數(shù)同樣也會退出播放。

同樣,如果發(fā)生錯誤或非尋常的事件,播放器也會無條件地退出。

從 0.6.0 版本的 mpv 開始,如果播放列表中還有下一個文件,或者循環(huán)播放列表的話則不會暫停。大致上,當(dāng)播放器能夠正常退出時會選擇暫停,但實際上有個別不符合上述情形的案例(例如 mpv --keep-open file.mkv /dev/null 會正常播放 file.mkv,隨后在打開 /dev/null 虛擬設(shè)備文件時失敗,隨即退出)。(在 0.8.0 版本的 mpv 中引入了 always 參數(shù),恢復(fù)了原有的行為。)


--keep-open-pause=<yes|no>

如果設(shè)為 no,僅僅會停在文件末尾,并且當(dāng)你向后跳轉(zhuǎn)直至再次停止的地方繼續(xù)播放,而不是在 --keep-open 選項被激活時選擇暫停。默認(rèn):yes。


--image-display-duration=<seconds|inf>

如果當(dāng)前文件是圖像,用給定的秒數(shù)來播放圖像(默認(rèn):1)。inf 意思是始終保持文件開啟(直到用戶手動停止播放)。

不像 --keep-open 選項,(在此情景中)播放器不會暫停,而是會持續(xù)播放直至?xí)r間截止。(在播放過程中理應(yīng)不會占用任何資源。)

該選項將圖像文件認(rèn)定為僅有1幀視頻畫面且沒有音頻流。播放器可能會認(rèn)定某個非圖像(輸入)為圖像,比方說,如果 --length 選項被用來減少視頻幀的長度為1幀,或者如果你跳轉(zhuǎn)到最后一幀的話。

該選項對作用于 mf:// 或 --merge-files 的幀率無影響。為此,請使用 --mf-fps 選項。

設(shè)置了 --image-display-duration 選項會隱藏 OSC 并且咋命令行輸出中不會追蹤播放時間,并且也不會在編碼過程中復(fù)制圖像幀。為了強制播放器進入“啞巴模式”并且精確計算秒數(shù),或者在編碼期間復(fù)制圖像,你需要使用 --demuxer=lavf --demuxer-lavf-o=loop=1,并且使用 --length 或者 --frames 選項在特定時間后停止。


--force-window=<yes|no|immediate>

(強制)創(chuàng)建視頻輸出窗口,即使沒有視頻輸入。當(dāng)假定 mpv 為 GUI 應(yīng)用時該選項會有用。目前,(強制創(chuàng)建的)窗口大小始終為 640x480,并且從屬于 --geometry,--autofit 以及類似的選項。

警告

窗口僅會在初始化完成之后創(chuàng)建(以確保如果視頻畫面大小與 --force-window 設(shè)定默認(rèn)窗口大小不一致的情況下,默認(rèn)的窗口安置依舊能正常運作)。如果沒能正確初始化可能會導(dǎo)致問題,比如說在網(wǎng)絡(luò)連接較差時打開 URL 鏈接,或是打開一個損壞的視頻文件。immediate 模式(即刻模式)可被用于始終在程序啟動期間就創(chuàng)建好窗口,但同時也會引入額外的問題。


--taskbar-progress, --no-taskbar-progress

(僅窗口環(huán)境)啟用/禁用以任務(wù)條的形式渲染播放進度(Windows 7 及以上版本)。

默認(rèn)開啟。


--snap-window

(僅窗口環(huán)境)將播放器窗口對齊至屏幕邊緣。


--ontop

將播放器窗口始終置于其他窗口之上。

在 Windows 平臺上,如果配合全屏模式使用,則會導(dǎo)致 mpv 被當(dāng)作是繞開桌面窗口管理器(DWM)且排除在全屏模式之外的窗口來對待。


--ontop-level=<window|system|desktop|level>

(僅 macOS 平臺)設(shè)置窗口置頂程度的級別(默認(rèn):window)

window:置于其他所有窗口之上。

system:置于類似任務(wù)欄,菜單欄以及Dock欄等系統(tǒng)部件之上。

desktop:置于窗口后方的桌面以及桌面圖標(biāo)之上。

level:表示級別的數(shù)字編號。


--focus-on-open, --no-focus-on-open

(僅 macOS 平臺)創(chuàng)建時強制開啟視頻窗口并且使之呈現(xiàn)在大多數(shù)窗口之前,默認(rèn)啟用。


--border, --no-border

播放視頻畫面時帶上窗口邊框以及潤飾,由于該選項默認(rèn)啟用,使用 --no-border 以禁用標(biāo)準(zhǔn)窗口潤飾。


--on-all-workspaces

(僅 X11 以及 macOS 平臺)在全部的虛擬桌面上顯示視頻窗口。


--geometry=<[W[xH]][+-x+-y][/WS]>, --geometry=<x:y>

調(diào)節(jié)初始窗口的位置或尺寸大小。W 和 H 分別用來設(shè)置窗口的像素大小。x 和 y 分別用來指定從屏幕左上角起到顯示畫面的左上角為止,以像素為單位進行測算的窗口位置。如果在參數(shù)之后給定了百分比符號(%),則會將數(shù)值換算成按對應(yīng)方位屏幕的百分比大小。指定(窗口)位置類似于標(biāo)準(zhǔn) X11 --geometry 選項的格式,例如 +10-50 表示“放置在離左邊框10個像素單位以及離底部邊框50個像素單位的位置”,--20+-10 表示“放置在超過右邊框20個像素單位并且超過上邊框10個像素單位的位置”。緊跟在末尾 / 的整數(shù)指示窗口應(yīng)該顯示在哪個工作區(qū)域(虛擬桌面,僅 X11)。

如果使用了 --wid 選項來指定一個外部窗口,則忽略該選項。

該坐標(biāo)是相對于完全支持 --screen 視頻輸出驅(qū)動的 --screen 給定的屏幕而言。

注意

通常僅能被圖形界面的視頻輸出(VO)所支持,在編碼模式下則忽略。

注意(X11)

該選項無法保證在所有的窗口管理器中都能正常運作。

另見 --autofit 以及 --autofit-larger 選項用于在不改變縱橫比的情況下將窗口調(diào)整為給定的尺寸大小。


--autofit=<[W[xH]]>

在不變更窗口縱橫比的前提下,設(shè)置初始窗口大小為 W x H 參數(shù)所指定的最大尺寸大小。大小按像素為單位測算,或者如果數(shù)值后面緊跟百分比符號(%),則按屏幕大小的百分比。

該選項永遠(yuǎn)不會變更窗口的縱橫比大小,如果遇到縱橫比不匹配的情況,則會縮減窗口尺寸直到符合指定的大小為止。

窗口所在位置不在考慮之列,也并非通過該選項進行變更(窗口管理器同樣也可能會根據(jù)尺寸大小而異地來布置窗口)。使用 --geometry 選項來變更窗口位置,且在該選項之后生效。

參考 --geometry 選項以獲取如何應(yīng)對多顯示器進行設(shè)置的細(xì)節(jié)。

而如果你僅僅是想要限制窗口的最大大小請使用 --autofit-larger 選項,而非總是強行指定窗口的大小。

如果你想要同時將窗口寬度和高度強行調(diào)整為指定的大小,請使用 --geometry 選項。

注意

通常僅能被圖形界面的視頻輸出(VO)所支持,在編碼模式下則忽略。


--autofit-larger=<[W[xH]]>

該選項的行為非常像 --autofit,除了當(dāng)窗口超過指定大小時僅僅是改變窗口大小這一條以外。


--autofit-smaller=<[W[xH]]>

該選項的行為非常像 --autofit,除了能設(shè)置窗口的最小大小以外(正如 --autofit-larger 設(shè)置最大大小那樣)


--window-scale=<factor>

調(diào)整視頻窗口大小為畫面大小的倍數(shù),該選項會在 --autofit 以及其他一眾選項之前得到應(yīng)用(因此后者可能會覆蓋該選項)。

例如, --window-scale=0.5 應(yīng)該會按照視頻畫面一半的大小顯示窗口。


--window-minimized=<yes|no>

無論視頻窗口最小化與否,如果當(dāng)前的視頻輸出(VO)支持的話,設(shè)置該選項會將窗口最小化(minimize)或恢復(fù)最小化(unminimize)。需要注意的是部分視頻輸出也許支持最小化卻不支持恢復(fù)最小化(例如:Wayland)

該選項以及 --window-maximized 是否適用于程序啟動或運行期間與否,以及是否會(在運行期間)更新以反映實際的窗口狀態(tài),很大程度上取決于視頻輸出和窗口系統(tǒng)。某些視頻輸出并沒有實現(xiàn)或僅僅是實現(xiàn)了其中的一部分,而其他的視頻輸出可能會受制于窗口系統(tǒng)(特別是 Wayland)。


--window-maximized=<yes|no>

無論視頻窗口最大化與否,如果當(dāng)前的視頻輸出(VO)支持的話,設(shè)置該選項會將窗口最大化或恢復(fù)最大化。請參考 --window-minimized 以獲取更多摘要信息。


--cursor-autohide=<number|no|always>

設(shè)置鼠標(biāo)光標(biāo)在經(jīng)過給定的毫秒數(shù)之后自動隱藏,no 表示禁用自動隱藏指針,always 意味著光標(biāo)始終保持隱藏狀態(tài)。


--cursor-autohide-fs-only

如果設(shè)置了該選項,光標(biāo)在窗口模式下始終可見。而在全屏模式下,則根據(jù) --cursor-autohide 的設(shè)置顯示或隱藏光標(biāo)。

注:如果同時想要在窗口模式和全屏模式下實現(xiàn)光標(biāo)防擋的效果,僅需指定 --cursor-autohide 的參數(shù),建議與OSC窗口組件的自動隱藏時間保持一致以確保UI動畫觀感的統(tǒng)一。


--no-fixed-vo, --fixed-vo

--no-fixed-vo 強制關(guān)閉和重新打開多個文件的視頻窗口(為每個文件逐個初始化或逆初始化)。


--force-rgba-osd-rendering

改變某些視頻輸出渲染OSD和文本字幕的方式,期間不會改變字幕的外觀,只會對性能產(chǎn)生影響。對于支持本地 ASS 渲染的視頻輸出(比如說 gpu,vdpau,direct3d)可能會略微加快或放緩渲染速度,具體取決于 GPU 驅(qū)動程序以及硬件。對于其他視頻輸出只會讓渲染速度變慢。


--force-window-position

每當(dāng)視頻畫面參數(shù),視頻流或是文件變更時,強制將 mpv 的視頻輸出窗口移至默認(rèn)位置。這曾經(jīng)是默認(rèn)行為,目前僅會影響 X11 視頻輸出。


--no-keepaspect, --keepaspect

--no-keepaspect 始終會將視頻畫面拉伸至窗口大小,并且會禁用窗口管理器強制窗口縱橫比的提示(在全屏模式下則忽略)。


--no-keepaspect-window, --keepaspect-window

--keepaspect-window(默認(rèn))將會鎖定窗口大小為視頻畫面的縱橫比。--no-keepaspect-window 則會禁用該行為,并且如果窗口縱橫比與視頻畫面不匹配的話則會添加黑色邊框條(加以補償)。該選項實際工作與否取決于視頻輸出的后端(在全屏模式下則忽略)。


--monitoraspect=<ratio>

設(shè)置顯示器或電視屏幕的縱橫比,數(shù)值 0 則禁用預(yù)先的設(shè)置(例如配置文件中的相應(yīng)設(shè)置),如果啟用了該選項則會覆蓋 --monitorpixelaspect 的設(shè)置。

另請參見 --monitorpixelaspect 以及 --video-aspect-override 選項說明。


--hidpi-window-scale, --no-hidpi-window-scale

(僅 macOS,Windows,X11 以及 Wayland 平臺)根據(jù)所支持的縮放系數(shù)來縮放窗口大?。J(rèn):yes)。在常規(guī)的 HiDPI 分辨率下,以兩倍大小打開窗口,但在非 HiDPI 分辨率下則顯示為相同的大小,這在 macOS 平臺上是某人啟用的。


--native-fs, --no-native-fs

(僅 macOS 平臺)使用操作系統(tǒng)提供的原生全屏機制(默認(rèn):yes)


--monitorpixelaspect=<ratio>

設(shè)置顯示器或電視屏幕單個像素單位的縱橫比(默認(rèn):1)。數(shù)值 1 表示方形像素(適用于全部(或是絕大部分?)的 LCD 屏)。另請參見 --monitoraspect 以及 --video-aspect-override 選項說明。


--stop-screensaver, --no-stop-screensaver

程序啟動時關(guān)閉屏保(或是熄屏以及類似的機制)并在退出時再次開啟(默認(rèn):yes),當(dāng)播放器被暫停時總是會重新啟用屏保。

不是所有的視頻輸出或平臺都支持這項功能,有時候雖然實現(xiàn)了,但并不會起作用(特別是 Linux 桌面),具體請仔細(xì)閱讀 Ch.12.1 Disabling Screensaver 章節(jié)。


--wid=<ID>

如果選擇了支持該選項的視頻輸出,則通知 mpv 附加到現(xiàn)有的窗口中,并使用該窗口進行畫面輸出。mpv 會將視頻畫面的縱橫比縮放至當(dāng)前窗口大小,并且會在畫面縱橫比不同時添加黑色邊框條進行補償。

在 X11 平臺上,ID 被解釋為 X11 上面的窗口,與 MPlayer/mplayer2 所不同的是,mpv 始終會創(chuàng)建自己的窗口,并將 wid 所指向的窗口設(shè)為父窗口,且始終會調(diào)整自身窗口大小以完全覆蓋父窗口。數(shù)值 0 被特別解釋為 mpv 直接在根窗口上繪制界面。

在 win32 平臺上,ID 被解釋為 HWND,將其作為參數(shù)值轉(zhuǎn)換為 intptr_t 類型,mpv 將會創(chuàng)建自己的窗口,并將 wid 窗口設(shè)為父窗口,就像 X11 那樣。

在 macOS/Cocoa 平臺上,ID 被解釋為 NSView*,將其作為參數(shù)值轉(zhuǎn)換為 intptr_t 類型,mpv 將會創(chuàng)建自己的子視圖。由于 macOS 不支持外部進程的窗口內(nèi)嵌,因此僅適用于 libmpv 庫,并且在命令行中使用時會導(dǎo)致崩潰。

在 Android 平臺上,ID 被解釋為 android.view.Surface,將其作為參數(shù)值轉(zhuǎn)換為 intptr_t 類型,與 --vo=mediacodec_embed 以及 --hwdec=mediacodec 選項一同使用媒體編解碼器來直接渲染,或是使用 --vo=gpu --gpu-context=android(帶或不帶 --hwdec=mediacodec-copy 都可)。


--no-window-dragging

單擊窗口并移動鼠標(biāo)指針時不要移動窗口。


--x11-name

為基于 X11 的視頻輸出方案設(shè)置窗口類名。


--x11-netwm=<yes|no|auto>

(僅 X11 平臺)控制 NetWN 協(xié)議功能的使用。

這可能會也可能不會對異常的窗口管理器有幫助,另外提供了一些現(xiàn)已刪除的、由 --fstype 選項實現(xiàn)的功能。實際上,開發(fā)人員尚不清楚該選項在多大程度上被用戶所需要,所以歡迎反饋。

具體來說,yes 將強制使用 NetWN 的全屏支持,即使是 WN 尚未公布的特性。這對于故意損壞的 WN(例如 XMonad)來說會非常有用。XMonad 據(jù)說沒有宣傳過對全屏的支持,因為 Flash 需要用到,顯然,無論如何都想要使用全屏的應(yīng)用程序應(yīng)當(dāng)忽略 NetWN 所支持的提示,或提供解決方案。對于 XMonad 有意破壞 X 協(xié)議的行為應(yīng)該感到羞恥(好像 X 協(xié)議也不算太糟糕吧)。

默認(rèn)情況下,會自動檢測對 NetWN 的支持。

未來可能會移除該選項。


--x11-bypass-compositor=<yes|no|fs-only|never>

如果設(shè)為 yes,則要求合成器取消重定向 mpv 窗口(默認(rèn):fs-only),這將使用 _NET_WM_BYPASS_COMPOSITOR 作為提示。

fs-only 要求窗口管理器僅在全屏模式下禁用合成器。

no 將 _NET_WM_BYPASS_COMPOSITOR 的值設(shè)為 0,這是 EWMH 規(guī)范聲明的默認(rèn)值,即不做任何更改。

never 要求窗口管理器永不禁用合成器。


參考資料:

  • https://mpv.io/manualMPV Player Reference

  • https://mpv.iompv項目官網(wǎng)



[Ch.13.5~13.7] [篇三] MPV Player 官方文檔中有關(guān)配置項OPTION的說明 v0.34.0的評論 (共 條)

分享到微博請遵守國家法律
福海县| 蓬安县| 久治县| 保靖县| 白朗县| 会理县| 华亭县| 洛隆县| 文化| 虹口区| 筠连县| 克拉玛依市| 新宾| 米脂县| 逊克县| 万安县| 光泽县| 建阳市| 资兴市| 青神县| 商都县| 芷江| 封丘县| 会同县| 越西县| 鸡泽县| 宽城| 玛纳斯县| 新宾| 东乡族自治县| 嘉峪关市| 岐山县| 浦东新区| 菏泽市| 永德县| 防城港市| 鹤庆县| 子洲县| 嘉禾县| 都江堰市| 成安县|