|
發表於 2009-2-16 21:41:03
|
顯示全部樓層
研究了一下, 發現 tsMuxeR 的 bug 其實是用非常簡單的方法解決的
下面做個圖文說明

先用 AVCHDMe 開啟, 可以看到程式中顯示 clpi 記錄的檔案大小是 00232B2F
實際的檔案大小是 00232B40

查看一下 clpi 的內容, 可以發現 00232B2F 是位於 address 00000038
內容是記錄該 m2ts 的封包數 (這個位址是固定的)
(附帶一提, 這個檢視程式是小輩自己寫的, 目前沒有發佈)

直接打開 m2ts 看內容, 找到檔案的容量大小
然後簡單計算一下, m2ts 每個封包大小是 192 byte
所以是 442,527,744 除以 192
得到的數字是 2304832, 接著再把它轉成 16 進制
出來的數字就是 232B40, 跟 AVCHDMe 顯示的數字相同

用 16 進制編輯軟體, 把 00000038 記錄的封包總數改成正確的封包總數, 接著可以用 AVCHD-Patcher 把檔名格式轉成 8.3 格式 (這部分就不抓圖了)

最後再用 AVCHDMe 打開, 可以發現完全沒有動到 AVCHDMe 的任何操作, 但檔案卻 ok 了
說穿了, 其實是 tsMuxeR 輸出的 clpi 少了 17 個封包
所以在切換檔案時一定會發生停頓或掉畫面的情況
當 AVCHDMe 運作出現錯誤訊息時
可以用這種方式手動去改, 一樣會得到正確的結果
[ 本帖最後由 wirepole 於 2009-2-16 21:42 編輯 ] |
|