Нужен ли x264 в FFmpeg для извлечения субтитров?

291
user25

Я планирую скомпилировать свою собственную сборку FFmpeg и хочу отключить ненужные библиотеки (например, с лицензией GPL)

Мне нужно использовать FFmpeg только для извлечения субтитров https://trac.ffmpeg.org/wiki/ExtractSubtitles

Эта функция требует x264? ffmpeg -i videofile.mkv -map 0:s:0 subs.srt

Нужно ли собирать FFmpeg с помощью --enable-libx264или я могу собрать, --disable-libx264и он все еще будет работать (извлечение субтитров)?

0
Субтитры не являются видеокодеками, вам не нужны никакие видеокодеки для извлечения субтитров. Ipor Sircer 5 лет назад 1
x264 не декодирует субтитры, поэтому вам это не нужно. Gyan 5 лет назад 0
@ Большое спасибо, я собираюсь создать список того, что мне нужно только для извлечения субтитров (чтобы сделать двоичный размер ffmpeg как можно меньше), можете ли вы предложить что-то еще для отключения (`--disable -...` )? user25 5 лет назад 0
Если вы не собираетесь конвертировать какие-либо сабы; все, что вам нужно, это нативные демультиплексоры и мультиплексор данных. Если вы хотите конвертировать в ASS или SRT, то вам понадобятся кодеры и мультиплексоры ass / srt, а также декодер для подформата. Gyan 5 лет назад 0
@Gyan да, когда я извлекаю подпрограммы, я пытаюсь извлечь подпрограммы как SRT, поэтому я не удаляю следующие библиотеки: libass, freetype, fontconfig user25 5 лет назад 0
Не требуется - это для рисования символов - ваша задача требует извлечения или преобразования одного текстового файла в другой. libass для фильтра субтитров, который рисует видеокадры; fontconfig / freetype предназначен для преобразования текста в глифы для использования фильтром drawtext. Gyan 5 лет назад 1
@Gyan, так, например, libass не требуется для преобразования задницы в srt? user25 5 лет назад 0
Нет, это требуется только для фильтров задницы и субтитров. Gyan 5 лет назад 1
@Gyan спасибо, я надеюсь, что это уменьшит размер двоичного файла user25 5 лет назад 0
@Gyan У меня также есть `--extra-libs =" - lexpat -lm "` в файле сборки sh, я не уверен, если они нужны (libexpat, libm) user25 5 лет назад 0
libm может потребоваться в другом месте, но libexpat - вероятно, нет. Gyan 5 лет назад 0

1 ответ на вопрос

1
Ignacio Vazquez-Abrams

x264 требуется только для видео. Если вы просто хотите извлечь дорожки из контейнера MKV, тогда все, что вам нужно, это mkvextract.

это не обязательно контейнер mkv, может быть любой, который содержит субтитры, использует ли FFmpeg mkvextract? user25 5 лет назад 0
Вероятно, нет, так как он обычно обрабатывает сами треки. Ignacio Vazquez-Abrams 5 лет назад 0
x264 - кодировщик - он также не распаковывает видео; он сжимается только до H264. Gyan 5 лет назад 0
@Gyan: Это звучит как то, что вы должны сказать спрашивающему. Ignacio Vazquez-Abrams 5 лет назад 0
Я думаю, что я все еще буду использовать FFmpeg (потому что он кроссплатформенный, даже для Android), также FFmpeg использует некоторые другие зависимости (такие как libass, freetype, fontconfig) и mb расширяют возможности для извлечения субтитров различного типа user25 5 лет назад 0
@ IgnacioVazquez-Abrams - я обращаюсь к первому предложению вашего ответа. Gyan 5 лет назад 0

Похожие вопросы