Задать вопрос
@usersay

Как произвести двухпроходное кодирование в HEVC с помощью ffmpeg?

Добрый вечер!
Вводные: имею на руках много блю-рей дисков с любимыми фильмами. Снял защиту (для личного пользования), есть на HDD полная копия с сохранением структуры. Задача сконвертировать фильмы в 720p, контейнер m4v, с кодеком hevc. До этого пользовался только HandBrake. Для H264 меня полностью устраивает HB, но с HEVC не получается. Имею настройки для h264 HB, подогнанные под конкретный фильм (назад в будущее):
Настройки для HandBrake
"D:\HandBrake 1.3.3\HandBrakeCLI.exe" -i "D:\Back to the Future 1985\BDMV\STREAM\0029.m2ts" -t 1 -o "D:\BackToTheFuture.m4v" -f mp4 -O -w 1280 -l 692 --crop 42:42:0:0 --modulus 4 -e x264 -r 23.976 -b 6000 -2 -a none -x cabac=0:ref=3:me=umh:b-pyramid=none:b-adapt=2:weightb=0:trellis=0:weightp=0:vbv-maxrate=9500:vbv-bufsize=9500:subq=9:merange=32:deblock=-2,-2:qcomp=0.80:qpmin=0:qpmax=69:fast_pskip=0:aq-strength=0.8:no-dct-decimate=1:psy-rd=1.00,0.25

Почитав про команды ffmpeg понял, что нужно что-то, вроде этого:
Настройки для ffmpeg
"D:\ffmpeg-N-100898-gd16b0a4bf0-win64-gpl-vulkan\bin\ffmpeg.exe" -i "D:\Back to the Future 1985\BDMV\STREAM\00294.m2ts" -map 0:0 -c:v libx265 -f mp4 -vf crop=42:42 -s 1280x692 -r 23.976 -b:v 4500 -passlogfile "D:\x265_2pass.log" -x265-params pass=2:cabac=0:ref=3:me=umh:b-pyramid=none:b-adapt=2:weightb=0:trellis=0:weightp=0:vbv-maxrate=9500:vbv-bufsize=9500:subq=9:merange=32:deblock=-2,-2:qcomp=0.80:qpmin=0:qpmax=69:fast_pskip=0:aq-strength=0.8:no-dct-decimate=1:psy-rd=1.00,0.25 -an -sn "D:\BackToTheFutureHEVC.m4v"

Выкидывает ошибки, At least one output file must be specified, например. Аудио и субтитры переносить не нужно.
Прикреплю чистые настройки, из которых нужно исходить:
Чистые настройки для ffmpeg
"D:\ffmpeg-N-100898-gd16b0a4bf0-win64-gpl-vulkan\bin\ffmpeg.exe" -i "D:\Back to the Future 1985\BDMV\STREAM\00294.m2ts" -map 0:0 -c:v libx265 -f mp4 -vf crop=42:42 -s 1280x692 -r 23.976 -b:v 4500 -x265-params cabac=0:ref=3:me=umh:b-pyramid=none:b-adapt=2:weightb=0:trellis=0:weightp=0:vbv-maxrate=9500:vbv-bufsize=9500:subq=9:merange=32:deblock=-2,-2:qcomp=0.80:qpmin=0:qpmax=69:fast_pskip=0:aq-strength=0.8:no-dct-decimate=1:psy-rd=1.00,0.25 -an -sn "D:\BackToTheFutureEXPhevc.m4v"

В общем, для hb настройки 100% рабочие и правильные. Если я какие-то настройки неправильно перенес в ffmpeg (что возможно), напишите, пожалуйста. И как быть с двумя проходами? Настройки, такие как psy-rd, crop, разрешение, частоту кадров и т.д. менять нельзя.
*советы по типу "найди, скачай готовый", "купи", "для 720p hevc не нужен!" не принимаются
**собрать в mkv через eac3tо могу, но здесь всё в одном файле. Даже больше. Две видеодороги, map 0:0 нужен для выбора дороги
  • Вопрос задан
  • 511 просмотров
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы