Как выбрать кодек и контейнер ffmpeg для видеосервера с низкой пропускной способностью:
Вы можете загрузить, установить и использовать Handbrake для 64-разрядной версии Windows и WinFF, чтобы узнать, какие настройки использовать.
Пользователи Windows используют NUL вместо /dev/null и ^ вместо \
Пользователи не-Windows используют /dev/null вместо NUL и \ вместо ^
ffmpeg -y -i "1.mkv" -c:v libx265 -b:v 4M -pass 1 -an -f matroska NUL &&^
ffmpeg -i "1.mkv" -c:v libx265 -b:v 4M -pass 2 -c:a aac -b:a 128k "output.mkv"
rem
такой же как
ffmpeg -y -i "1.mkv" -c:v libx265 -b:v 4M -pass 1 -an -f matroska NUL && ffmpeg -i "1.mkv" -c:v libx265 -b:v 4M -pass 2 -c:a aac -b:a 128k "output.mkv"
rem
Возможно, вы захотите сравнить коэффициент постоянной скорости (CRF) с двухпроходным ABR и 265 с 264. 720p в контейнере mp4, H264 с максимальным битрейтом 4 Мбит/с и аудио AAC могут быть вашим лучшим выбором. CRF265 создает самый маленький файл.
Сделайте 15-секундное видео, начиная с 1 минуты, в:
ffmpeg -ss 00:01:00 -y -i "1.mkv" -c:v libx264 -b:v 4M -filter:v scale=1280:720 -preset slow -c:a copy -t 00:00:15 "outputSlow264720p.mp4" &&^
ffmpeg -ss 00:01:00 -y -i "1.mkv" -c:v libx264 -b:v 4M -f matroska -c:a copy -t 00:00:15 "outputSlow264.mkv" &&^
ffmpeg -ss 00:01:00 -y -i "1.mkv" -c:v libx265 -crf 28 -f matroska -c:a copy -t 00:00:15 "outputCRF265.mkv" &^
ffmpeg -ss 00:01:00 -y -i "1.mkv" -c:v libx265 -b:v 4M -f matroska -c:a copy -t 00:00:15 "output4M265.mkv" &^
ffmpeg -ss 00:01:00 -y -i "1.mkv" -c:v libx264 -preset slow -crf 22 -f matroska -c:a copy -t 00:00:15 "outputCRF264Slow.mkv" &^
ffmpeg -ss 00:01:00 -y -i "1.mkv" -c:v libx264 -b:v 4M -f matroska -c:a copy -t 00:00:15 "output4M264.mkv"
rem
См. https://trac.ffmpeg.org/wiki/Encode/H.265 Эти преимущества будут наиболее заметны при разрешении 1080p и выше.
См. https://trac.ffmpeg.org/wiki/Encode/H.264 CRF: рекомендуемый режим управления скоростью для большинства случаев.
См. https://programminghistorian.org/en/lessons/introduction-to-ffmpeg
См. https://opensource.com/article/17/6/ffmpeg-convert-media-file-formats
См. https://davidhide.com/2019/02/03/compressing-audio-with-ffmpeg-и-powershell/
См. https://slhck.info/video/2017/02/24/crf-guide.html
PowerShell в одну строку с заменой ^ и && : вывод h265.mkv и h264.mp4 за 2 прохода
ffmpeg -ss 00:01:00 -y -i "1.mkv" -c:v libx265 -b:v 4M -pass 1 -an -f matroska -t 00:00:15 NUL; if($?) {ffmpeg -ss 00:01:00 -y -i "1.mkv" -c:v libx265 -b:v 4M -pass 2 -c:a copy -t 00:00:15 "output.mkv"}
ffmpeg -ss 00:01:00 -y -i "1.mkv" -c:v libx264 -b:v 4M -pass 1 -an -f mp4 -t 00:00:15 NUL; if($?) {ffmpeg -ss 00:01:00 -y -i "1.mkv" -c:v libx264 -b:v 4M -pass 2 -c:a copy -t 00:00:15 "output.mp4"}
rem
PowerShell в две строки: 720p h264.mp4 2-проходный вывод
ffmpeg -ss 00:01:00 -i "1.mkv" -c:v libx264 -b:v 4M -filter:v scale=1280:720 -preset slow -c:a copy -t 00:00:15 -pass 1 output.mp4
ffmpeg -ss 00:01:00 -y -i "1.mkv" -c:v libx264 -b:v 4M -filter:v scale=1280:720 -preset slow -c:a copy -t 00:00:15 -pass 2 output.mp4
rem
Предустановка — см. https://trac.ffmpeg.org/wiki/Encode/H.264
Предустановка — это набор параметров, которые обеспечат определенную скорость кодирования по отношению к коэффициенту сжатия. Более медленная предустановка обеспечит лучшее сжатие (сжатие — это качество на размер файла). Это означает, что, например, если вы ориентируетесь на определенный размер файла или постоянный битрейт, вы добьетесь лучшего качества с более медленным пресетом. Точно так же для кодирования постоянного качества вы просто сэкономите битрейт, выбрав более медленный пресет.
Используйте самый медленный пресет, на который у вас хватит терпения. Доступные пресеты в порядке убывания скорости:
ultrafast
superfast
veryfast
faster
fast
medium – default preset
slow
slower
veryslow
person
somebadhat
schedule
16.05.2020