Перейти к содержанию
Asterios

Качественные видео ролики средствами клиента


xEvaSaintx

Рекомендуемые сообщения

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

Большая просьба всем кто записывает ролики средствами клиента, и выкладывает их на форум, обрабатывать их, это во первых даст 10-ти кратный прирост скорости как выгрузки, так и последующей загрузки контента.


вот фрагмент кадра из уже перекодированного ролика:

Скрытый текст

 

vlcsnap1.png.90799a929aa9430798504c478febd408.png

 

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

тогда читаем скрытый текст и используем:

Скрытый текст

ffmpeg -i VIDEO.AVI -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart VIDEO.mp4

в случае если у видео кадра нечётное количество пикселей можно дополнить команду до такого вида:


ffmpeg -i VIDEO.AVI -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" VIDEO.mp4

но это ухудшит (не смертельно) читаемость мелкого текста, лучше уж сделать CROP потеряв пиксель снизу/справа:


ffmpeg -i VIDEO.AVI -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart -vf "crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0" VIDEO.mp4

 

эта команда запустит FFMPEG который перекодирует ваше видео из файла VIDEO.AVI в файл VIDEO.MP4

 

upd. Решил дополнить гайд командами нелинейного монтажа (в начальном уровне)

 

итак мы записали ролик, научились качественно кодировать и тут мы понимаем что первые 30 секунд видео нам совершенно не нужны, что делать? Обрабатывать видео сторонними средствами вырезая кусочек это недопустимо, если будет использоваться любой не "Lossless" кодек, ведь качество будет утрачено навсегда, наша задача сделать всё в 1 проход (впрочем кто мешает сделать два, но с 1 кодирующим?).

с этой задачей справится такая команда:

Скрытый текст

ffmpeg -i "VIDEO.AVI" -ss 77 -t 777 -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart -vf "crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0" "VIDEO.MP4"

в примере параметры 77 и 777 указывают что начать кодирование нужно с 77 секунды, длительностью 777 секунд

 

upd. Решил дополнить гайд командами склейки (в начальном уровне)

 

Допустим вам понадобилось склеить 2-3 ролика в 1 без промежуточных операций кодирования, вам поможет команда подобного вида:

Скрытый текст

ffmpeg -i "VIDEO1.AVI" -i "VIDEO2.AVI" -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart "VIDEO1_2.MP4"

так склеиваются 2 видеоролика в 1, а вот так 3:


ffmpeg -i "VIDEO1.AVI" -i "VIDEO2.AVI" -i "VIDEO3.AVI" -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] [2:v:0] [2:a:0] concat=n=3:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart "VIDEO1_2_3.MP4"

правда в этом случае я не в курсе как правильно прописать команды для поправки нечётных размеров кадра.

upd.

Параметры прописываются в графе фильтра, сходу вот так объяснить сложно как строится граф фильтров, приведу пример:

Скрытый текст


ffmpeg -i "VIDEO1.AVI" -i "VIDEO2.AVI" -i "VIDEO3.AVI" -filter_complex "[0:v] crop=100:100:0:0 [crope0]; [1:v] crop=100:100:0:0 [crope1]; [2:v] crop=100:100:0:0 [crope2]; [crope0] [0:a] [crope1] [1:a] [crope2] [2:a] concat=n=3:v=1:a=1 [vidc] [a]" -map "[vidc]" -map "[a]" -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart "VIDEO1_2_3.MP4"

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

Скрытый текст



ffmpeg -i "VIDEO1.AVI" -i "VIDEO2.AVI" -i "VIDEO3.AVI" -filter_complex "[0:v] crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0 [crope0]; [1:v] crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0 [crope1]; [2:v] crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0 [crope2]; [crope0] [0:a] [crope1] [1:a] [crope2] [2:a] concat=n=3:v=1:a=1 [vidc] [a]" -map "[vidc]" -map "[a]" -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart "VIDEO1_2_3.MP4"

 

но нужно учитывать что входные файлы должны быть одинаковы по параметрам сторон.

 

 

 

Ещё полезно будет знать как "размыть" облать ника/панельки/чата (для тех кто без этого немогёт)

вот пример склейки 3х роликов, с размытием области панели скиллов:

Скрытый текст

ffmpeg -i "VIDEO1.AVI" -i "VIDEO2.AVI" -i "VIDEO3.AVI" -filter_complex "[0:v] crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0 [crope0]; [1:v] crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0 [crope1]; [2:v] crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0 [crope2]; [crope0] [0:a] [crope1] [1:a] [crope2] [2:a] concat=n=3:v=1:a=1 [vidc] [a]; [vidc] crop=458:174:382:574,boxblur=10:enable=1 [vidbb]; [vidc][vidbb] overlay=382:574 [outv]" -map "[outv]" -map "[a]" -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart "VIDEO1_2_3.MP4"

в данном примере 458:174:382:574 это координаты панели скиллов (ширина:высота:X:Y), в двух словах расшифрую:

потоки входящих видео данных [0:v]/[1:v]/[2:v] обрезаются по пикселю права и снизу (если нечётные стороны) и помечаются тегами crope[0/1/2=] затем соединяются в единый поток с помощью concat=n=3*** и результирующий поток помечается тегом vidc для видео и a для аудио, затем из потока вырезается часть кадра (панелька) размывается boxblur и результат помечается vidbb затем поверх vidc накладывается (overlay:382:574) размытое изображение панели и результат помечается как outv который и используется как результат для кодирования. уфф.

Удачи.

 

мини-FAQ:

Скрытый текст

A: что за команда, что нажать то?

Q:это "консольная команда" сокращённо "команда", к сожалению это гайд не по управлению консолью, просто загуглите "как выполнить консольную команду"

A:загуглил, всё равно не пойму, ничего не получается!

Q:видимо вам необходима сама утилита FFMPEG.EXE, взять её можно на одноимённом сайте-производителя или поискать на своём компьютере (она входит в состав многих пакетов обработки видео) достаточно либо полностью прописать в команде путь к ней или добавить путь к ней в переменную %PATH% (гуглим)

A:все заработало, но многие ролики не получается перекодировать, тупо сразу происходит ошибка.

Q:проверьте чтобы в имени файла-источника не было пробелов.

A:вы заявляли что хостинги не будут перекодировать ролик, но при просмотре с хостинга качество на порядок ниже!

Q:во первых убедитесь что смотрите в максимальном качестве, затем убедитесь что ваш браузер не изменяет размер кадра при просмотре, также учтите что видео-хостеры перекодируют ролик почти наверняка, если соотношение сторон/битрейт выйдут за пределы их ограничений (экспериментируйте с битрейтом/настройками клиента/параметрами фильтра crop)

A:что за "crop"

Q:это обрезание ролика, IMHO не стоит его использовать для новых роликов, по использованию гуглим "ffmpeg crop"

 

Изменено пользователем xEvaSaintx
Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, xEvaSaintx сказал:

эта команда запустит FFMPEG который перекодирует ваше видео из файла VIDEO.AVI в файл VIDEO.MP4

Удачи.

Можно подробней. Вот есть видео записанное клиентом, что с ним дальше делать, как использовать эту команду?

Ссылка на комментарий
Поделиться на другие сайты

и как поставить что б оно не снимало по умолчанию 480р?

Ссылка на комментарий
Поделиться на другие сайты

2018, люди пишут в ави
Добавь инфу для неопытных, куда вбить команду. 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Korella сказал:

2018, люди пишут в ави
Добавь инфу для неопытных, куда вбить команду. 

Ну напиши ты, я тож пример не знаю.

Ссылка на комментарий
Поделиться на другие сайты

мини гайд... а можно подробно для "чайников" что куда нажать))

Ссылка на комментарий
Поделиться на другие сайты

Еще добавьте параметр

  -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2"

на случай если у видео нечетное разрешение. Иначе выдаст ошибку.

 

Удалось уменьшить видео размером 239мб до 20мб, без видимых потерь качества.

Ссылка на комментарий
Поделиться на другие сайты

Сделал для удобства скрипт для конвертации. Скачайте и распакуйте в папку Screenshot клиента. Когда вам нужно сконвертировать видео, просто перетаскиваете его на convert.bat и все само происходит :)

 

https://www.asterios.tm/avi2mpeg.zip

 

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

Ссылка на комментарий
Поделиться на другие сайты

Совершенно не понятно тому кому действительно нужен этот гайд, тот кто понял и так это знал \ мог сам сделать. Автор, разжуй для чайников пошагово 

Ссылка на комментарий
Поделиться на другие сайты

41 минуту назад, Admin сказал:

Сделал для удобства скрипт для конвертации. Скачайте и распакуйте в папку Screenshot клиента. Когда вам нужно сконвертировать видео, просто перетаскиваете его на convert.bat и все само происходит :)

 

https://www.asterios.tm/avi2mpeg.zip

 

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

спасибо

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Admin сказал:

Сделал для удобства скрипт для конвертации. Скачайте и распакуйте в папку Screenshot клиента. Когда вам нужно сконвертировать видео, просто перетаскиваете его на convert.bat и все само происходит :)

 

Спрашивает про замену файла, который хочет перекодировать. :ph34r:

Создал отдельную папочку и вывесил ярлык, всё отлично прошло. ^^

Ссылка на комментарий
Поделиться на другие сайты

А если фоном музычку пустить клиент и её захватывает. Вообще тема. :rofl:

Только нажать записать, отменить запись. В открывшейся менюшке норм разрешение поставить, а то наснимает в 640х480.

Ссылка на комментарий
Поделиться на другие сайты

Дополнил гайд, исправил найденные недочёты, добавил команды склейки/нарезки в 1 проход кодирования, зацените.

 

15 часов назад, Admin сказал:

Еще добавьте параметр


  -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2"

на случай если у видео нечетное разрешение. Иначе выдаст ошибку.

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

-vf "crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0"

потеряв в случае чего всего по пикселю справа/снизу.

Ссылка на комментарий
Поделиться на другие сайты

В 18.03.2018 в 13:47, Admin сказал:

Сделал для удобства скрипт для конвертации. Скачайте и распакуйте в папку Screenshot клиента. Когда вам нужно сконвертировать видео, просто перетаскиваете его на convert.bat и все само происходит :)

 

https://www.asterios.tm/avi2mpeg.zip

 

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

пробовал перекодировать восьмиминутное видео. перекодировало около 50 сек остальное обрезало

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, Noal сказал:

пробовал перекодировать восьмиминутное видео. перекодировало около 50 сек остальное обрезало

открой в блокноте convert.bat и убери из строки параметры "-ss 0 -t 47" они указывают что будут обработаны кадры с 0 по 47 секунду, также почитай про порчу кадра и модифицируй команду под свои ролики.

Ссылка на комментарий
Поделиться на другие сайты

52 минуты назад, xEvaSaintx сказал:

открой в блокноте convert.bat и убери из строки параметры "-ss 0 -t 47" они указывают что будут обработаны кадры с 0 по 47 секунду, также почитай про порчу кадра и модифицируй команду под свои ролики.

благодарю

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, iTesey сказал:

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

плюсану.

я вот обычно обской записываю, настроки декодера стоят такие, что ютуб обрабатывает 15-20 минутное видео после загрузки буквально минуту и качество не теряется

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, iTesey сказал:

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

 

Для новичков батник от Админа, в котором надо менять 1-2 цифры самое оно.

Ссылка на комментарий
Поделиться на другие сайты

кто знает что за проблема при записи видео через игру - пишет см картинку,что все хорошо, а в папке пусто, но если делать скрин то он там появляется!

антивирус отключал и клиент полностью обновлял

Снимок.JPG

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, ChaosHEAD сказал:

кто знает что за проблема при записи видео через игру - пишет см картинку,что все хорошо, а в папке пусто, но если делать скрин то он там появляется!

антивирус отключал и клиент полностью обновлял

Снимок.JPG

попробуй не держать клиент в папке, путь к которой содержит кириллицу

Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, iTesey сказал:

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

и потом мы сморим их ролики с таким качеством что ничего не понятно...

 

зы. уверен что 100% новичков если захотят, разберутся как сделать свою коллекцию роликов компактной без потери качества, а это уже большой +

Изменено пользователем xEvaSaintx
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Extortioner сказал:

попробуй не держать клиент в папке, путь к которой содержит кириллицу

D:\Asterios тоже самое

Ссылка на комментарий
Поделиться на другие сайты

12 минуты назад, ChaosHEAD сказал:

D:\Asterios тоже самое

попробуй удалить папку Screenshot

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, Extortioner сказал:

попробуй удалить папку Screenshot

удалял

 

Ссылка на комментарий
Поделиться на другие сайты

  • 7 месяцев спустя...
18.03.2018 в 16:47, Admin сказал:

Сделал для удобства скрипт для конвертации. Скачайте и распакуйте в папку Screenshot клиента. Когда вам нужно сконвертировать видео, просто перетаскиваете его на convert.bat и все само происходит :)

 

https://www.asterios.tm/avi2mpeg.zip

 

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

Похоже что файл пропал. Можно ли выложить еще раз?

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, XXXБАТЯXXX сказал:

Похоже что файл пропал. Можно ли выложить еще раз?

сам ffmpeg можно скачать отсюда - https://ffmpeg.zeranoe.com/builds/

параметры запуска есть в первых постах этой темы

Изменено пользователем Extortioner
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
18.03.2018 в 14:47, Admin сказал:

Сделал для удобства скрипт для конвертации. Скачайте и распакуйте в папку Screenshot клиента. Когда вам нужно сконвертировать видео, просто перетаскиваете его на convert.bat и все само происходит :)

 

https://www.asterios.tm/avi2mpeg.zip

 

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

админ, востановите ссылку для загрузки скрипта, если возможно. Заранее спасибо

Ссылка на комментарий
Поделиться на другие сайты

такой себе гайд,где в FAQ есть слова гугл.....

 

 

Изменено пользователем ИоанХристианов
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...