
我有一個.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 製作二進位模板):