2.4.8 Beta 看起来 FFMPEG 卡住了:视频停止音频继续,不确定是不是 h.264 WMC 的问题

我正在 Windows 7 的 Windows Media Center 裡使用 Ceton USB Tuner,CPU 是 Intel i5-2500K。

最近因為硬碟掛掉重灌,換了新硬碟。不確定是不是從那之後錄的「所有」檔案都出問題,但至少昨天錄的片子都有影像異常。

原始 WTV 檔從頭到尾都有畫面,在 MediaCenter 與 VLC 都能正常播放。
轉檔後的檔案則會在某個隨機時間點影像卡住,音軌卻繼續跑。

我「目前」沒有啟用去廣告…其實是重灌後忘了開…蠢…

轉檔會跑完,但影片會在某個隨機點(可能 15 分、可能 20 分)斷掉,只剩聲音。

我開了其中一支影片的 Log,看起來錯誤超多。
Log 很長又重複,我挑了幾段感覺不一樣的樣本,看看能不能看出問題點。
我把完整 Log 壓成 .zip 上傳,純文字檔大概 11 MB。

SAMPLE 1
2017-10-29T04:38:46 MCEBuddy.AppWrapper.Base → [h264 @ 0000000000577d40] SPS unavailable in decode_picture_timing
2017-10-29T04:38:46 MCEBuddy.AppWrapper.Base → [h264 @ 0000000000577d40] non-existing PPS 0 referenced
2017-10-29T04:38:46 MCEBuddy.AppWrapper.Base → [h264 @ 0000000000577d40] SPS unavailable in decode_picture_timing
2017-10-29T04:38:46 MCEBuddy.AppWrapper.Base → [h264 @ 0000000000577d40] non-existing PPS 0 referenced
2017-10-29T04:38:46 MCEBuddy.AppWrapper.Base → [h264 @ 0000000000577d40] decode_slice_header error
2017-10-29T04:38:46 MCEBuddy.AppWrapper.Base → [h264 @ 0000000000577d40] no frame!

SAMPLE 2
2017-10-29T04:39:12 MCEBuddy.AppWrapper.FFmpeg → [mpegts @ 0000000009a24b40] Non-monotonous DTS in output stream 0:2; previous: 71136, current: 69634; changing to 71137. This may result in incorrect timestamps in the output file.

SAMPLE 3
2017-10-29T04:43:10 MCEBuddy.AppWrapper.FFmpegMediaInfo → Past duration 0.955376 too large

SAMPLE 4
2017-10-29T04:43:12 MCEBuddy.AppWrapper.FFmpegMediaInfo → frame= 1170 fps=585 q=-0.0 size= 1579500kB time=00:00:19.51 bitrate=662889.1kbits/s dup=20 drop=0 speed=9.76x

SAMPLE 5
2017-10-29T04:44:34 MCEBuddy.AppWrapper.Handbrake → [04:44:34] qsv_enc_init: using ‘hardware (1)’ implementation, API: 1.4
2017-10-29T04:44:35 MCEBuddy.AppWrapper.Handbrake → [NULL @ 000000000874af20] missing picture in access unit

2017-10-29T04:44:37 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 1, 0.48 %[NULL @ 000000000874af20] missing picture in access unit

2017-10-29T04:44:39 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 1, 2.04 % (403.72 fps, avg 391.22 fps, ETA 00h04m18s)[NULL @ 000000000874af20] missing picture in access unit
2017-10-29T04:44:39 MCEBuddy.AppWrapper.Handbrake → [NULL @ 000000000874af20] missing picture in access unit

2017-10-29T04:47:51 MCEBuddy.AppWrapper.Handbrake → [NULL @ 000000000874af20] missing picture in access unit
2017-10-29T04:47:51 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 1, 77.39 % (412.55 fps, avg 404.15 fps, ETA 00h00m58s)[NULL @ 000000000874af20] missing picture in access unit
2017-10-29T04:47:51 MCEBuddy.AppWrapper.Handbrake → [h264_qsv @ 00000000025a4c20] Error during QSV decoding.: incompatible video parameters (-14)

2017-10-29T04:47:59 MCEBuddy.AppWrapper.Handbrake → [h264_qsv @ 00000000025a4c20] Error during QSV decoding.: incompatible video parameters (-14)
2017-10-29T04:47:59 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 1, 77.41 % (412.55 fps, avg 404.15 fps, ETA 00h00m58s)[h264_qsv @ 00000000025a4c20] Error during QSV decoding.: incompatible video parameters (-14)
2017-10-29T04:47:59 MCEBuddy.AppWrapper.Handbrake → [h264_qsv @ 00000000025a4c20] Error during QSV decoding.: incompatible video parameters (-14)

How It’s Made Convert to MP4-2017-10-29T04-38-46.0299417-04-00.zip (312.3 KB)

昨晚我用 Windows 版 Handbrake 把一个 .wtv 文件转成 mp4,结果正常;随后用 MCEBuddy 转同一个文件,仍然出现视频在 21:54 处结束、音频继续的问题。

使用的是 MCEBuddy 2.4.8 64bit - 20171006。

我准备重装一下。

我又检查了之前转换、但尚未发现问题的文件,5 部电影里 4 部播放正常,第 5 部同样出现画面结束、音频继续的情况。我估计不少电视剧也有这个问题,只是它们已经跟旧剧集合并,更难排查。

我会尝试重装。除了曾让 MCEBuddy 联网抓取剧集编号外,我不记得对电脑或 MCEBuddy 做过其他改动。视频设置保持不变,且目前未启用去广告,不过我平时是开启的。

試著用 VLC 播放看看。如果這樣可以播放,那就是解碼器的問題,你需要安裝 ffdshow、LAV Filters 或類似的解碼器。

編輯:Sandy Bridge 的 Quick Sync 編碼器不支援 AVC。也請試著關閉硬體編碼。

1個讚

我正在使用 VLC 觀看原始的 WTV 檔案以及轉檔完成的 mp4 檔案。

經過一些測試後我更加困惑了……今晚 WMC 錄了 5 個節目,其中 Discovery 頻道的檔案會卡住。我還錄了一部電影和一集《Survivor》,這兩個檔案在轉檔後都能在 VLC 播放,但 Discovery 頻道的兩個節目大約在 20 分鐘處就會卡住。

為了進一步測試,我的有線電視業者提供了 3 個 Discovery 頻道:一個 SD、一個 HD,以及另一個在更高頻道號碼的 HD。目前我從兩個 HD 頻道錄製的檔案都會在大約 20 分鐘處卡住,但並非同一個時間點,前後差距約 5–10 分鐘;然而在其他檔案中,卡住的地方比較隨機,可能會在電影或影集的結尾,我記得那些似乎是在 History 頻道錄的。

我平常錄 Discovery 頻道的節目都沒問題,而且我已經累積了幾百甚至上千集。

所以這應該不是一次性的拷貝保護問題,我不知道。

我打算改從 Discovery 頻道的 SD 頻道錄錄看會怎樣……

再次強調,不是每個錄影檔都會在 VLC 卡住;我說的「卡住」是指畫面停止但聲音繼續。目前看來似乎只有少數幾個頻道會這樣。

我打賭 Discovery SD 跟 HD 都會以同樣方式卡住,但誰知道呢,我會試試看。

試著檢查那些頻道的訊號強度/品質。同時請確認你已安裝最新的驅動程式/韌體給你的調諧器。更新驅動程式/韌體後,執行一次頻道掃描。也許是時候換一張新的 CableCARD 了。

1個讚

有结果了吗?我也遇到了你描述的同样问题。使用 Cablecard 和 HDHomeRun Prime。用 HandBrake 转换的录制电视节目在播放 15 或 20 分钟后画面会卡住,但声音继续。大约每 5 到 10 个录制文件中会出现一次。在我的情况下,我尝试在同一频道不同时间重新录制同一集,第二次录制就没有再出现问题。我使用 Plex DVR 进行录制,它生成的 .TS 文件可以通过 Plex 或 VLC 完整播放。有趣的是,当我直接用 VLC 播放 .TS 文件时,时间计数器一开始是正常的,一旦视频播放到 HandBrake 转换失败的那个时间点之后,时间计数器就一直显示为 00。视频和音频都能正常播放到结尾,没有中断,但这似乎说明源 .TS 文件存在某种损坏,VLC/Plex 作为 .TS MPEG-2 可以处理,但转换成 H.264 时就无法处理这个底层数据问题了。

不,我没有得到任何好结果。我使用的是 Comcast,Ceton 四调谐器 USB 调谐器,在 Win7 的 MediaCenter 上,以前从未遇到过这个确切问题。但我注意到了另一个问题。

当我用 MCEBuddy 转成 h.264 后,再用 Windows 版 HandBrake 转 h.265,文件会让 HandBrake 卡死,整个队列就停在那里无法继续下一部视频……非常痛苦,因为我在另一台电脑上,Win7 那台只能扛住 h.264 转码,一步到 h.265 带不动 MCEBuddy。所以我只能把文件拷到网络硬盘,用这台电脑完成 h.265 转换。

也许我该先转成比 h.264 更低的格式,或者干脆只去广告……不知道。

我不觉得是 CableCard 或调谐器的问题。而且正如你所说 Matt,并不是所有视频都出问题,只是一小部分。

现在我只好把卡死的节目直接删掉,可我真不想这么做,有些是连续剧,删了就接不上剧情了。

MCEBuddy 转出来的文件肯定写入了某种错误。