Вернуться   Форум > Помощь Зрителям > Советы зрителям: вопросы и ответы
Регистрация Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2017, 14:29   #1
Человек91
Сообщения: n/a
Как вытащить субтитры из матрёшки?

Матрёшка - это мультимедийный контейнер. Имеет формат «.mkv». Внутри могут быть несколько аудио дорожек и субтитры. Предположим вам нужно вытащить только субтитры из видео. Как это сделать?
Извлечение субтитров из формата .mkv

На самом деле вытащить титры из матрёшки очень легко. Но для этого нам понадобится установить программку. Программа весит не очень много, так что не волнуйтесь. А если очень переживаете за место на диске, то можете удалить её после выполненной задачи.
  • Нам понадобится два файла:
  • MKVToolnix. Скачайте этот файл и установите.
  • MKVExtractGUI-2. Скачайте этот файл и разархивируйте в ту директорию куда устанавливали MKVToolnix.
Теперь запустите файл «MKVExtractGUI2.exe». Как видите, программа очень простая. Приступим к извлечению субтитров. Сначала добавляем нужный видеофайл. Затем отмечаем субтитры, которые нужно извлечь. Осталось только нажать по кнопке «Extract», чтобы завершить процесс.
Вот так легко мы смогли извлечь субтитры из матрёшки. Я использовал и дал ссылку на MKVToolnix версии 6.0. Если по какой-то причине вам нужна версия новее, то можете посмотреть на сайте разработчиков.

Источник: mosara.ru.
  Ответить с цитированием
Старый 02.12.2023, 15:17   #2
tlya85
Главный Кинооператор
Медаль пользователю. ЗОЛОТО Любитель
Регистрация: 06.02.2023
Сообщения: 159
Репутация: 11
Извлечение субтитров с помощью ffmpeg

Код:
ffmpeg -i входящий_файл.mp4 выходящий_файл_субтитров.srt




Можно выбрать определённые по порядку субтитры(отсчёт с нуля)

Код:
ffmpeg -i входящий_файл.mkv -map 0:s:0 выходящий_файл_субтитров.srt


Можно переконвертировать некоторые форматы(в том числе dvdsub) в другие

Код:
ffmpeg -i входящий_файл.mkv -f webvtt выходящий_файл_субтитров.vtt

где -f webvtt - итоговые формат


Больше по ссылке:
https://trac.ffmpeg.org/wiki/ExtractSubtitles
  Ответить с цитированием
Старый 07.02.2025, 20:27   #3
HDserial
Менеджер
Медаль пользователю. ЗОЛОТО Завсегдатай
Аватар для HDserial
Регистрация: 12.03.2024
Сообщения: 337
Репутация: 28
Заходим на хорошую и очень понятную тему. В ней все хорошо разписано, что да как
https://forum.kinozaltv.life/showthread.php?t=360229
  Ответить с цитированием
Старый 09.02.2025, 14:57   #4
valera76
Главный Кинооператор
Медаль пользователю. ЗОЛОТОМедаль автору. СЕРЕБРО Форумчанин
Регистрация: 11.10.2008
Сообщения: 811
Репутация: 104
HDserial сказал(a):
Заходим на хорошую и очень понятную тему. В ней все хорошо разписано, что да как
https://forum.kinozaltv.life/showthread.php?t=360229




вопрос в теме другой. Как вытащить субтитры из матрёшки, причем тут два способа как это сделать расписан
в той теме об этом ни слова
  Ответить с цитированием
Старый 09.02.2025, 15:04   #5
valera76
Главный Кинооператор
Медаль пользователю. ЗОЛОТОМедаль автору. СЕРЕБРО Форумчанин
Регистрация: 11.10.2008
Сообщения: 811
Репутация: 104
также можно выдернуть субтитры при помощи Subtitle Edit
запускаем програму и закидываем в это окно видеофайл

Cкрытый текст -
 

если субтитров несколько выбираем какие нужно и в окне появляются субтитры

Cкрытый текст -
 

далее жмем сохранить как

Cкрытый текст -
 

ну и выбираем куда сохранить и формат (.srt это subrip)

Cкрытый текст -
 
  Ответить с цитированием
Старый 15.02.2025, 10:55   #6
Kоenig
Редактор
Медаль пользователю. ЗОЛОТОМедаль автору. ЗОЛОТО Великий Гуру
Регистрация: 16.03.2021
Адрес: Калининград
Сообщения: 3,973
Репутация: 736
Как извлечь субтитры из контейнера mkv с помощью MeGUI.

Скачать программу можно здесь: https://sourceforge.net/projects/megui/files/

Открываем MeGUI.
Во вкладке Tools выбираем HD Streams Extrector.

Cкрытый текст -
 
В новом окне;
1. Открываем видеофайл с субтитрами.
2. Ставим галки на необходимых субтитрах.
3. Выбираем папку сохранения.
4. Запускаем извлечение.

Cкрытый текст -
 
  Ответить с цитированием
Старый 12.04.2026, 20:20   #7
nedovolniy
Зритель
Регистрация: 12.04.2026
Сообщения: 0
Репутация: 0
tlya85 сказал(a):
Код:
ffmpeg …

Сюда уже 50 тыщ людей заглянуло, поэтому вкину дополнение.

В посте выше извлечение с перекодированием (медленное). Чтобы извлечь без перекодирования (быстрее), нужно добавить "-c copy" («копировать исходный поток как есть»), т. е.
Код:
ffmpeg -i "фильм.mkv" -map 0:s:0 -c copy субтитры.srt
При этом выходной формат (его ffmpeg распознаёт по расширению выходного файла) должен соответствовать тому, что запакован внутрь .mkv-файла. (Если там SRT, то и извлечение должно быть в .srt, если там SSA/ASS — то в .ass и т. д.)

Посмотреть, что за формат внутри .mkv-файла можно командой
Код:
ffprobe "фильм.mkv"
Заметьте, ключ -i здесь не нужен. (ffprobe по умолчанию принимает файл только на «вход», в отличие от ffmpeg, у которой ещё и выходы.) Команда выдаст характеристики медиа-потоков:
Cкрытый текст -
 

Можно также узнать формат через "mediainfo фильм.mkv | less".

Чтобы выбрать поток по номеру в формате N:s:N, следует помнить, что первое ‘N’ всегда ‘0’ (оно означает номер входного файла, который указывается через -i, он у вас один), ‘s’ — всегда ‘s’ (означает «выбирать среди тех потоков, что являются субтитрами»), а вторая ‘N’ означает номер среди субтитров по порядку, начиная с нуля. Обратите внимание, что ffprobe выводит номера сразу всех потоков по порядку, не деля их на видео, звук, субтитры и прочие. Можно(!) указывать для ffmpeg поток и в таком виде: " -map 0:N" (без указания типа, тогда ‘N’ будет номером потока «в общей куче»).

С некоторыми форматами может быть загвоздка: вы знаете, что субтитры там есть внутри, но ffmpeg и ffprobe их почему-то не видят. В чём тут дело:
Cкрытый текст -
 

Что с этим делать:
Cкрытый текст -
 


К SSA/ASS субтитрам обычно требуется извлечь и шрифты:
Код:
ffmpeg -dump_attachment:t "" -i "фильм.mkv"
ffmpeg может иногда ругаться, но обычно это из-за того, что кто-то положил один шрифт два раза и при извлечении ffmpeg замечает, что «файл с таким именем уже существует» и его придётся перезаписать. В конец команды можно дописать " < <(yes)" (заметьте пробелы), чтобы ответить «да переписывай и не спрашивай».

Хотя формат WebVTT/VTT (ютубский) и происходит от SubRip, они взаимно не совместимы (хотя ffmpeg способен перекодировать субтитры из одного формата в другой).

VobSub/DVD-субтитры обычно извлекаются в два файла: один с кадрами, другой — индексный для него. С ними отдельная песня, из памяти я это не извлеку.

HDMV/PGS (блюрейные) представляют собой пиксельные, как и DVD’шные, но вроде извлекаются в один файл, поэтмоу с ними проще.

"ffmpeg -hide_banner -v error" снизит количетсво строк в выхлопе до минимума.
  Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск



Часовой пояс GMT +3, время: 22:52.