#android #ffmpeg #android-ffmpeg
Вопрос:
Все хорошо , но мой результат видео слишком низкого качества, я впервые использую ffmpeg
Это мой приказ
I/System.out: "-y" "-noautorotate" "-ss" "0" "-t" "31" "-i" "/storage/emulated/0/Download/20210227_175547.mp4" "-vf" "crop=w=3837:h=2160:x=1:y=-2070" "-r" "15" "-vcodec" "mpeg4" "-acodec" "copy" "-b:v" "2500k" "/storage/emulated/0/VEditor/VideoCroper/20210227_175547-0-13.mp4"
Комментарии:
1. Добавьте «-vb» «20 М» перед вашим выходным путем. Это даст вам лучшее качество.
2. Зачем использовать старый mpeg4 вместо более современного кодера, такого как libx264, libx265, libvpx-vp9?
3. @llogan это мой первый раз, когда я использую ffmpeg . я постараюсь изучить больше и попробовать этот кодировщик modeern
4. @cropperteam Используйте
I/System.out: "-y" "-noautorotate" "-ss" "0" "-t" "31" "-i" "/storage/emulated/0/Download/20210227_175547.mp4" "-vf" "crop=w=3837:h=2160:x=1:y=-2070" "-r" "15" "-vcodec" "libx264" "-crf" "18" "-acodec" "copy" "/storage/emulated/0/VEditor/VideoCroper/20210227_175547-0-13.mp4"
и читайте вики-файл FFmpeg: H. 264 . Это предполагает, что ffmpeg настроен с--enable-libx264
помощью .5. @llogan все еще получает низкое качество, это моя полная команда
"-y","-noautorotate", "-ss", Start, "-t", Duration, "-i",file_name, "-strict", "experimental", "-vf",sb.toString(), "-r", "15", "-ab", "128k", "-vcodec", "mpeg4", "-acodec", "copy", "-b:v", "2500k", "-sample_fmt", "s16", "-ss", "0", "-t", this.Duration, Output}, Output);
Ответ №1:
Используйте libx264
вместо старых mpeg4
:
I/System.out: "-y" "-noautorotate" "-ss" "0" "-t" "31" "-i" "/storage/emulated/0/Download/20210227_175547.mp4" "-vf" "crop=w=3837:h=2160:x=1:y=-2070" "-r" "15" "-vcodec" "libx264" "-crf" "23" "-acodec" "copy" "-movflags faststart" "/storage/emulated/0/VEditor/VideoCroper/20210227_175547-0-13.mp4"
Контролируйте качество с -crf
помощью опции. Более подробная информация на вики-сайте FFmpeg: H. 264.