Как отключить декодирование субтитров в 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>
прежняя командная строка снимает поток субтитров (вероятно, все из них, если их несколько), а последний выбирает только нужные потоки декодировать.