

Сжимаем фильмы с помощью ffmpeg
Автор
Al71
, 17 мар 2018 14:16
Сообщений в теме: 70
#61 OFFLINE
Отправлено 11 Февраль 2021 - 12:13
Не знаю у меня всегда на 100% загружен процессор во время кодирования.
#63 OFFLINE
Отправлено 11 Февраль 2021 - 15:17
Скрытый текстtop -H
#64 OFFLINE
Отправлено 11 Февраль 2021 - 16:28
Damian, я вижу только два работающих ( R ) процеccа ffmpeg, один грузит поток на 73,4%, другой грузит второй поток на 28,3%. Откуда ты взял 100%, я не понимаю. Если хочешь посмотреть суммарную загрузку процессора ffmpeg'ом, можешь запустить top без -H, только эту величину надо делить на число потоков.
#65 OFFLINE
Отправлено 12 Февраль 2021 - 10:39
Откуда ты взял 100%, я не понимаю.
ffmpeg -i zout.mp4 -filter_complex \ "[0:v]trim=duration=333[av];[0:a]atrim=duration=333[aa];\ [0:v]trim=start=350,setpts=PTS-STARTPTS[bv];\ [0:a]atrim=start=350,asetpts=PTS-STARTPTS[ba];\ [av][bv]concat[outv];[aa][ba]concat=v=0:a=1[outa]" -map [outv] -map [outa] out.mp4
#66 OFFLINE
Отправлено 12 Февраль 2021 - 12:42
Кстати посмотри правильно я сделал,пока не запускал ещё
из коньков и взял на 2 ядра по 100% и показывают там плюс минус
#67 OFFLINE
#68 OFFLINE
Отправлено 13 Февраль 2021 - 11:19
У тебя всего два потока, поэтому кодек грузит процессор практически по максимуму (на ~90%, остальное коньки и система). При этом температура 55-58оС выглядит более адекватно. У меня при двадцати потоках с этой командой загрузка всего около 30%. Если ограничить число потоков до двух и привязать к ядрам, то получается примерно как у тебя (80-90% на поток). И от разрешения этот процент тоже зависит, как заметил UrryMan.
#69 OFFLINE
#70 OFFLINE
Отправлено 13 Февраль 2021 - 14:10
почему-то после вырезания размер наоборот увеличился что было неожиданностью почти в 2 раза
Бывает, что при перекодировании размер увеличивается. Это может зависеть от исходного видео и заданного crf кодера (по умолчанию 23). К сожалению, просто скопировать видеоряд без перекодирования с одновременной фильтрацией не получится, так как фильтры применяются к raw-формату (mp4-->decoder-->raw-->filter-->encoder-->mp4), но можно явно указать CRF кодера, добавив в последнюю строку -c:v h264 -crf N, где N -- нужный CRF. Например:
ffmpeg -i zout.mp4 -filter_complex \ "[0:v]trim=duration=333[av];[0:a]atrim=duration=333[aa];\ [0:v]trim=start=350,setpts=PTS-STARTPTS[bv];\ [0:a]atrim=start=350,asetpts=PTS-STARTPTS[ba];\ [av][bv]concat[outv];[aa][ba]concat=v=0:a=1[outa]" -c:v h264 -crf 25 -map [outv] -map [outa] out.mp4
Хотя качество при этом вряд ли улучится.
Если использовать первый способ вырезания фрагмента (с опциями -ss и -to), то там можно обойтись без перекодирования, но высока вероятность артефактов, если обрезать не по ключевому кадру. Это, кстати, относится и к графическим редакторам.
#71 OFFLINE
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных