未处理MKV的寻道时间问题

我从同一个Comcast频道(SyFyHD,AVC流)录了两部电影,都用MCE Buddy去掉了广告。其中一部(《凤凰社》)我把容器转成了mp4,同时也重新编码了视频(即MP4 normal profile)。另一部(《混血王子》)我只转成了mkv容器,没有重新编码视频。我通常更喜欢后者,因为它不会对视频重新编码。

我在Win7机器上用Plex Media Server(PMS),并通过同一台电脑的网页界面观看(即同一台电脑既跑PMS也用于观看)。后者在停止播放后从约2小时处重新开始时,seek时间明显更长。

具体而言,《混血王子》(mkv)在2小时处重新开始播放大约需要30秒才能开始。

《凤凰社》做同样的事只需约5秒。

我会附上两个文件的mediainfo,展示详细信息。它们都是AVC High@L3.2,但细节不同,比如一个是可变码率,另一个是固定码率。

注意,我在Nvidia Shield TV的Plex客户端上也观察到这种巨大的seek时间差异。

我也会把seek慢的《混血王子》完整视频文件用我用户名上传到ftp站点。

有人能解释为什么这两个文件的seek时间差异这么大吗?

Half-Blood Prince.txt (4.8 KB)
Order of the Phoenix.txt (5.0 KB)

作為更新,我已經找到了問題所在,似乎是 MKV Unprocessed mkv 檔案寫入器的問題。從另一個論壇得知,MCE 寫入器有製作經常無法在許多環境中正常播放的 mkv 檔案的紀錄。解決方法是將 MCEB 產生的 mkv 檔案,再透過 mkvtoolnix 處理一次,且不做任何刻意的串流內容變更。

從 mkvtoolnix 輸出的 mkv 檔案在我的所有客戶端上播放得非常順暢,幾乎沒有搜尋延遲。雖然串流與標籤看起來相同,但使用的 mkv 寫入函式庫不同。

因此,如果你有搜尋延遲的問題,即使你的檔案不是 MKV Unprocessed 檔案(即使是不同的容器格式),也可以考慮使用 mkvtoolnix,並告訴我們你的結果。

我已將 mkvtoolnix 處理前與處理後的檔案版本,以我的使用者名稱 klaberte 上傳到 ftp 伺服器。

開發者,有幾個問題:

  • 是否有任何方法可以使用與 mkvtoolnix 相同的函式庫來寫入 mkv 檔案(也許可以作為設定檔中的選項)?
  • 如果不行,是否有任何方法可以自動觸發將 MCEB 產生的檔案傳送給 mkvtoolnix 進行後處理?

MCEBuddy 确实会使用 MKVTools 来创建 MKV 文件,但这取决于你的配置文件如何设置。你可以让 MCEBuddy 使用 ffmpeg 来创建 MKV 文件,也可以使用 MKVToolNix。如果你附上转换日志,我们可以检查并告诉你配置文件是如何设置的,以及是否需要做任何更改。

Harry Potter and the Order of the Phoenix 20070712 [20180810-0129].mpg-MKV Unprocessed KL-2018-08-11T14-43-51.7398676-04-00.log (1.9 MB)

这是日志文件。提前感谢。

您正在使用 MKV 未處理設定檔,該設定檔會直接透過 ffmpeg 建立 MKV 檔案

order=ffmpeg,copy
copy-ext=.ts
copy-remuxto=.mkv
copy-audiodelay=skip
ffmpeg-general=-threads 0
ffmpeg-video=-ss 0 -vcodec copy -map 0:v -sn
ffmpeg-audio=-acodec copy -map 0:a
ffmpeg-audioac3=-acodec copy -map 0:a
ffmpeg-ext=.mkv

ffmpeg-ext=.mkv

改為

ffmpeg-ext=.ts
ffmpeg-remuxto=.mkv

這將使 MCEBuddy 使用 MKVToolNix 將 ffmpeg 產生的 TS 檔案轉換為 MKV。

MCEBuddy 在此未處理設定檔中之所以直接使用 ffmpeg 建立 MKV 檔案,是因為 MKVTools 建立的某些檔案在某些軟體及部分三星電視上無法播放。詳情請見此貼文:

歡迎將此回饋/連結分享至您發現上述建議的其他論壇。

這有效!感謝您的幫助。