2015-05-27 27 views
2

我從Udacity下載mp4格式的講座,但它們經常被分解爲2-5分鐘的片段。我想將每個講座的視頻合併爲一個連續的流,我已經在使用AnyVideo Converter的Windows上取得了成功。我試圖做在Ubuntu 15同樣的事情,以及我的大多數網絡搜索結果顯示MP4Box,其文件和所有在線的例子我能找到提供的語法如下:MP4Box MP4串聯不起作用

MP4Box -cat vid1.mp4 -cat vid2.mp4 -cat vid3.mp4 -new combinedfile.mp4 

這將創建一個新的文件與工作音頻,但視頻不起作用。當我用Ubuntu的本機視頻播放器打開時,出現錯誤「在流結束之前沒有解碼有效的幀」。當我用VLC打開時,出現錯誤「Codec not supported:VLC could not decode the format'avc3'(No description for this codec。」我試過使用-keepsys開關,但是我得到了相同的結果

所有的文檔和在線討論使得它聽起來好像我想要做的事情應該很簡單,但我似乎無法找到與我得到的特定錯誤相關的信息。我錯過了嗎?

回答

1

看起來,在'avc3'的存在下,這些視頻是用h.264 | avc編碼的,這些視頻流的連接有幾種模式:視頻流具有兼容的編碼器配置(幀大小......),在這種情況下,只使用一個配置描述該文件(由'avc1'發送信號)。如果配置不完全兼容,MP4Box使用這些配置的「帶內」存儲(由'avc3'發送信號)。另一種方法是使用多個樣本描述條目(流配置),但這不是播放器很好的支持,MP4Box也不可能。除非您想重新編碼視頻,否則沒有別的辦法。在Ubuntu上,您應該可以使用MP4Box:MP4Client附帶的播放器播放「avc3」流。

2

使用-force-cat選項。

例如,

MP4Box -force-cat -add in1.mp4 -cat in2.mp4 -cat in3.mp4 ... -new out.mp4 

從MP4Box文檔:

-force-cat 
     skips media configuration check when concatenating file. 
+0

這個工作!你能解釋爲什麼嗎? 文檔中說, '-force-cat 在連接文件時跳過介質配置檢查。' 我不確定這是如何工作的。 – Gleasonator