пожалуйста, помогите в моем случае у меня есть проблемы здесь для ffmpeg я использую команду:

ffmpeg -i whiskey.mkv -threads 0 -c:v libx264 -crf 28 -preset veryslow -vf "movie=logo.png[wm];[in][wm]overlay=0:0,subtitles=whiskey.srt[out]" whiskey2.mp4

но получите ошибку

root@:~/ffmpeg# ffmpeg -i whiskey.mkv -threads 0 -c:v libx264 -crf 2
8 -preset veryslow -vf "movie=logo.png[wm];[in][wm]overlay=0:0,subtitles=whiskey
.srt[out]" whiskey2.mp4
ffmpeg version N-80522-ge0faad8 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration:
  libavutil      55. 24.100 / 55. 24.100
  libavcodec     57. 46.100 / 57. 46.100
  libavformat    57. 38.102 / 57. 38.102
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 46.102 /  6. 46.102
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
Unrecognized option 'crf'.
Error splitting the argument list: Option not found

Если у вас есть команда для кодирования водяного знака + саб без потери качества, пожалуйста, сообщите мне.

1 ответ1

0

Нет поддержки libx264

Вы пытаетесь использовать кодировщик libx264, но ваш ffmpeg не настроен для поддержки этого кодировщика. Строка configure пуста , но для использования libx264 требуется --enable-libx264 & --enable-gpl .

Самый простой способ исправить это - загрузить статическую сборку ffmpeg: она будет поддерживать libx264.

Нет "потери качества"

Фильтрация требует перекодирования, но вы пытаетесь использовать параметры, которые приведут к потерям.

Если вы действительно не хотите потери качества, вы должны сделать вывод без потерь, но большинство пользователей не хотят этого, потому что файл будет огромным, и не все плееры / устройства могут его поддерживать. Для вывода без потерь с использованием libx264 используйте -crf 0 .

То, что вы, вероятно, на самом деле хотите, это убыточные, но с достаточно хорошим качеством, которое вы не можете сказать, не является технически без потерь. Для этого используйте -crf 18 .

У вашей команды есть лишние, бесполезные опции. Уточненный пример:

ffmpeg -i whiskey.mkv -i logo.png -filter_complex \
"[0:v][1:v]overlay,subtitles=whiskey.srt" \
-c:v libx264 -crf 18 -preset veryslow output.mp4

Если входное аудио совместимо с контейнером MP4, добавьте -c:a copy в поток, скопируйте аудио, а не перекодируйте его.

Также см:

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