Eu tenho um contêiner .mov
com uma faixa de texto do QuickTime que o QuickTime usa para exibir marcadores de capítulo. No Guia do usuário do QuickTime 7 Pro , a descrição de como fazer isso é na edição e criação com o QuickTime Pro - > Alterar as propriedades do filme - > Criando uma lista de capítulos para um filme. Não vou colocar todos os 20 passos aqui.
Gostaria de extrair essa faixa de texto do contêiner .mov
usando o ffmpeg. O ffmpeg relata esses fluxos como presentes no meu contêiner:
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
O ffmpeg acha que cada marcador de capítulo é seu próprio fluxo? Que tipo de seletor devo usar com map
para selecionar a faixa de texto? Temos v
para vídeo, s
para legendas, etc., mas nada para capítulos.
Idealmente, gostaria de mostrar os capítulos no formato WebVTT. Devo apenas especificar meu nome de arquivo de saída como out.webvtt
?
Dumping the Stream # 0: 2 com ffmpeg -i input_movie.mov -map 0:d:0 -c copy -f data text.bin
produz alguns dados binários que contém os nomes dos capítulos acima. No entanto, parece que não consigo encontrar os timestamps nesses dados. Os dados certamente não estão no mesmo formato do arquivo de texto que usei como entrada. Aqui está a melhor interpretação que eu poderia fazer (fazendo um template binário para o 010 Editor):