如何使用 FFMPEG 提取 QuickTime 文字軌道?

如何使用 FFMPEG 提取 QuickTime 文字軌道?

我有一個.mov帶有 QuickTime 文字軌道的容器,QuickTime 使用它來顯示章節標記。在裡面QuickTime 7 Pro 使用者指南,有關如何執行此操作的說明位於使用 QuickTime Pro 進行編輯和創作 -> 更改影片屬性 -> 建立影片的章節清單。我不會把所有 20 個步驟都放在這裡。

我想.mov使用 ffmpeg 將文字軌道從容器中提取出來。 ffmpeg 報告我的容器中存在這些流:

Chapter #0:0: start 0.000000, end 10.000000
Metadata:
  title           :
Chapter #0:1: start 10.000000, end 181.000000
Metadata:
  title           : Course Objectives
Chapter #0:2: start 181.000000, end 257.966667
Metadata:
  title           : References
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 1280x720 [SAR 1:1 DAR 16:9], 1489 kb/s, 29.89 fps, 30 tbr, 3k tbn, 60 tbc (default)
Metadata:
  rotate          : 0
  creation_time   : 2012-08-11T01:00:09.000000Z
  handler_name    : Apple Alias Data Handler
Side data:
  displaymatrix: rotation of -0.00 degrees
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 191 kb/s (default)
Metadata:
  rotate          : 0
  creation_time   : 2012-08-11T01:00:09.000000Z
  handler_name    : Apple Alias Data Handler
Stream #0:2(eng): Data: bin_data (text / 0x74786574), 0 kb/s
Metadata:
  rotate          : 0
  creation_time   : 2012-08-11T01:00:09.000000Z
  handler_name    : Apple Alias Data Handler

ffmpeg 是否認為每個章節標記都是它自己的流?我應該使用什麼樣的選擇器來map選擇文字軌道?我們有v影片、s字幕等,但沒有章節。

理想情況下,我想以 WebVTT 格式輸出章節。我應該將輸出檔名指定為嗎out.webvtt

轉儲流 #0:2 會ffmpeg -i input_movie.mov -map 0:d:0 -c copy -f data text.bin產生一些包含上述章節名稱的二進位資料。但是,我似乎無法在該數據中找到時間戳。數據的格式肯定與我用作輸入的文本文件的格式不同。這是我能想到的最好的解釋(透過為 010 Editor 製作二進位模板):

二進位資料轉儲

相關內容