2015-06-08 93 views
2

我有一個帶有單個程序的mpeg-ts文件。該程序由一些流 - 一個視頻流和一些元數據流組成。使用ffmpeg從mpegts文件中提取特定流的字節

我想提取一個特定的流到一個單獨的文件。然而,元數據使用ffmpeg不知道的編解碼器進行編碼。我並不在意這一點 - 我只是想將數據提取爲字節,而不使用mpeg-ts容器標題。我試圖使用編解碼器「複製」,但沒有成功。

我試過如下:

ffmpeg -i video.ts -map 0:1 -codec copy stream.txt 

但是ffmpeg的說:

Unable to find a suitable output format for stream.txt 

上述錯誤僅是因爲ffmpeg的不知道如何輸出文本文件。於是,我就輸出與「rawvideo」容器:

ffmpeg -i video.ts -map 0:1 -codec copy -f rawvideo stream.txt 

但是:

Cannot map stream #0:1 - unsupported type 

只是爲了確保我可以提取一個未知的編解碼器的內容我嘗試了以下內容:

ffmpeg -i video.ts -map 0:1 -codec copy stream.ts 

但是:

Cannot map stream #0:1 - unsupported type 

所以我的問題是:

  • 我可以提取未知編解碼器流的字節流嗎?如何?
  • 如何輸出沒有任何容器的字節流?我應該使用rawvideo嗎?
+0

試'的ffmpeg -i video.ts -map 0:v -c:V複製stream.ts'或'的ffmpeg -i video.ts -an -c:v copy stream.ts' – wimh

+0

該命令提取視頻流。我如何提取元數據? – MaMazav

回答

0

我不確定你可以用ffmpeg來做到這一點。 你可以用ffprobe獲得一些信息,但更好的選擇是tstools。

tsinfo yourfile.ts > metadata.txt 
2

使用

ffmpeg -i video.ts -map 0:1 -codec copy -f data stream.txt 
+0

是否有某種方法可以將生成的txt解碼爲可讀的信息,例如csv格式? – vascobnunes

+1

這完全取決於數據流的格式。但不要指望ffmpeg。 – Mulvya

相關問題