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

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

1 ответов


я наконец-то нашел ответ.

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

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

для например, если у вас есть файл фильма с 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>

прежняя командная строка снимает поток субтитров (вероятно, все из них, если их несколько), а последний выбирает только нужные потоки декодировать.