Вопросы
Альберт Соколов
816

Лучший способ перекодировать большое количество старых видеофайлов?

Привет, DTF. Во время карантина стал разгребать залежи как реальных вещей, так и цифровых. Бьюсь долгое время с тонной неорганизованной домашней медиатеки и недавно столкнулся с задачей.

Большинство видео на всяких старых рекордерах (как в Поле Чудес еще в подарок дарят камерки :D) записывается без сжатия и, как следствие, мы имеем отвратительный размер файлов при никакущем качестве. Когда это добро начинает переваливать за терабайт, это напрягает.

В общем, ищу адекватные способы как можно все эти видео закинуть в программу и сжать по размеру без потери качества.

Буду признателен за ваши советы. Есть и Adobe Premiere, и Final Cut, знаю, что у Adobe есть Media Encoder, но не понял пока оно это или нет. Какие-то способы я пробовал, но видео все же изменялось в качестве. Понимаю, что многообразие кодеков и форматов старых видео только все усложняет. Уверен, что вопрос актуален для многих людей!

{ "author_name": "Альберт Соколов", "author_type": "self", "tags": [], "comments": 32, "likes": 7, "favorites": 30, "is_advertisement": false, "subsite_label": "ask", "id": 144656, "is_wide": true, "is_ugc": true, "date": "Sun, 07 Jun 2020 00:20:13 +0300", "is_special": false }
Объявление на DTF Отключить рекламу
0
32 комментария
Популярные
По порядку
Написать комментарий...

Подводной завод

9

Прогнать все файлы через FFmpeg, типа так:
ffmpeg -i video.mpg -c:v libx264 -crf 10 -c:a libopus -b:a 192K encoded.mp4

Ответить
2

Пора уже в 265 или AV1 кодировать

Ответить

Подводной завод

Данил
3

На самом деле зависит только от того, где ТС хочет запускать свои видео

Ответить
2

Я на самом деле довольно прошаренный пользователь, но в том, с чем сталкивался. Есть при этом вещи, довольно низкого уровня, которые я мог никогда не делать. И вот ffmpeg в том числе. Это только для Windows? 

В иделае на маке конвертить, но винда тоже есть.

Плюс весь этот синтаксис и разнообразие кодеков мне не до конца понятны в голове. Так как бы я понимаю, но все равно иногда путаюсь. 

Дело еще все в том, что видео за много лет, и они были сняты на разные мыльницы и прочую дребедень, соответственно их лучше в том же формате и оставлять, наверное, так как ощущение, что при изменении формата (допустим закинуть пачкой все все видео и выставить одни настройки).

Я как-то попробовал media encoder, но видео стало хуже качеством, не понимаю почему. 

Ответить

Подводной завод

Альберт
1

Есть, кстати, список гуи софта (под мак в том числе), через который можно попробовать провернуть конвертацию, если не хочется ковыряться в терминале, но я ничего посоветовать не могу из этого. В комментах упоминали Handbrake из этого списка.
https://github.com/amiaopensource/ffmpeg-amia-wiki/wiki/3)-Graphical-User-Interface-Applications-using-FFmpeg

Ответить
1

вот качаю handbrake, попробую. Твои советы тоже учту, но с виду выглядит сложновато (пока).))))) 

Я просто реально с конвертацией видео не совсем понимаю базовую теорию, мб есть статья какая-то дельная или ролик? Ну типа БИТРЕЙТ - это так, фреймрейт - это так, специфика форматов И так далее.

Попробую на днях, отпишусь!

Ответить

Подводной завод

Альберт
5

Битрейт — количество информации за единицу времени. Чем меньше, тем, естественно, меньше информации можно передать. При фиксированном разрешении видео и в зависимости от выбранного кодека (т.е. алгоритма сжатия/распаковки информации) уменьшение битрейта влечёт за собой ухудшение изображения. Например, появляются квадратики, мыло, теряются оттенки.
Фреймрейт — частота кадров. Тут всё вроде просто. Хочешь, сделай кинематографичные 24 фпс, хочешь 30 фпс, хочешь 60 шоб как в жизни было. Меньше фреймрейт — глазу проще различить отдельные кадры, собственно, меньше 24 фпс глаз начинает различать отдельные движения, выше — картинка становится более плавной, как в жизни.
По специфике форматов долго идти, тут целую энциклопедию можно написать, но вкратце:
H.264 — наверно, самый популярный сейчас кодек. Хорошее качество видео, оптимальный размер при сжатии файла. Сейчас много где есть аппаратная поддержка этого кодека, соответственно, процессор нагружается меньше при раскодировании видео.
H.265 — улучшенная версия 264-го, но требует больше вычислительных мощностей. Не везде есть аппаратная поддержка.
VP8/VP9 — гугловские кодеки для веба на замену H.264. Придуманы, потому что 264 покрыт патентами, для использования требуется платить лицензионные отчисления комитету-разработчику. Эффективность сжатия меньше, но тоже ничего. Распространены в основном в вебе, на ютубе, например.

Ответить

Производственный

Подводн…
1

Эффективность сжатия меньше, но тоже ничего

Я тут недавно игрался с настройками, и VP9 уделывает всё остальное по качеству всухую при одинаковом битрейте. Но кодируется намного дольше.

Ответить

Подводной завод

Произво…
1

Это при двухпроходном кодировании?

Ответить

Подводной завод

Произво…
0

Я уже давно не играл с ним, наверно лет за 5 допилили.

Ответить

Производственный

Альберт
2

Если уж под винду, то вместо Handbrake используй XMedia Recode.
Если под мак или линукс - ffmpeg из консоли. В сети есть множество примеров скриптов для пакетной обработки.

Чтобы не страдало качество, нужно указывать не битрейт, а качество или квантайзер. Чем ниже цифра, тем выше качество.

Также можно для определённых типов файлов включить дополнительный тюнинг в зависимости от типа картинки.

С уважением, ведущий инженер нескольких крупных медиапродакшнов (в завязке)

Ответить

Подводной завод

Альберт
0

Не заметил твой комментарий. Я привёл пример в этой же ветке, там под Windows на PowerShell. В принципе если на маке есть bash, то можно попробовать перечислить файлы типа так:
for f in `ls *.mov *.mpg *.ts`; do ffmpeg -i "$f" ... ; done

Ответить
2

Софтварно-то они везде пойдут. Да и архивные видео обычно везде не смотрят. Очевидный плюс 264 - поддержка Intel QuickSync почти на всех процах от интела и вшитое ускорение на многих неновых видюхах

Ответить

Подводной завод

Подводной
2

Немного проясню. Речь идёт про Windows, как я понимаю. Там средствами командной строки можно перечислить все файлы с нужным расширением в папке и передать каждое название файла как аргумент конвертера. Пример для PowerShell:
Получаем все файлы в папке с расширениями mpg, mov, ts (просто пример):
$files = Get-ChildItem D:/videos -Include *.mpg, *.mov, *.ts
Затем поочерёдно конвертируем каждый файл:
foreach($file in $files) {D:\Programs\bin\ffmpeg.exe -i "$file" -c:v libx264 -crf 15 -c:a libopus -b:a 192K -strict -2 -y "${file}_converted.mp4" }

Здесь D:\Programs\bin\ffmpeg.exe — путь к FFmpeg, libx264 — выбранный энкодер H.264, -crf 15 — качество, чем меньше, тем выше качество, но больше файл, до 5 самые большие файлы получаются, до 20 оптимально, обычно сильно артефакты не заметны. libopus — это энкодер звука, очень эффективная штука, битрейт 192Kbps хватит за глаза. -strict -2 чтобы работал энкодер OPUS (у меня старая версия FFmpeg). -y — перезаписать выходной файл. Последний аргумент — название выходного файла, составляется как название исходного файла + _converted.mp4

Ответить
–4

🎮 File
Дата релиза: 01.11.2016

Разработчик: Taronia Gamenstein

🛒 itch.io

Ответить
0

Почему не х265?

Ответить

Подводной завод

Niko
3
Ответить
2

Я бы просто через конвертер типа format factory пропустил бы с кодеком h264 либо h265, в mkv/mp4, битрейт по необходимости. Ну и всё.

Ответить

Подводной завод

Anletov
2

Лучше не битрейт, а crf указывать. И ещё, если видео с телевизора было снято, возможно, придётся деинтерлейс видео делать (избавляться от черезстрочных пропусков).

Ответить
0

А какой crf должен быть?
Я тут балуюсь с перегоном в 60fps в svp-4, там тоже этот параметр есть...

Ответить

Подводной завод

Grand
1

Точного значения на все случаи жизни нет, нужно смотреть по ситуации. Советую почитать вики, сравнения, документацию по инструментам. Как я понял, SVP использует параметры, похожие на ffmpeg или x264. Можно попробовать поиграть с ними.
https://trac.ffmpeg.org/wiki/Encode/H.264
https://slhck.info/video/2017/02/24/crf-guide.html
https://ffmpeg.org/ffmpeg-codecs.html#libx264_002c-libx264rgb

Ответить
2

Хороший конвертер недавно нашел
Wondershare UniConverter
Настроек куча, конвертик сразу пачкой. Удобный и быстрый

Ответить
1

Media Encoder это оно. Туда загоняешь сколько хочешь проектов из Премьера, и рендеришь. 

Ответить
1

тогда не понимаю правильный подход к конвертированию без потери качества. какие параметры нужно мониторить, чтобы программа никак не сделала хуже? 

Ответить
1

В энкодере есть match source. Максимально близко к исходнику будет.

Ответить
1

Может быть подойдет Movavi Video Converter?

Ответить
1

Можешь попробовать A's video converter https://bluesky-soft.com/en/AsVideoConv.html
Помимо самой софтины еще нужны LAV filters (по ссылке все есть).

Бесплатная, есть поддержка аппаратных энкодеров (у меня с радеоном нормально работает) и даже необязательно устанавливать, можно скачать zip архив.
Выставляешь настройки, потом выбираешь папку с нужными файлами и запускаешь.
Вместо битрейта можешь выставить rate control fixed QP (ниже значение -> выше качество)

Ответить
0

Ребята, всем спасибо за ответы, сегодня плотно занят, в ближайшие дни займусь вопросом, отпишусь о результатах и выбранном способе!

Ответить
0

Главное crf выше 17 не поднимай, если будешь h264/h265 использовать.

Ответить

Комментарии

null