我正在使用 HDHomeRun Unprocessed 配置文件将 Windows WTV 文件转换为 MPG 文件,以便在 HDHomeRun 查看器(HDHRV)中使用。转换后的 MPG 文件似乎缺少数据:
-
WTV 的 Description Tag 字段未被写入转换后的 MPG 文件。我能在 WTV 文件中看到这个描述标签,但在转换后的 mpg 文件里却找不到。用 Jriver 我可以把 WTV 的描述标签复制并粘贴到 MPG 的描述里(所以我有变通办法),但这拖慢了我的转换流程。完成这一手动步骤后,我才能在 HDHRV 和 JRiver 中看到描述。
-
在 HDHRV 中观看转换后的文件时,查看器底部的进度条在播放过程中没有任何进度显示,即使我用右箭头或上箭头快进也是如此。当我在观看中途退出时,节目列表页(按频道、剧集名、集数和录制时间列出的列表)也不会记录任何进度,这意味着当我重新选择该节目时,必须手动快进才能回到上次退出的位置。在其他查看器(JRiver、PowerDVD 和 Windows Media Player)中我可以看到进度条变化,但在 HDHRV 中却不行。我敢肯定 SiliconDust 会说这是 MCEBuddy 的问题,而我希望 MCEBuddy 能提供修复,这样我就不会被夹在中间……
我是不是漏了某些设置?以下是我的配置文件:
[Smash In]
SearchPath=E:\Smash\In
SearchPattern=*.wtv
SearchPathExclude=
DeleteMonitorOriginal=False
ArchiveMonitorOriginal=True
ArchiveMonitorPath=E:\Smash\In\Archive
MonitorSubdirectories=True
MonitorConvertedFiles=False
ReMonitorRecordedFiles=False
MinimumAge=1
DomainName=
UserName=
[Smash]
Profile=HDHomeRun Unprocessed
DestinationPath=E:\Smash\Out
WorkingPath=
FallbackDestination=False
CheckReprocessingHistory=False
AddToiTunesLibrary=False
AddToWMPLibrary=False
AutoIncrementFilename=False
SkipReprocessing=False
MaxWidth=1920
FPS=
VolumeMultiplier=0
QualityMultiplier=1
RenameBySeries=True
AltRenameBySeries=False
CustomRenameBySeries=%showname% S%season%E%episode% %airyear%%airmonth%%airday% %recordyear%%recordmonth%%recordday%-%recordhour%%recordminute%
RenameOnly=False
DownloadSeriesDetails=True
DownloadBanner=True
ForceFilenameMetadata=False
OverwriteMetadataInternet=Default
FileSelection=*smash*
MetaSelection=
MetaChannelSelection=
MonitorTaskNames=Smash In
DRC=False
AudioLanguage=
AudioOffset=0
InsertQueueTop=False
ExtractXML=True
WriteMetadata=True
AutoDeInterlace=True
PreferHardwareEncoding=True
StereoAudio=True
EncoderSelectBestAudioTrack=True
DisableCropping=True
StartTrim=0
EndTrim=0
ExtractCC=default
CCOffset=0
EmbedSubtitles=False
EmbedChapters=False
ExtractAdsFromChapters=True
TaskCommercialSkipCut=False
KeepAdvertisements=False
PrioritizeOriginalBroadcastDateMatch=False
SkipCopyBackup=False
SkipRemux=False
IgnoreCopyProtection=False
TiVOMAKKey=
Enabled=True
ForceShowType=Default
MetaShowTypeSelection=Default
MetaCodecSelection=Any
MetaDRMTypeSelection=All
FileSizeCompareType=LessThan
FileSizeThreshold=0
VideoBitrateCompareType=LessThan
VideoBitrateThreshold=0
CommercialRemoval=Comskip
ComskipINI=
DomainName=
UserName=
MetaCorrectionsCount=0
Goose
(Goose)
2
能否附上您的轉換紀錄檔,以便查看發生了什麼事。HDHR 使用專屬的中繼資料格式,我們已與他們合作,盡可能將其整合進 MCEBuddy。然而,該格式中的某些功能為 HDHR 獨有,因此若您一開始就使用 HDHR 錄製,所有中繼資料功能都會保留;但若將非 HDHR 格式轉為 HDHR 格式,部分中繼資料會被模擬,因為原始檔案並不存在,而是由 HDHR 在錄製時指派。不過,描述欄位並不屬於這類情況。
您的轉換紀錄檔將提供更多線索。
描述字段显然没有被 HDHR 查看器使用。其他转换后的录制即使没有 description 标签也能正常显示。我会再做些实验,但缺少 description 标签并不是主要问题。对此误报表示抱歉。
不幸的是,这仍然留下了在观看时没有录制进度(或退出时未保留)的问题。我猜测 HDHR 专有录制格式中存在某种“标记”,而转换后的文件并未模拟出来。日志文件对这个问题有帮助吗?我应该将此问题标记为已解决并另开线程讨论录制进度问题吗?
Goose
(Goose)
4
你是否正在嘗試在錄製過程中轉換檔案?你正在將 WTV 轉換成 MPG,所以我想了解你指的究竟是什麼。
不是……抱歉造成了误解。我描述的是在 HDHR 查看器中播放已转换文件时的进度条。
第一张截图显示 HDHR 查看器,其中有一条进度条(橙色框)对应我 2012 年在 WMC 录制的《Smash》剧集,并用 MCEBuddy 转换成了 mpg。注意虽然播放已过半,但进度条没有任何指示。

下一张截图显示的是去年通过 HDHR 录制的《Signed, Sealed, Delivered》剧集的进度条。注意橙色框内的进度条有一段绿色,表示已播放了大约 25%。

如果你在此时退出《Signed, Sealed, Delivered》的播放回到剧集列表,会看到播放进度已被保留(橙色框)。如果你重新点击进入播放,查看器会跳到节目的 25% 处,从上次离开的位置继续。

然而,上面《Smash》录制(已转换文件)的剧集列表却没有任何进度,即使播放中途被停止。这意味着每次重新进入节目时总是从头开始,必须手动快进找到上次的位置。

希望以上说明清楚了。我经常被打断,非常希望能够实现断点续播。
Goose
(Goose)
6
您可以將 WTV 轉 MPG 的範例檔案,以及含有播放標記的檔案副本,上傳到我們的伺服器以供分析嗎?
操作說明請見:
好的——檔案分塊已上傳。已透過私人訊息傳送詳細資訊。
@Goose 我確認 SeriesID 與 ProgramID 這兩個中繼資料字典鍵在某些情境下具有特定意義,因此不應被設為固定值(如同目前 MCEBuddy 2.5.1 64bit - 20190717 的寫法,也如我們先前私訊所討論)。2.4.11 版程式碼中的值運作正常(我推測是從來源 WTV 檔案提取而來)。以下所有範例皆使用 2.4.11 版進行轉換,並搭配我撰寫的程式碼在轉換完成後修改中繼資料。
為了讓「續看」功能正常運作(也是本串最初目的),只需設定以下中繼資料值(seconds 為錄製節目的長度,單位秒)。在我檢視過的所有中繼資料中,StartTime 與 RecordStartTime 早已正確設定……
- EndTime = (StartTime + seconds)
- RecordEndTime = (RecordStartTime + seconds)
- Resume = 0
只要以上設定,續看功能就能完美運作並跨觀看紀錄保持。下圖為轉換後的 WMC 檔案,具備續看記憶(播放器版本已更新,介面與先前貼文略有差異)。
- 《The Nominations》已觀看數秒
- 《The Transfer》看到一半停止
- 《The Producers》已完整看完
- 其餘集數尚未觀看
替錄影加上縮圖也可行,但頗為棘手。我先前透過私人郵件回報,某集《Smash》在 2.5.1 BETA 轉換後消失;後續又發現《Inside the Actor’s Studio》所有集數在 2.5.1 轉換後也全部消失。這些隨機問題困擾我一週,直到偶然找到根本原因。
原來 2.5.1 Beta 插入的 ImageURL 與 PosterURL 中繼資料指向大張 jpg,例如部分圖片達 680×1000 像素以上。我無法確定,但推測 HDHR 內部程式(播放器或錄影器)因緩衝區不足而拋出例外,導致這些集數「失效」而無法顯示。採取以下步驟後,所有集數重新出現:
- 將 ImageURL 與 PosterURL 改指向較小的 jpg
- 重啟 HDHomeRun RECORDER 服務
有了這次經驗,加上能夠修改中繼資料,播放器的潛力才真正顯現。例如《The Capitol Fourth》是每年七月四日 DC 煙火音樂會特別節目,中繼資料中「Category」為「special」。透過適當的中繼資料調整,這些年度節目如今看起來像是一部連續劇,而非各自獨立的特別節目(忽略人為設定的 Season/Episode,例如把 2019 年轉成 S20E19)。順帶一提,2017–2019 年使用 HDHR 錄影,2016 年以前則用 MCEBuddy 2.4.1 轉換 WTV,但從下圖根本無從分辨……
希望下一版能加入
- 依上述方式實作續看功能,簡單易行。
- 提供替轉換檔案附加圖片的能力。若轉換時無法自動找到合適網址,請在 log 留下說明(可提示執行工具並指定 jpg 檔案),並將 ImageURL 與 PosterURL 維持 null。HDHR 引擎使用以下尺寸,故推薦:
- ImageURL jpg ≤ 360×270 像素
- PosterURL jpg ≤ 240×360 像素
如需更多資訊,請與我聯絡。
Goose
(Goose)
12
建議你也向 HDHR 回報(我們也已回報,因為這是潛在的安全性問題)。韌體應該直接忽略過大的圖片。我們會看看如何在 MCEBuddy 中處理,因為這些圖片來自網際網路,我們不一定有較小的圖片 URL。目前我們不會填入這些資訊。FYR,簡單的解決方法是在「轉換工作 → 專家設定 → 中繼資料修正」頁面取消勾選下載海報的選項。等 HDHR 修復韌體後,我們會恢復將圖片 URL 加入中繼資料。
你可以試試最新的 2.5.1 BETA 版本,已包含這些變更。
我正在使用 MCEBuddy 2.5.1 64bit - 20190723,它在去除 HDHR 录制的广告时会完全保留元数据。然而,为了不破坏播放进度指示器的功能,至少 RecordEndTime 应该发生变化。
在最近的一次转换中,一部 2 小时的电影被移除了 33 分钟的广告。结果,播放进度指示器在转换后的电影只剩几秒结束时只显示了 3/4 的进度。经过实验发现,如果将 RecordEndTime 元数据设置为 RecordStartTime + 转换后视频的秒数,那么播放进度指示器就能如预期般从最左边(电影开始时)移动到最右边(电影结束时)。元数据的其他部分没有进行任何更改。
回報這類錯誤的最佳方式是什麼?有像 MCEBuddy 錯誤論壇那樣的「錯誤」回報論壇嗎?