Как добавить и / или сохранить субтитры при конвертировании видео?

Откройте файл tint2 conf:

gedit ~/.config/tint2/tint2rc 

Найдите раздел #Panel и убедитесь, что следующие переменные:

panel_dock = 0
panel_layer = bottom

Найдите раздел # Panel Authoide и установите :

strut_policy = follow_size

Найти полезные подсказки здесь

1
задан 9 November 2012 в 02:23

3 ответа

С ffmpeg add: -c:s copy для недавнего синтаксиса или -scodec copy для старого синтаксиса для копирования потока субтитров. К сожалению, у MP4 нет отличной поддержки субтитров. Вы можете попробовать использовать синхронизированный текст 3GPP, и ffmpeg может конвертировать в этот формат с помощью -c:s mov_text, но я никогда не пробовал. Вы можете протестировать следующим образом:

ffmpeg -i input.mkv -vcodec copy -acodec copy -scodec mov_text output.mp4

Если это не работает, MP4Box из пакета gpac может конвертировать из SRT в синхронизированный текст.

Почему два раза? Один проход с использованием -crf при кодировании с помощью libx264 обычно рекомендуется, если вы не нацеливаете определенный размер выходного файла. См. Руководство по кодированию FFmpeg и x264.

11
ответ дан 25 May 2018 в 04:37
  • 1
    Это меня немного смущает. Можете ли вы предоставить полную команду? Да, я нацелен на определенный размер выходного файла. – JoeSteiger 8 November 2012 в 23:11
  • 2
    @JoeSteiger. Вы должны обновить свой вопрос, сначала предоставив консольный вывод ffmpeg -i input.mkv. – LordNeckbeard 9 November 2012 в 00:10
  • 3
    Выше, что вы имели в виду? – JoeSteiger 9 November 2012 в 02:28
  • 4
    @JoeSteiger Да, это полезно. – LordNeckbeard 9 November 2012 в 03:44
  • 5
    K, дайте мне знать, что делать дальше. – JoeSteiger 9 November 2012 в 07:21

вы можете использовать -map 0, чтобы скопировать все потоки. Если это невозможно в формате, ffmpeg затем должен выходить из строя.

-map 0 сообщает ffmpeg / libav включать все потоки, а не только те, для которых вы определили правила конвекции.

[d2 ] Обычно -map используется для определения отображения потока, т.е. поток 1 на входе должен стать потоком 0 на выходе. С помощью just -map 0 вы скажите ffmpeg / libav, чтобы принимать все потоки без перетасовки.

7
ответ дан 25 May 2018 в 04:37

Если вы просто хотите сделать простое преобразование в mp4, вы можете использовать VLC. VLC примет файл субтитров и отобразит его на выходе.

Для более сложных преобразований, включая стилистику субтитров, вы можете использовать OpenShot.

1
ответ дан 25 May 2018 в 04:37

Другие вопросы по тегам:

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