随机故障 - 视频信息分析失败

在過去一個月裡,我注意到一個問題:我會隨機收到 「分析影片資訊失敗」 的錯誤訊息。

我前往「已轉換檔案歷史記錄」並按錯誤訊息欄位排序。第一次出現「分析影片資訊失敗」錯誤的日期是 2017/9/21,從那時起我已經遇到這個錯誤 43 次。

當我看到檔案未轉換時,我會手動將它們加入 MCEBuddy 佇列並重試。有時它們能順利轉換,但有時又會再次出錯。我可能需要重複多次才能成功。似乎沒有任何規律能解釋為何成功或失敗。

我嘗試透過 FTP 上傳紀錄檔,但出現錯誤:
錯誤:連線在閒置 20 秒後逾時
錯誤:無法取得目錄清單

所有失敗時的紀錄看起來都很類似:在呼叫 ffprobe.exe 後似乎沒有任何回應,因此失敗。

INFORMATION> 2017-10-21T12:17:23 MCEBuddy.VideoProperties.VideoInfo → 使用 FFMPEG 補充媒體資訊
2017-10-21T12:17:23 MCEBuddy.AppWrapper.FFmpegMediaInfo → 啟動程序 C:\Program Files\MCEBuddy2x\ffmpeg\ffprobe.exe
2017-10-21T12:17:23 MCEBuddy.AppWrapper.FFmpegMediaInfo → 程序參數 -hide_banner -probesize 100M -analyzeduration 300M -v quiet -print_format json -show_format -show_streams -show_chapters -i “D:\Recorded TV\TempRec\MCEBuddy_Temp_Folder\working0\The Late Show With Stephen Colbert_KMOV-DT_2017_10_20_22_32_00.ts”
2017-10-21T12:17:23 MCEBuddy.AppWrapper.FFmpegMediaInfo → UI Session Admin Process : False
2017-10-21T12:17:23 MCEBuddy.AppWrapper.FFmpegMediaInfo → 將程序優先順序設為 Normal
2017-10-21T12:17:23 MCEBuddy.AppWrapper.FFmpegMediaInfo → {
2017-10-21T12:17:23 MCEBuddy.AppWrapper.FFmpegMediaInfo → }
→ Process exited with code 1
ERROR> 2017-10-21T12:17:25 MCEBuddy.AppWrapper.FFmpegMediaInfo → 處理 FFProbe 輸出時發生錯誤。
System.NullReferenceException: 未將物件參考設定為物件的執行個體。
at MCEBuddy.AppWrapper.FFmpegMediaInfo.ParseFFPROBEMediaInformation(String StdOut)
2017-10-21T12:17:25 MCEBuddy.AppWrapper.FFmpegMediaInfo →
VIDEO TRACK INFO →
Video stream → -1
Video codec →
Duration (s) → 0
Color format →
Height (pixels) → 0
Width (pixels) → 0
Storage aspect ratio (SAR) →
Display aspect ratio (DAR) →
Video bitrate (kb/s) → -1
Frames per seconds (FPS) → 0
Video stream PID → -1

CHAPTER INFO →

ERROR> 2017-10-21T12:17:25 MCEBuddy.VideoProperties.VideoInfo → 無法使用 FFMPEG 或 MediaInfo 讀取媒體資訊
ERROR> 2017-10-21T12:17:25 MCEBuddy.Engine.ConversionJob → 分析影片資訊失敗
INFORMATION> 2017-10-21T12:17:25 MCEBuddy.Engine.ConversionJob →
→ 目前轉換的效能指標

→ 來源影片長度 (hh:mm:ss) → 01:05:57
→ 來源影片編碼 → mpeg2video
→ 來源影片高度 → 1080
→ 來源影片寬度 → 1920
→ 轉換前影片長度 (hh:mm:ss) → 00:00:00

→ <開始日期/時間> <持續時間 (hh:mm:ss)> <活動>
→ <10/21/2017 12:07:59> <00:00:00> <執行自訂命令>
→ <10/21/2017 12:07:59> <00:00:00> <從網路來源取得節目資訊與橫幅>
→ <10/21/2017 12:08:00> <00:00:00> <執行自訂命令>
→ <10/21/2017 12:08:00> <00:00:05> <檢查磁碟空間>
→ <10/21/2017 12:08:05> <00:03:25> <重新封裝錄影>
→ <10/21/2017 12:11:30> <00:00:00> <修剪錄影>
→ <10/21/2017 12:11:30> <00:00:18> <分析影片資訊>
→ <10/21/2017 12:11:49> <00:04:28> <Comskip 廣告掃描>
→ <10/21/2017 12:16:17> <00:00:00> <執行自訂命令>
→ <10/21/2017 12:16:17> <00:01:05> <移除廣告>
> <10/21/2017 12:17:23> <00:00:02> <分析影片資訊>

INFORMATION> → 轉換總耗時 (hh:mm:ss) → 00:09:26

我不知道是什麼原因導致大約一個月前開始發生這種情況。它並非每次都發生,看起來非常隨機。我曾嘗試關閉硬體加速看看能否解決問題,但並未改善,發生頻率似乎相同,因此我又重新開啟。我使用的是 GeForce GTX 950 並已安裝最新驅動程式 385.69,但也無法解決問題。

我们需要一个导致此故障的原始视频文件样本。请尝试使用被动FTP(FileZilla在其设置中支持被动FTP)上传视频文件。有时您的防火墙可能会阻止主动FTP。

我还是没能搞定 FileZilla。它处于被动模式,我尝试绕过路由器直接走调制解调器,依旧不行。只能改用在线 FTP 服务器传文件,但单个文件被限制在 19 MB。

我按你说明里的方法用了文件分割器,上传了第一块。同时也传了几个转换失败的日志示例(全部小于 700 KB),以及一个最终转换成功的日志(命名为 The Goldbergs-Good log.zip)。

用作示例的《Goldbergs》视频是用 WMC 录制的,同一个文件连续失败 3 次后才成功。期间我什么都没改,只是每次失败后手动重新加入队列。第四次突然就完成了。

如果还需要别的资料请告诉我(注意因 FTP 问题,我能传的文件大小有限)。

-谢谢

我猜是你的防火牆或路由器擋住了。試著把它關掉。我們這邊上傳 20GB 檔案都沒問題。

正如我所提到的,我已經試過跳過路由器,直接透過數據機連線,但沒有成功(因此問題與路由器無關)。19MB 的限制是因為我必須使用線上 FTP 網站 https://www.net2ftp.com/ 來上傳我傳給你們的檔案。我在 10/23 將這些檔案放到 ftp://upload.mcebuddy2x.com/trickster/。

好的,有几件事要说明。

我打不开你上传的日志,出了点问题,它们全是中文(我看到的内容如下)

→ Starting conversion - DEBUG MESSAGES
਍䤀一䘀伀刀䴀䄀吀䤀伀一㸀 ⴀⴀ㸀 圀椀渀搀漀眀猀 伀匀 嘀攀爀猀椀漀渀 ⴀ㸀 䴀椀挀爀漀猀漀昀琀 圀椀渀搀漀眀猀 一吀 㘀⸀㄀⸀㜀㘀 ㄀ 匀攀爀瘀椀挀攀 倀愀挀欀 ㄀ ⠀圀䤀一开㜀开㈀ 㠀开匀䔀刀嘀䔀刀开刀㈀Ⰰ 䠀漀洀攀 䔀搀椀琀椀漀渀⤀ഀഀ

我使用了你提供的示例分块文件,但无法复现你的问题。在我这里运行正常,ffprobe 能正确读取文件。请尝试使用最新 2.4.8 版本的 MCEBuddy。如果问题仍未解决,请到 ffmpeg.org 下载最新版 ffmpeg,将其中的 ffprobe 和 ffmpeg 文件替换到 MCEBuddy 安装目录下。

我遇到過非常類似的問題,做法是關閉 comskip 日誌(verbose=0)。一旦日誌檔案變得非常大,每寫入一行新內容都會耗費大量時間,MCEBuddy 就會在 comskip 完成前終止它。

我發表在這裡:

我不知道为什么所有文件都变成了中文……真奇怪。我把所有日志文件打包压缩,放在了一个叫“Log messages all zipped up.zip”的文件里,也许现在能正常读取了。我重新下载了一次,这次没有再看到中文字符……我经常使用 MCEBuddy,通常一切正常,但这个问题会随机出现。同一个文件可能失败一次,也可能连续失败四次,但突然下一次用完全相同的文件又成功了。我并没有做任何特别的操作,它就是突然决定能用了。我使用的是最新版的 MCEBuddy,在11月4日转换的10个文件中,有两个失败了,但我手动重新添加它们后,第二次尝试就成功了。就像我说的,行为非常奇怪。

記錄損毀可能是由 FTP 繞路問題引起的。

從你的描述以及我在記錄檔中看到的內容來看,MCEBuddy 嘗試存取檔案時,似乎會隨機出現無法存取的情況。從記錄檔判斷,這通常發生在 MCEBuddy 剛建立新檔案之後(例如轉檔完成或合併無廣告片段後)。

我想到的一個可能是,某些其他軟體(如防毒軟體或 Windows Defender)正在掃描或封鎖該檔案,導致此問題。請試著停用防毒軟體或任何在背景監控檔案的程式,我懷疑這些隨機失敗就是由此引起。

從技術上來說,MCEBuddy 第 1 次執行與第 100 次執行並無差異,唯一的差別(我們過去也曾遇過)就是第三方軟體(如防毒程式)封鎖檔案存取,導致失敗。最好的做法可能是將暫存資料夾排除在防毒掃描範圍之外。

我只是想提供一個更新:

我照你建議的,在 AVG 裡把 MCEBuddy 的暫存目錄加入排除清單,然後靜觀其變。我在 2017/11/06 設定排除,從那時起,根據日誌,MCEBuddy 的歷史檔案已有 115 筆紀錄。其中 109 筆轉檔完全正常,沒有任何錯誤;剩下 6 筆出現「分析影片資訊失敗」的錯誤。整體來說,錯誤率只有 5%,不算高,但即使我已讓 AVG 忽略暫存目錄,這個問題仍偶爾發生。

5% 的錯誤率我大概還能接受,只是無法理解為何它會隨機出錯,然後下次(我什麼都沒改)又突然成功,這點既惱人又令人沮喕。你說「從技術上講,第 1 次執行和第 100 次執行對 MCEBuddy 來說沒有任何差別」,我同意,我也看不出差別……可惜現實有 5% 的時間不買我們邏輯的帳。:slight_smile:

仍感謝你協助找出解決辦法。或許哪天它會像突然出現那樣,又突然消失。

5%的情况是第三方软件干扰了你的设置。在干净的Windows系统上运行,不安装任何第三方软件,看看能否复现这个问题。

问题不在MCEBuddy,困难的是找出哪个第三方软件在干扰MCEBuddy。这可不是件容易的事。