Увеличение размера субтитров," мягко " встроенных в mkv

У меня есть некоторые MKV файлы, которые имеют Advanced SubStation Alpha (ASS) субтитры в них. Субтитры "переключаемые", поэтому они, вероятно, не "сожжены".

моя цель-как-то-увеличить размер шрифта эти субтитры. Лучше всего было бы напрямую изменить свойства потока субтитров (если это даже имеет смысл?) внутри файла MKV. (Настройки медиа-плеера относительно размера шрифта не помогут; я буду воспроизводить эти MKV файлы на моем телевизоре.) Это позже сделает мой HandBrake транскодирование проще, так как эта программа не может импортировать любой другой формат субтитров, кроме SRT. Однако он может использовать субтитры ASS если они встроены в файл транскодируется. Поэтому самый простой способ сохранить-изменить-субтитры в МКВ.

но я даже не знаю, с чего начать...

25
задан Laxask
28.12.2022 9:17 Количество просмотров материала 2740
Распечатать страницу

1 ответ

Ну, у меня получилось. Это не оптимальный путь, но я торопился. Ниже, как я решил свою проблему.

(кроме того, не забудьте установить mkvtoolnix. Пользователи Linux могут просто вытащить пакет из своего репозитория, в то время как пользователи Windows могут попробовать загрузить mkvtoolnix С официальный сайт.)

  1. Run mkvinfo <mkv filename> и получить индекс субтитров.
  2. Run mkvextract tracks <mkv filename> <subtitle track index>:<mkv filename>.ass
  3. заменить размеры шрифта выводимого <mkv filename>.ass с текстовым редактором.
  4. Run mkvmerge -o <new mkv filename> <mkv filename> --language 0:eng <mkv filename>.ass
  5. перекодирования <new mkv filename> С ручной тормоз и смотрите транскодированный файл по телевизору.

пример с файлом dn-01.mkv:

  1. Run mkvinfo dn-01.mkv и программа выведет некоторую информацию о файле mkv. Найдите трек субтитров и соответствующий ему номер. обязательно использовать число в скобках, так как он используется для mkvextract. В моем случае информация о дорожке субтитров была:

    | + A track
    |  + Track number: 3 (track ID for mkvmerge & mkvextract: 2)
    |  + Track UID: 476285904
    |  + Track type: subtitles
    |  + Enabled: 1
    |  + Default flag: 1
    |  + Forced flag: 0
    |  + Lacing flag: 0
    |  + MinCache: 0
    |  + Timecode scale: 1
    |  + Max BlockAddition ID: 0
    |  + Codec ID: S_TEXT/ASS
    |  + Codec decode all: 1
    |  + CodecPrivate, length 2057
    |  + Language: eng
    
  2. Run mkvextract tracks dn-01.mkv 2:dn-01.ass и ждать.

  3. открыть dn-01.ass С некоторым текстовым редактором, и изменить размеры шрифта под V4+ Styles заголовок в начале файла. (Не забудьте изменить размер все стили, а не только Default.) Пример:

    Style: Default,Marker Felt,27,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,0,2,10,10,10,0
    Style: SIGN,Sand,36,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,0
    (more)
    

    ... станет ...

    Style: Default,Marker Felt,42,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,0,2,10,10,10,0
    Style: SIGN,Sand,54,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,0
    (more)
    

    сохранить файл после изменений.

  4. Run mkvmerge -o dn-01-modified.mkv dn-01.mkv --language 0:eng dn-01.ass и ждать. После того, как процесс был завершен, вновь созданный dn-01-modified.mkv будет иметь дополнительный трек субтитров, который должен быть больше по размеру рендеринга, чем оригинальный трек субтитров.

теперь все готово! я хотел посмотреть видео по телевизору. Если вы хотите сделать это, или играть на другом устройстве, тогда:

  1. перекодирования dn-01-modified.mkv С некоторой программой транскодирования видео, используя соответствующие настройки для вашего целевого устройства. (не забудьте, чтобы гореть в недавно добавленный трек субтитров в само видео, Если ваше целевое устройство не может воспроизводить субтитры!) В моем случае, я использовал HandBrakeCLI с настройками ниже для использования на телевизоре Samsung 60". Обратите внимание, что я горю в подзаголовке, так как мой Телевизор не любит субтитры.

    HandBrakeCLI -e x264 -q 20.0 -a 1 -E ffac3 -B 160 -6 dpl2 -R Auto -D 0.0 --audio-copy-mask aac,ac3,dtshd,dts,mp3 --audio-fallback ffac3 -f mkv --loose-anamorphic --modulus 2 -m --x264-preset veryfast --h264-profile main --h264-level 4.0 --subtitle "2" --subtitle-burned 2 -i dn-01-modified.mkv -o dn-01-modified-burned.mkv
    
  2. воспроизведение перекодированного файла dn-01-modified-burned.mkv на целевом устройстве.


как я уже говорил в начале:это не оптимальный процесс. Вещи можно сделать лучше, но у меня нет времени, чтобы усовершенствовать этот процесс на данный момент. Было бы также не очень весело делать это для большого количества видеороликов; это будет действительно повторяющимся. К счастью для меня, я должен был сделать это для несколько видеороликов, но в будущем у меня наверняка будет больше видеороликов, чьи субтитры должны быть увеличены, и к тому времени я напишу сценарий bash или python, чтобы сделать все автоматически.

1
отвечен Laxask 2022-12-29 17:05

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх