[爆卦]ffmpeg修復mp4是什麼?優點缺點精華區懶人包

為什麼這篇ffmpeg修復mp4鄉民發文收入到精華區:因為在ffmpeg修復mp4這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者x94fujo6 ()看板AVEncode標題[情報] 串流檔案時間軸損壞修復時間Tue Jun...


最近在錄製youtube之類live
用streamlink抓取串流存為ts檔
因為各種原因
很多live是結束後就沒得重看了
也不會有重錄的機會...

然後終於遇到壞檔了
timestamp損壞
用各種解碼器都只能讀到部分影片
從檔案大小來看剩下的部分還在
只是因為timestamp損壞讀取不出來

使用ffmpeg轉換時出現大量的Non-monotonous DTS in output stream
轉出來的也是只有讀取到的部分的影片

翻了一大堆ts/flv修復的英文討論
結果根本沒有個完整的解決方法
修復軟體不是不支援就是要錢但又不知道有沒有用
有遠古的工具則是win10無法使用或是格式不支援

自己摸出來的免費修復方法 (過程無重新編碼 都是copy)

1.使用mkvtoolnix
把ts檔丟進去
然後下方軌道處選擇視訊→右邊勾選修復位元串流時間資訊
其實就是mkvmerge的參數
--fix-bitstream-timing-information
然後開始multiplexing
輸出成mkv
這階段已經能看到完整長度的時間軸
但後方損壞的部分還是無法播放

2.使用ffmpeg copy成mp4時進行自動修復
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
此時一樣會跳出Non-monotonous DTS in output stream

仔細看會發現開始正確修復了
沒經過前一步的話
損壞的部分會被全部塞到影片結尾的同一個時間點,結果還是不能看

未經過MKV處理的(讀不到後面的部分 全在做白工)
https://i.imgur.com/olfVuGN.jpg

經過處理後的(正確修復)
https://i.imgur.com/JwGNXbP.jpg

這次處理完之後影片應該正常了
但聲音還是出不來

3.再使用mkvtoolnix轉換一次
但加上fps(幀數)設定
一般應該是30或60
29.xx選30000/1001p
這次應該已經聲音也能聽了(不知道為甚麼顯示0位元)

4.再ffmpeg copy成mp4一次
完全正常了

大概是這樣
留個紀錄

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.176.49 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/AVEncode/M.1560187773.A.735.html
※ 編輯: x94fujo6 (114.33.176.49 臺灣), 06/11/2019 01:29:58
※ 編輯: x94fujo6 (114.33.176.49 臺灣), 06/11/2019 01:31:05
※ 編輯: x94fujo6 (114.33.176.49 臺灣), 06/11/2019 01:43:01
sdbb: 推好心分享 06/11 23:05
b325019: 推分享 06/13 08:14
goldie: 推分享 06/13 11:54
kobe8112: 推一個 06/17 11:02
obob321: 今天遇到同樣狀況,搜到這篇,謝謝教學 01/24 20:14

你可能也想看看

搜尋相關網站