2014-03-04 30 views
0

如何合併abc.mp4.tmp交換文件與實際abc.mp4文件。我試圖使用Wowza Media server 3.6錄製一個現場活動,錄製的文件在最後時刻沒有被正確複製。 abc.mp4.tmp交換文件未與實際abc.mp4文件合併。因此,能不能有人告訴我如何合併abc.mp4.tmp和abc.mp4文件,並創建一個新的文件,我可以能夠與VLC合併filename.mp4.tmp與文件名.mp4

這裏玩的是文件的MediaInfo

[[email protected] content]# mediainfo 03_03_2014_12_03_08.mp4 
General 
Complete name       : 03_03_2014_12_03_08.mp4 
Format         : MPEG-4 
Format profile       : Adobe Flash 
Codec ID         : f4v 
File size        : 5.20 GiB 


[[email protected] content]# mediainfo 03_03_2014_12_03_08.mp4.tmp 
General 
Complete name       : 03_03_2014_12_03_08.mp4.tmp 
File size        : 38.3 MiB 
+0

'ffmpeg'爲'03_03_2014_12_03_08.mp4.tmp'顯示了什麼信息?請包含'ffmpeg -i 03_03_2014_12_03_08.mp4.tmp'的完整控制檯輸出。 – LordNeckbeard

+0

我沒有使用FFMPEG進行錄製。我正在使用Wowza Media Server 3.6版本記錄實時流。所有直播節目正在正確錄製,但不幸的是這個文件(03_03_2014_12_03_08.mp4)由於某種原因(可能是網絡問題)沒有合併。有沒有任何選擇來合併它並使用ffmpeg創建一個新的? - 感謝您的投入! – Sathish

+0

您需要包含我請求的控制檯輸出。 – LordNeckbeard

回答

0

在進行記錄的過程中,.mp4文件包含ftypwide原子,後面是附加視頻/音頻數據的mdat原子。 mdat原子尚未設置其sizetype字段。

.mp4.tmp文件包含Wowza特定的格式,用於存儲stbl(樣本表)條目,這些條目可以在記錄時附加到記錄。在這個文件中的每個條目具有一個4字節的type字段(stszsttsstscstcostss),其次是4字節size場,接着size字節的數據(由type/size字段是所使用的字節不包括在size字段的值中)。這種格式是基於我使用Wowza 4.1.2創建的文件,並可能隨新的Wowza版本而改變。

我也有一個由Wowza從相同的輸入源創建的已知好的.mp4文件用作參考。

要創建一個工作.mp4文件,我的mdat原子的size字段設置爲殘留在.mp4文件的字節數和type字段mdat,然後將其附加一個moov原子從原子的已知的良好文件建以及.mp4.tmp文件中的示例表條目。

.mp4.tmp文件樣本表條目並不表示它們是否適用於視頻或音頻軌道,於是花了基於平均樣本大小,每塊平均樣本一些猜測,而爲了寫進.mp4.tmp文件確定如何將這些條目映射到曲目。由於記錄被中斷,並非所有的樣本表都顯示存在相同數量的樣本,所以我截斷了較長的樣本。

Apple's QuickTime File Format docs爲我需要重新創建以獲取工作文件的原子結構提供了很好的參考。