2012-10-19 62 views
4

我前段時間下載了一些flv視頻,當觀看它們時,他們停在某一點。如果我跳過這一點上,他們繼續打細,直到另一點,我可以再次跳過(和循環下去,直到視頻結束)修復早期停止的flv文件

我已經嘗試過

avconv -i input.flv -acodec copy -vcodec copy -g 1 output.flv

根據我的理解,通過閱讀關於此問題的大多數無用帖子,我的元數據中沒有任何關鍵幀,然後在出現壞幀時停止。

我試着設置-g較高,但在相同的點與原始文件停止首次哪裏output.flv停止。有沒有任何工具可以解決這個問題。

我不記得原來的鏈接定位和重新下載不是一個選項,你可以看到我重新編碼的嘗試已經失敗。

我使用Linux操作系統Ubuntu,所以我不能使用Windows工具可用。

編輯

奮鬥了很多之後,我依然沒有能夠修復文件。

我假設MetaData是問題,我錯了。在嘗試了一系列工具後,我發現它們大多數都是以文件結尾(在文件中間)停止的。

元數據是它應該是。 (我成功提取了它)。看來這些溪流是腐敗的。我試圖重新合併,重新編碼注入元數據他們沒有工作他們生產的文件,仍然卡住在同一地點或簡單的流直到壞點。

我的問題是由於上市這裏如出一轍:link

任何幫助將不勝感激。即使我必須使用十六進制編輯器來分割一些文件,我也會採取任何解決方案。 (我試圖消除我雖然是壞的位,但導致它根本無法播放)

我有一個Windows機器在我手上現在這樣運行的Windows實用程序是沒有問題的了。

+0

玩什麼?怎麼樣 ? flv是來自Macromedia(現爲Adobe)的專有容器,主要問題不在於Linux vs windows,而在於它是專有格式。使用手剎或類似工具,這是您最好的機會http://en.wikipedia.org/wiki/Flash_Video#FLV_converters – Ken

+0

我沒有足夠的帶寬下載手剎。我用內置的電影播放器​​播放它們。我也嘗試在我的朋友的Windows電腦上使用VLC.Media播放器的經典和Windows媒體播放器。我知道flv是一個容器,它來自Adobe。我沒有看到Window vs Linux的比較,我只是不能運行Linux上的任何Windows工具。 – Xonar

+0

嘗試使用葡萄酒,從PPA的最新版本是一個大的錯誤修復版本,可以使許多事情工作。 – Ken

回答

3

我修好了。

不是我所期待的解決方案,但我設法用avconv

avconv -ss "$TIME" -i "$IN" -vcodec copy -acodec copy "$OUT"."$PART".mkv 

把SS分割文件轉換成不同的位之前輸入文件導致它使用關鍵幀跳轉到正確的位置,然後沒有遇到腐敗的位和崩潰。在每次損壞之後,我用新的$ TIME重複上一步。

最後我avconv CONCAT選項添加所有位一起,現在,它的工作原理。當達到先前的損壞位時,視頻跳轉一點,但沒關係。

+0

你能否澄清一下,你如何得到正確的時間/(下一個)關鍵幀信息?您是通過手動檢查文件或使用某種工具來完成的。你是否用它做了一些腳本。如果有,請分享一下。我使用FFMPEG做同樣的事情,是的,它的工作,但我想要更多的準確性,因爲我一直在手動選擇時間。謝謝! – msinfo

+0

我從一個工具中獲得了關鍵幀(不記得是哪個),並且我使用了一個python腳本(我沒有了:()來解釋它,並用ffmpeg與我從該工具獲得的關鍵幀信息進行分割。 – Xonar

+0

@Xonar:'ffmpeg',當試圖轉換FLV文件時,告訴我這個:「新音頻流0:2在pos:4696739和DTS:211.198s」,所以我得到了確切的時間。 – Geremia