Hardcoded captions ou Open Captions: legendas não removíveis, integradas do fluxo de vídeo;
Closed Captions: legendas removíveis mas não detectadas por aplicações como mkvtoolnix, MediaInfo, etc..;
PGS (Presentation Grapic Stream) (SUP): consistem em bitmaps com o tempo/frame de exibição;
SRT (SubRip Text): as mais usuais neste site, nada mais que um ficheiro de texto facilmente manipulável!
Como exemplo, se usarem o VLC player constatam que, na secção de escolha de legendas ou ferramentas informação de codec,
aparece/pode aparecer algo como no seguinte exemplo:
Noções
A primeira coisa a entender é que para EIA-608 e padrões similares de legendas deste tipo, as mesmas são incorporadas directamente no fluxo de bits de vídeo como dados de utilizador.
Os fluxos de bits H.264 são armazenados como uma sequência de unidades NAL (network abstraction layer).
Os dados do utilizador são armazenados numa unidade NAL do tipo "supplemental enhancement information" (SEI).
Cada unidade tem um tipo, os tipos correspondem a um número que, segundo as especificações H.264, são do tipo 6
O ffmpeg possui um filtro de fluxo de bits chamado filter_units, que permite passar ou rejeitar unidades NAL por tipo.
Objectivo, a remoção deste tipo de legendas sem recurso a reencode, à semelhança do que se faz com o mkvtoolnix, recorrendo ao bitstream filter de nome filter_units do ffmpeg.
Via linha de comandos:
Código: Selecionar todos
ffmpeg -i input_file_name.mkv -bsf:v "filter_units=remove_types=6" -c copy output_file_name.mkv
Via linha de comandos:
Código: Selecionar todos
ffmpeg -bsfs
Em H264
Antes
Código: Selecionar todos
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, 23.98 fps, 23.98 tbr, 1k tbn (default)...
Código: Selecionar todos
Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)...
Em H265
para remover as CC: remove_types=39
Atenção, em H265: vai também outra informação mas o fundamental fica, carece melhor verificação!
O binário mais recente é mais lento mas para a esmagadora maioria é indiferente!
Editado: passagem a tutorial, remoção de informação sensível!
cumprimentos