Как отключить декодирование субтитров в ffmpeg


Я пытаюсь конвертировать какой-то видеофайл, содержащий Видео, аудио исубтитры перетекают в другой формат, используяFFMpeg . Однако ffmpeg жалуется на форматсубтитров - он не может декодировать поток. Поскольку мне не нужен этот поток субтитров, я хотел бы знать, как я могу отключить декодирование потока субтитров во время преобразования?

1 18

1 ответ:

Я, наконец, нашел ответ.

Есть такая опция, как -sn, которая отключает декодирование субтитров из входного потока. Также существуют аналогичные варианты декодирования аудио и видео: -an и -vn соответственно.

Оказалось также, что есть и другой способ добиться этого. Можно использовать опцию -map для выбора потоков, подлежащих декодированию. Таким образом, пропуск потока субтитров среди опций -map делает работу.

Например, если у вас есть файл фильма с 3 потоки:

  • поток 0: ВИДЕО
  • поток 1: аудио
  • поток 2: субтитры

Команда преобразования для FFmpeg может выглядеть следующим образом:

ffmpeg -i <input file> -sn -vcodec <video codec> -acodec <audio codec>  <output file>

Или

ffmpeg -i <input file> -vcodec <video codec> -acodec <audio codec> -map 0:0 -map 0:1  <output file>
Первая командная строкаотменяет выбор потока субтитров (возможно, всех, если их несколько), в то время как втораявыбирает только необходимые потоки для декодирования.