Я хочу, чтобы записать файл субтитров (.srt) к команде mp4 video.My является:FFmpeg слишком большой
ffmpeg -i input.mp4 -c:v mpeg4 -q:v 1 -vf subtitles=input.srt out.mp4
Это выход видео с хорошим качеством, но его размер составляет 1.12 ГБ, а входной файл - 213 МБ.
Я думаю, что проблема в kbps выходного файла слишком высока. Битрейт входного файла составляет 568 кбит/с, но выходной файл 3154 кбит/с.
Так что я хочу, чтобы установить КПС, теперь вот мой код:
ffmpeg -i input.mp4 -b:v 569k -minrate 568k -maxrate 570k -c:v mpeg4 -q:v 1 -vf subtitles=input.srt out.mp4
Хотя выходной файл становится меньше (538MB), качество видео является ужасно (для сравнения входного файла) ... Итак, как сделать выходной файл меньшим и в хорошем качестве? Спасибо.
Спасибо, он работает хорошо. Так моя проблема в том, как выбрать кодировщик? Это зависит больше от входного файла или выходного файла? –
Я не уверен, что вы просите. ffmpeg может читать много, много разных типов видео и писать для разных типов. Я не знаю много о mpeg4, за исключением того, что он старше x264. До тех пор, пока ваш входной файл имеет хорошее качество, вы должны иметь возможность получать свой результат с хорошим качеством и схожим размером файла, хотя есть много разных вариантов качества, поэтому это может быть очень запутанным. – WhiteHotLoveTiger
Что-то еще, что вы, возможно, захотите прочитать, это сделать кодировку с двумя проходами. Эта ссылка дает некоторые подробности для x264: https://trac.ffmpeg.org/wiki/Encode/H.264#twopass – WhiteHotLoveTiger