我試圖從Ustream網站的替代版本下載視頻。本網站明顯用於DRM保護,實際上,如果您無法通過本網站的登錄信息訪問此視頻,則無法觀看此視頻。 視頻系統應該與ustream(相同鏈接)使用的相同,即每x秒調用不同的flv塊並將它們合併到流中(類似於rtmp服務,但不使用此協議)。從流網站合併.flv塊
我設法下載構成這個視頻的每個.flv塊,但是我在合併到一個文件時遇到了問題。首先這些文件有一些音頻/視頻滯後/問題,但由於沒有其他方式來下載這個視頻,我並不抱怨時滯。
真正的問題是每個flv文件的持續時間都有一個附加的增加,儘管它有一個正常的大小。視頻持續時間大約是6秒,所以第一個塊是6秒長,第二個塊是12秒長,儘管只有前6個可見(其餘6個是「損壞的」)。如果我嘗試合併(使用ffmpeg或任何視頻加入軟件)所有這些文件(大約600-700,總持續時間爲1小時15分鐘),只有前兩個部分可見,則我什麼也看不到。 (更清楚的是,如果我嘗試合併前兩個塊,文件長度爲18秒,我可以看到前12個;如果我嘗試合併前3個塊,文件長度爲36秒,並且我仍然只能看到前12秒)。
任何人有什麼想法?
堆棧溢出僅用於編程問題,所以您應該顯示您的代碼。 – LordNeckbeard
嗯,我不知道你是否看過這個問題,但沒有代碼可以顯示。我問的是一種合併flv塊在類似/相同的環境中的方法(其中每個塊都帶來前面的塊的持續時間)。合併命令是默認命令。我的問題是要獲得大塊的實際持續時間。我想過修整每個.flv文件,但有700個文件,我必須在最後一個小時減去一個小時減去6秒。 – Iztooi
@Iztooi至少向我們展示了你的ffmpeg「merge」命令。也許它使用不正確,比如你如何合併2或3 flv?有一個鏈接到兩個連續的示例塊?需要檢查每個塊是否有單獨的自己的flv頭和這些時間戳的外觀。基本上,如果chunk-1以6秒的時間戳結束,則chunk-2不能有時間戳爲零的第一幀。在這種情況下,您必須刪除chunk-2的flv標題,並在每幀中編輯時間戳從6秒向上增加。你的編碼語言是否處理字節編輯?或者試試ffmpeg的'genpts'命令? –