不知道有沒有人能解決一個偶發問題:當我用 Hauppauge Capture 錄製 TS 檔並進行剪輯時,偶爾會轉檔失敗。TS 本身播放正常,但即使我用 ffmpeg 手動剪輯也會出問題。典型的狀況是檔案變得非常短,例如一檔電視節目剪完應該是 40–45 分鐘,結果只剩 20 分鐘,或者只有幾秒鐘,只顯示封面圖。
遇到這種情況,唯一的辦法就是重錄。MP4 偶爾也會發生同樣問題。
我試過 OBS,但畫面始終調不好。通常會出現奇怪的橫向模糊,網路上多半建議調 FPS;裝置支援 60fps,我試過 60、30(有人說用倍數)、還有 55,但效果都差不多。
Goose
(Goose)
2
聽起來您的調諧器/錄製驅動程式在訊號微弱時正在產生損壞的影片。
試試這個:
- 將您的設定檔
order 切換為先使用 handbrake,然後再使用 ffmpeg
- 在 轉換任務 → 專家設定 中啟用
Skip remuxing
這樣做會跳過似乎難以處理損壞影片的 ffmpeg,而改由 handbrake 嘗試處理。
下次失敗時我會試試看。我想我沒有保留任何之前失敗的檔案。
我知道我們之前討論過這個,我相信我當時有試過 Handbrake,可能也失敗了——但那應該是幾個月前的事了。
The Brothers Celebrating The Allman Brothers Band 50th Anniversary (2024).ts-TestingAV1Conversions-2024-09-06T18-58-04.log(7.2 MB)
已经过去几周了,但我终于遇到了一个问题的例子,我尝试查看了日志,不过至少在这种情况下,我认为问题不在于转换,而在于剪辑。我使用自定义剪辑生成的EDL文件,结果视频似乎缺失了两部分。这是来自PBS电视台的录制内容,当时正在进行筹款,所以有一些比典型广告更大的剪辑。总共有5次剪辑,包括开头和结尾,因此有4段“有效”片段,而从结果文件来看,最后两段似乎缺失了。视频应该是大约1小时,但现在只有大约38分钟。
有什么想法吗?
Goose
(Goose)
5
我确实看到有5个片段被标记
2024-09-06T18:58:56 MCEBuddy.CommercialScan.Remover → ParseEDL: Cut Segment Start:0.000 End:61.301 Action:0
2024-09-06T18:58:56 MCEBuddy.CommercialScan.Remover → ParseEDL: Cut Segment Start:1212.502 End:1753.003 Action:0
2024-09-06T18:58:56 MCEBuddy.CommercialScan.Remover → ParseEDL: Cut Segment Start:2920.505 End:3536.006 Action:0
2024-09-06T18:58:56 MCEBuddy.CommercialScan.Remover → ParseEDL: Cut Segment Start:4776.211 End:5307.011 Action:0
2024-09-06T18:58:56 MCEBuddy.CommercialScan.Remover → ParseEDL: Cut Segment Start:5414.414 End:6543.000 Action:0
接着我看到在尝试剪切第3段时失败
2024-09-06T18:59:26 MCEBuddy.AppWrapper.FFmpeg → Conversion failed!
→ Process exited with code -1094995529
→ FFMpeg output file size [KB] → 34.00
此后它停止,不再剪切剩余片段(它不应该继续,所以这可能是个bug),但似乎原始文件可能已损坏。
2024-09-06T18:59:26 MCEBuddy.AppWrapper.FFmpeg → [mpegts @ 0000019b322f5e00] Invalid timestamps stream=0, pts=9216112, dts=9216113, size=14338
2024-09-06T18:59:26 MCEBuddy.AppWrapper.FFmpeg → [mpegts @ 0000019b322f5e00] Invalid timestamps stream=0, pts=9492388, dts=9492389, size=38037
2024-09-06T18:59:26 MCEBuddy.AppWrapper.FFmpeg → [mpegts @ 0000019b322f5e00] PES packet size mismatch
2024-09-06T18:59:26 MCEBuddy.AppWrapper.FFmpeg → [mpegts @ 0000019b322f5e00] Packet corrupt (stream = 0, dts = 594041354).
2024-09-06T18:59:26 MCEBuddy.AppWrapper.FFmpeg → [mpegts @ 0000019b322f5e00] PES packet size mismatch
2024-09-06T18:59:26 MCEBuddy.AppWrapper.FFmpeg → [mpegts @ 0000019b322f5e00] Packet corrupt (stream = 0, dts = 594041354).
你能上传原始TS文件和.EDL文件,以便我们复现问题并查看发生了什么吗?
Goose
(Goose)
7
感谢提供的样本。看起来原始视频存在大量时间戳损坏(很可能是由 OTA 信号不佳或电视调谐器驱动问题引起的;如果是驱动问题,可以尝试更换电视调谐器驱动版本或增强 OTA 信号来解决)。
MCEBuddy 之前存在一个缺陷,未能正确检测这些损坏,结果会跳过损坏的视频。我们已在最新的 2.6.5 测试版中修复了此问题。现在它会检测到损坏的视频;如果无法在转换前完成剪切,它会在转换过程中尝试修复视频问题,然后在转换后再尝试剪除广告。出现这种情况时,转换处理时间会变长,但应该能够成功恢复视频并剪掉广告。
请试用最新的测试版,并告诉我效果如何。
我试了下 2.6.5,确实能用,我看到它在第二次结束时切掉了。不过切口相比原版略有偏差——至少 2.65 版本的开头把我原本想剪掉的一小段也保留进来了。
我看看能不能对设备做点什么——它不是调谐器,而是一款面向游戏录像的视频录制设备,但带有 HDMI 和分量输入,所以我用分量线从机顶盒接进去。我发现驱动版本号比官网提供的还高,有点奇怪;USB 线也有点长,我可能会把盒子挪近点,换根更短的新线。
Goose
(Goose)
9
我使用 MCEBuddy 2.6.5 beta,將你上傳的影片檔案與 EDL 剪輯檔案一起跑過「MP4 Unprocessed」設定檔。結果完全依照 EDL 檔案剪輯,與原始檔案一致。我沒有注意到剪輯點有任何差異(最多約 1 秒同步誤差,這是因為剪輯必須在 GOP 邊界上,否則會看到影片撕裂)。
你使用的是哪個設定檔?