.ass 자막에서 사용할 ffmpeg 복사 첨부 글꼴

.ass 자막에서 사용할 ffmpeg 복사 첨부 글꼴

추가 글꼴이 필요한 비디오에 다중화하려는 .ass 파일이 있습니다.

한 파일에서 다른 파일로 첨부 파일을 복사할 수 있는 옵션이 없는 것 같아서 다음을 사용하여 첨부 파일을 모두 버렸습니다.

ffmpeg -dump_attachment:t "" -i input.mkv

하지만 새 파일에 올바르게 가져오려면 어떻게 해야 합니까?

나는 다음을 시도했습니다 :

ffmpeg -i input.mkv -c copy -attach "fontastique.ttf" -metadata:s: mimetype=application/x-truetype-font -attach "Franchise - Extra.ttf" -metadata:s: mimetype=application/x-truetype-font -attach "Painfresco-Italic.ttf" -metadata:s: mimetype=application/x-truetype-font -attach "Painfresco-Regular.ttf" -metadata:s: mimetype=application/x-truetype-font -attach "SETFIRETOTHERAIN.TTF" -metadata:s: mimetype=application/x-truetype-font -attach "Volter__28Goldfish.ttf" -metadata:s: mimetype=application/x-truetype-font output.mkv

글꼴이 첨부된 것처럼 보이지만 비디오/오디오/자막을 포함한 모든 스트림은 설정된 글꼴의 MIME 유형과 함께 표시됩니다.

Stream #0:1: Audio: aac, 44100 Hz, stereo, fltp (default) (forced)
Metadata:
  MIMETYPE        : application/x-truetype-font
Stream #0:2: Subtitle: ssa (default) (forced)
Metadata:
  MIMETYPE        : application/x-truetype-font
Codec 0x18000 is not in the full list.
Stream #0:3: Attachment: unknown_codec
Metadata:
  filename        : fontastique.ttf
  mimetype        : application/x-truetype-font
...etc...

자막은 첨부된 글꼴이 아닌 플레이어의 기본 글꼴로 계속 나타나기 때문에 글꼴을 찾을 수 없습니다.

그만큼문서예는 말한다

ffmpeg -i INPUT -attach DejaVuSans.ttf -metadata:s:2 mimetype=application/x-truetype-font out.mkv

하지만 -metadata:s:2가 무엇을 의미하는지 전혀 모릅니다. 어떤 스트림에 첨부할지 알려주는 줄 알았는데, -metadata:s:22를 자막 스트림으로 사용하면 실패합니다.

Could not write header for output file #0 (incorrect codec parameters ?): Error number -22 occurred

.ass 자막 스트림에서 사용할 MKV 컨테이너에 여러 글꼴을 올바르게 복사하거나 첨부하려면 어떻게 해야 합니까?

답변1

첫째, 실제로 ffmpeg. 이 -map옵션은 일부 기본값을 재정의하고 입력에서 모든 스트림을 선택합니다. 예:

ffmpeg -i infile.mkv -map 0 -c copy outfile.mkv

또한FFmpeg 지도 문서더 많은 정보를 위해서.

기존 비디오에 글꼴을 첨부하는 경우 -metadata:s:2옵션은 실제로 스트림 2를 선택하는 것이지만 출력을 보면 mkvinfo첨부 파일이 자체 스트림임을 알 수 있습니다. 자막 스트림에 "첨부"되지 않습니다. 따라서 귀하의 질문에 대한 예에서 당신은 원할 것입니다 -metadata:s:3. 그리고 추가 첨부 파일은 해당 스트림 지정자를 사용해야 합니다.

관련 정보