视频在重新封装过程中损坏

请求类型:
BUG

编辑:我已将示例视频和日志文件上传到FTP的wvlad文件夹下

MCEBuddy版本与类型(32位或64位):
2.4.7 64位
操作系统与类型(32位或64位):
Windows 7 64位
问题或建议概述:
该视频来自DVB-S2,使用Windows Media Center从西班牙电视台M+ Formula1录制。然而,该错误同样出现在该广播公司所有录制内容中。来自英国BBC HD、iTV HD的录制文件未出现此错误。

重现步骤:
使用任意配置文件转换视频时,由于ffmpeg在mpegts重封装过程中损坏,视频会出现问题。如果跳过重封装,使用未处理mp4(即仍使用ffmpeg复制),视频同样损坏。

我将附上日志文件与视频。日志中可见错误:2017-08-26T21:14:06 McEBuddy.AppWrapper.FFmpeg → [mpegts @ 0000000006f46fa0] 输出流0:2的DTS非单调;前一个:260157215,当前:260153615;将改为260157216。这可能导致输出文件中时间戳错误,并不断重复。

生成的视频非常卡顿/延迟,而原始wtv文件在WMC中播放流畅。

截图:


我还应该提供什么来检查它是否可以修复?

我已经上传了视频、日志到FTP。如果还有其他我可以做的,请告诉我。

你暫時沒問題,謝了。我會看看。

查看了你的日志,源文件里全是错误:

2017-08-26T21:12:46 MCEBuddy.AppWrapper.FFmpeg → [mpegts @ 0000000006f46fa0] Non-monotonous DTS in output stream 0:2; previous: 11552016, current: 11550215; changing to 11552017. This may result in incorrect timestamps in the output file.

这就是卡顿的原因。如果你是用电视调谐卡录制的,请检查其驱动,它似乎正在发送损坏/不合规的数据。如有可能,请尝试更新驱动(即使播放正常,数据本身已损坏,不同解码器处理方式不同)。在此例中,ffmpeg 在重新封装时无法补偿这些错误。

你可以尝试避免重新封装,方法是在转换任务的专家设置里勾选 Skip remuxing,这样编码器或许能补偿这些错误。此功能仅在你拥有捐赠版 Comskip 时可用。

我確實在記錄檔裡看到 ffmpeg 的錯誤訊息,但這並不代表影片本身有問題……而是 MCEBuddy 呼叫的 ffmpeg 出了狀況。

原始 WTV 影片在 mce7、mpc-hc、kodi 與 plex 上都能流暢播放(所以我不認為影片有問題),但根據記錄檔,目前的 ffmpeg 在處理影格時間戳時有問題。

調諧器本身沒有故障。我所有錄影都使用同一顆調諑器,從未出現問題,只有這家電視台的錄影會這樣。我懷疑他們在 H.264 編碼器裡啟用了某個選項,而目前的 ffmpeg 無法妥善處理。

至於跳過 remux,我也試過,但由於我的設定檔是讓 ffmpeg 直接複製影片串流到 MP4,結果又會出現卡頓。