1

Я не могу добавить файл субтитров в файл mp4. Код, который я использовал (кажется, работает один или два раза):

ffmpeg -i "videofile" -vf "ass=assfile" -scodec copy "outputfile"

Как я понял, это статическая сборка. Я использую версию ffmpeg:

ffmpeg version N-70239-g111d79a Copyright (c) 2000-2015

и --enable-libass появится в списке конфигурации.

Когда я добавляю «-v debug» к команде, я вижу, как она разбирает параметры, и кажется, что она как-то понимает «-scodec copy»:

Reading option '-scodec' ... matched as option 'scodec' (force subtitle codec ('copy' to copy stream)) with argument 'copy'.

У кого-нибудь есть идеи, почему это не работает?

2 ответа2

1

Кажется, что проблема связана со статической сборкой, которую я использую, и в результате я должен установить некоторые переменные окружения и иметь файл fonts.conf. Место, где я получил мой ответ:

https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=10&t=318&start=20

Файл fonts.conf также можно найти там.

Я устанавливаю переменные среды:

FC_CONFIG_DIR=C:\Program Files\ffmpeg
FONTCONFIG_FILE=fonts.conf
FONTCONFIG_PATH=C:\Program Files\ffmpeg

... в котором я в основном сохранил файл fonts.conf в корне папки ffmpeg и создал новые переменные.

0

Причина:

Ваш код имеет копию -scodec . Я не думаю, что есть такие scodec, как -vcodec и acodec , я думаю, что это ваша ошибка, поэтому попробуйте удалить ее.

Решение:

ffmpeg -i "videofile" -vf "ass=assfile" "outputfile"

Рассматривать:

Фильтр ass требует, чтобы ffmpeg был скомпилирован с --enable-libass.

Также вы должны быть уверены, что используете файлы задницы, если нет, пожалуйста, преобразуйте их в задницу, используя

ffmpeg -i yourSubtitle.srt yourSubtitle.ass

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .