字幕和音频的文件命名约定

我主要用 Plex 看影片,但常常遇到它找不到字幕檔的問題,即使 .SRT 檔案已經跟 .MP4 放在同一個資料夾裡。Plex 要求字幕檔案名稱必須與 MP4 檔案一致,並在結尾加上 2 或 3 個字母的語言代碼。目前,如果 Plex 能找到字幕檔,它總是顯示為「Unknown (SRT External)」。如果我在檔名加上 ENG,例如:filename.eng.srt,Plex 就會把它辨識為英文字幕,並根據我的偏好自動選取。

我試著在 MCEBuddy 裡找方法,讓它能自動在字幕檔名結尾加上 ENG,但找不到這個選項。請問有這個功能嗎?在轉換工作的設定裡,「音訊與視訊」下我已設定只保留英文音軌,但若能順便把 ENG 加到字幕檔名就更好了。

音訊檔案其實也有同樣問題,但 Plex 不會因此出錯;它會把所有音訊顯示為「Unknown (AAC Stereo)」。我不知道該如何標記音訊為英文,因為這似乎取自 metadata。這些資訊是在 MCEBuddy 還是我的錄影軟體(TV Mosaic)裡產生的?

能否附上您的轉換記錄。

MCEBuddy 在從隱藏字幕或內部串流提取字幕時,確實會在 SRT 檔案後面加上 3 位語言代碼。如果它是複製與來源檔案並存的既有 SRT 檔案,就不會加上 3 位代碼,但我們絕對可以調查發生了什麼事。

編輯:補充說明,如果檔案中有超過 1 個字幕軌,它就會加上 _xxx 語言名稱

哇,這對我來說是新消息。我從來沒見過它加上語言代碼。很確定這是設定或組態的問題。設定真的多到不行!最新的檔案轉換發生在三分鐘前,我剛剛把檔案上傳到你的 FTP 伺服器,帳號是 robtheone。看起來記錄層級已經設為 Debug,所以希望這就是你要的檔案。如果需要更多細節,請告訴我。

非常感謝!

我遇到了同样的问题。Plex 会将 MCEBuddy 从 DVR 录制的节目中提取的字幕轨道显示为“未知”。我只用 mkv 文件,所以我的解决方法是让 MCEBuddy 在后处理阶段调用 mkvedit,把字幕属性里的语言写成“English”,这样 Plex 就能正确显示。如果你需要,我可以贴出我的后处理命令行。不过我觉得这招只对 mkv 有效,mp4 不行,效果因人而异。

感謝你的回覆與協助!為了清楚理解,你的解決方案是使用 Plex 的後處理腳本,把「English」加入檔案屬性,對嗎?如果我理解錯誤請糾正,但我相信那個腳本選項只有在啟用 Plex DVR 功能時才會出現,對嗎?我在 Plex 伺服器設定裡找不到後處理腳本的選項。

我使用 TV Mosaic 錄製節目,然後由 MCEBuddy 接手,移除廣告並產生字幕檔。

這是否表示對你來說,MCEBuddy 也不會為 SRT 檔加上語言副檔名?或者,如果是 MKV 檔,字幕會封裝在檔案裡,因此沒有獨立的 SRT 檔?我同時使用 Apple TV 與 NVidia Shield,但 Apple TV 似乎不支援 MKV 格式,可惜。

是的,我用的是 PLEX DVR……但用什么其实无所谓……MCE 会像你一样先捕捉到录制内容,然后去掉广告,再把字幕提取成 srt 文件。接着我的后处理脚本(由 MCE Buddy 触发)会把字幕的“英语”属性(property)设好(音频当然也能设)。再说一次,不确定 mkvedit 能不能处理 mp4,但肯定有别的东西可以。

希望能帮到你,如果你想要我的脚本就说一声,其实就几行,把各项属性设对而已。

哦,好的,我甚至不知道 MCEBuddy 还有后期处理部分。是的,请分享一下。您也能告诉我这个脚本应该放在哪里吗?是在 GUI 里吗,我从没注意到?我会去看看,确认一下同样的修改是否也能用于 MP4 文件。感谢您的信息,非常有帮助。

它不在主介面中,但可以透過在 profiles.conf 檔案中加入幾行程式碼輕鬆添加。我會在另一篇貼文中附上詳細說明以及使其運作的程式碼。

感谢 @bob0937 提供:

需要说明的是,当文件中存在多条字幕轨道时,它会添加 _xxx 语言名称

非常感謝!我剛才在擺弄上面的腳本,但還是有點困惑。它是專門用來刪除 SRT 與 EDL 檔案的(但我需要保留 SRT),而且我的檔案格式是 MP4 而非 MKV。稍微 Google 了一下後,我意識到自己的命令列技巧相當有限。於是我為 MP4 檔案寫了這段:

CustomCommandPath=C:\Windows\System32\cmd.exe
CustomCommandParameters="/c mp4box.exe "%convertedfile%" -lang 1=eng -lang 2=eng"
CustomCommandHangPeriod=100
CustomCommandCritical=true
CustomCommandUISession=false
CustomCommandShowWindow=false

這對「某些」檔案似乎有效(我也測試了不同類型的檔案,同時測試燒入 SRT 時的字型變化,結果 Plex 現在會顯示兩種不同字型的字幕選項,儘管實際上只有一個 SRT 或根本沒有燒入),但 Plex 仍會把另一個轉碼器顯示為「未知」(* Codec MOV_TEXT * Stream Identifier 3 * Display Title Unknown (MOV_TEXT)),不過現在影片與主要音軌都顯示為英文。我相信一定有更好的做法,如果有人有建議,非常歡迎!

另外,我原始問題的另一部分是:把 closed captions 的 SRT 檔重新命名,加上 ENG.srt 語言代碼,讓 Plex 辨識。你提到只要只有一個字幕檔,MCEBuddy 會自動完成這件事,而我確實只產生一個 SRT 檔。在原始 TS 檔裡,有 EIA-608、EIA-708 與 timed text 字幕,我超想保留它們,但轉成 MP4 後這些都會被刪掉,只剩一個沒有語言代碼的 SRT 檔。

我翻遍了進階設定/微調指南,只看到 SRT 被稱為 %srtfile%,當我試著用上面的後製腳本方法改檔名時,任何變更都只會在檔名尾端加上 ENG,因為根據 log,SRT 檔名部分似乎是寫死的:%SRTFILE% = “filename.srt”。結果變成 “filename.srt.eng”。看起來我無法用同樣的後製方式去改檔名來加上語言代碼(至少以我有限的知識辦不到)。我漏了什麼?

目前我暫時是在自訂檔名規則裡直接加上 .ENG 來讓它運作。

再次感謝!

是的,当从 MP4 或 MKV 容器提取 SRT 文件,或从 TS、WTV、DVRMS 文件提取隐藏字幕时,它会保留遇到的第一条轨道。

你能上传一份包含 EIA-608 和 EIA-708 流的 TS 文件吗?我们看看能否添加对多条 CC 定时文本流的支持。

當然。檔案已上傳至 FTP 站台的 robtheone 資料夾。謝謝!

该功能已在 2.4.9 版中添加。

MCEBuddy 现在会从 SRT 文件名(例如 filename.fre.srt)中检测语言名称;如果字幕是从原始视频文件中提取的,它也会读取文件内的元数据,并在最终 SRT 文件名中使用这 3 位语言代码。

MCEBuddy 支持读取 Plex 和 Serviio 字幕文件名格式,包括 .forced 标签,以解析语言名称。

它还会把语言标签写入 MP4 和 MKV 文件的元数据中,对应字幕轨道。如果未检测到语言代码,则使用 MCEBuddy 设置页面所选语言的 3 位代码。

感谢功能更新!非常感激。Plex 确实能看到带 ENG 标签的音轨和字幕文件,太棒了!不过奇怪的是,当我用另一个程序播放时,我得手动找字幕文件,因为 SRT 文件名跟生成的 MP4 文件名不一致。SRT 文件名似乎永远是原始文件名。我通常要么自定义文件名,要么让 MCEBuddy 自动生成,MP4 文件名是对的,但 SRT 文件名不匹配。

如果用 MRMC 或 Kodi 播放,它们就找不到 SRT 文件。我一直以为文件名必须一致,除了三位语言扩展名。

示例:

原始录制文件名:NBC Nightly News With Lester Holt -20181102.mp4(原本是 .TS 文件,放在 MP4 容器里)
MCEBuddy 生成文件名(去广告并转码后):
NBC Nightly News With Lester Holt -2018-11-03 1311.mp4
MCEBuddy 生成的 SRT 文件名:NBC Nightly News With Lester Holt -20181102.srt

SRT 文件名不应该跟 MP4 文件名一致吗?我会上传日志文件供您查看。谢谢!

是的,应该如此,请上传日志以便我们查看发生了什么。

謝謝。已經上傳了。如果需要其他資訊,請告訴我。

感谢你指出,这个问题已在今天的 2.4.9 版本中修复

哇!快如閃電,太不可思議了!謝謝你!我來試試看

一年过去了,我还是没能成功给字幕文件打上标签。
我已将“eng”设为首选音轨标识(如果没有则自动添加)。
我不会把字幕轨封装进去(以后会把 HI 去掉)。

原始音轨已标记为 English,但原始文本轨似乎都没有语言标签(我猜):
(2.4.10)

General
ID                                       : 1 (0x1)
Complete name                            : H:\Buddy-Deck\NOVA S43E18 Treasures of the Earth Gems.ts
Format                                   : MPEG-TS
File size                                : 2.84 GiB
Duration                                 : 52 min 51 s
Overall bit rate mode                    : Variable
Overall bit rate                         : 7 701 kb/s
Law rating                               : TV-G

Video
ID                                       : 49 (0x31)
Menu ID                                  : 3 (0x3)
Format                                   : MPEG Video
Format version                           : Version 2
Format profile                           : Main@High
Format settings                          : CustomMatrix / BVOP
Format settings, BVOP                    : Yes
Format settings, Matrix                  : Custom
Format settings, GOP                     : Variable
Codec ID                                 : 2
Duration                                 : 52 min 51 s
Bit rate mode                            : Variable
Bit rate                                 : 6 932 kb/s
Maximum bit rate                         : 24.0 Mb/s
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Active Format Description                : Pillarbox 4:3 image
Frame rate                               : 29.970 (30000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.112
Time code of first frame                 : 00:00:00;00
Time code source                         : Group of pictures header
GOP, Open/Closed                         : Open
GOP, Open/Closed of first frame          : Closed
Stream size                              : 2.56 GiB (90%)

Audio #1
ID                                       : 52 (0x34)
Menu ID                                  : 3 (0x3)
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : 129
Duration                                 : 52 min 50 s
Bit rate mode                            : Constant
Bit rate                                 : 192 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Bit depth                                : 16 bits
Compression mode                         : Lossy
Delay relative to video                  : 29 ms
Stream size                              : 72.6 MiB (2%)
Language                                 : English
Service kind                             : Complete Main

Audio #2
ID                                       : 53 (0x35)
Menu ID                                  : 3 (0x3)
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : 129
Duration                                 : 52 min 50 s
Bit rate mode                            : Constant
Bit rate                                 : 192 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Bit depth                                : 16 bits
Compression mode                         : Lossy
Delay relative to video                  : 29 ms
Stream size                              : 72.6 MiB (2%)
Language                                 : English
Service kind                             : Complete Main

Text #1
ID                                       : 49 (0x31)-CC1
Menu ID                                  : 3 (0x3)
Format                                   : EIA-608
Muxing mode                              : A/53 / DTVCC Transport
Muxing mode, more info                   : Muxed in Video #1
Duration                                 : 52 min 51 s
Bit rate mode                            : Constant
Stream size                              : 0.00 Byte (0%)
CaptionServiceName                       : CC1

Text #2
ID                                       : 49 (0x31)-1
Menu ID                                  : 3 (0x3)
Format                                   : EIA-708
Muxing mode                              : A/53 / DTVCC Transport
Muxing mode, more info                   : Muxed in Video #1
Duration                                 : 52 min 51 s
Bit rate mode                            : Constant
Stream size                              : 0.00 Byte (0%)

Regards… Tony