М.Двач / Программы

400 Кб, 2000x2000
FFmpeg и общий кодирования видео тред №13 /ffmpeg/ Windows 10: Chromium based 28 апр, 13:58 3600915 В конец треда | Веб

FFmpeg и общий кодирования видео тред №13

В прошлый раз мы чуть не утонули в бамплимите из-за прокрастинации ОПа.

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

https://www.youtube.com/watch?v=chOgKT3aHBE
https://www.youtube.com/watch?v=9kaIXkImCAM

Скачать тут: https://www.ffmpeg.org/download.html

Для первичного ознакомления с тем, что тут происходит, прочитай это: https://www.ffmpeg.org/ffmpeg.html - тебе будет много непонятно, но основные термины тебе зацепятся за ухо, позже разберёшься что к чему.

Полная документация по самому конвертеру и всем встроенным кодекам: https://www.ffmpeg.org/ffmpeg-all.html - можно пользоваться как справочником и подглядывать, когда что-то забыл.

Более прикладная и полезная для бытовых целей официальная вики: http://trac.ffmpeg.org/wiki - здесь ты найдёшь детальные методички с пошаговыми инструкциями для решения типовых задач типа склейки нескольких видео в одно, наложения звуков, хардсаба и т.д. Очень полезная для того, чтобы набить руку с параметрами.

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

Подробный разбор режимов кодирования основных кодеков читай тут: https://slhck.info/posts/ - там всего несколько постов, но они очень крутые, чтобы понять, что происходит внутри этой адской машины.

Вики WebM-треда (частично устарело): https://github.com/pituz/webm-thread/wiki
и https://hive.blasux.ru/webm/s

Актуальный гайд по кодированию от анона из треда №5 (принимается критика, её было много в предыдущих тредах): https://github.com/megapro17/FFmpeg-Guide/blob/master/FFmpeg%20кодирование%20гайд.md

ИТТ выбираем идеальные режимы кодирования, тестируем нереализованные параметры и просвещаем неофитов ffmpeg.

P.S. Для проверки отображения на дваче вашего нестандартного медиаконтента специально существует аж целая доска: https://2ch.hk/test/ (М) Просьба проводить тесты там, а не ИТТ.

Тред №0: https://2ch.hk/s/arch/2020-08-05/res/2591244.html (М)
Тред №1: https://2ch.hk/s/arch/2021-02-25/res/2816778.html (М)
Тред №2: https://2ch.hk/s/arch/2021-09-23/res/2979843.html (М)
Тред №3: https://2ch.hk/s/arch/2021-11-13/res/3029626.html (М)
Тред №4: https://2ch.hk/s/arch/2022-03-10/res/3056070.html (М)
Тред №5: https://2ch.hk/s/arch/2022-06-29/res/3101682.html (М)
Тред №6: https://2ch.hk/s/arch/2022-09-16/res/3144406.html (М)
Тред №7: https://2ch.hk/s/arch/2022-11-14/res/3181555.html (М)
Тред №8: https://2ch.hk/s/arch/2023-04-27/res/3205384.html (М)
Тред №9: https://2ch.hk/s/arch/2023-07-25/res/3239508.html (М)
Тред №10: https://2ch.hk/s/arch/2023-12-08/res/3301315.html (М)
Тред №11: https://2ch.hk/s/arch/2024-06-09/res/3365343.html (М)
Тред №12: https://2ch.hk/s/res/3441805.html (М)

Windows 7: New Opera 2 28 апр, 19:21 2 3601001

27,1 Мб, mp4,
1280x720, 2:4310,7 Мб, webm,
1280x720, 2:43151 Кб, 1334x455

>>3600887 →
>>3600898 →
Я не знаю что ты там делаешь, но порядок действий в твоем случае такой:
1)Качаем видео с Youtube.
2)Качаем субтитры оттуда же.
3)Кодируем видео для снижения битрейта если нужно, параллельно пришивая к нему субтитры.

Команда:
>ffmpeg -i Input.mp4 -vf subtitles=Sub.srt -c:v libsvtav1 -preset 5 -pix_fmt yuv420p10le -crf 35 -svtav1-params enable-qm=1:qm-min=0:qm-max=8:irefresh-type=1 -c:a libopus -b:a 48k Output.webm

Тестировал на том трейлере с прошлого треда, сжатие более чем вдвое, субтитры пришиты, VMAF 93.25.

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

Твоя команда для пришивания субтитров
>ffmpeg -i input_video.mp4 -vf subtitles=input_subtitle.srt output_video.mp4
не просто их пришивает, а перекодирует видео целиком. Ну а поскольку ты не указал кодек и параметры - используются значения по умолчанию (вроде libx264 crf 28, звук aac с хрен знает каким битрейтом). Думаю раздувание размера файла растет отсюда.

Ответы006

Windows 7: New Opera 3 28 апр, 19:27 3 3601005

23,7 Мб, mp4,
1280x720, 0:452,6 Мб, webm,
1280x720, 0:45842 Кб, webm,
1280x720, 0:452,6 Мб, webm,
1280x720, 0:45

А вот иллюстрация по поводу раздувания битрейта.
1 - просто умеренно пожатое видео с качественного оригинала.
2 - зашакалил в говно видео 1.
3 - пережал видео 2 на настройках даже лучше чем при получении видео 1.

Как видно размеры видео 1 и 3 почти не отличаются, однако лютые шакалы от сжатия на втором этапе никуда не делись.

39 Кб, 800x794
Windows 10: Firefox based 4 28 апр, 19:28 4 3601006

>>3601001
> -pix_fmt yuv420p10le
Зачем 10bit, на ютубе все равно yuv420p только

Ответы007021

Android: Mobile Safari 5 28 апр, 19:35 5 3601007

>>3601006
Чтобы эффективнее жамать.

Windows 7: New Opera 6 28 апр, 19:36 6 3601008

>>3600909 →
>И ничего не перематывается, зато хорошо сжал, молодец.
Все перематывается, скачай и проверь. В браузере перед перемоткой он сначала должен загрузить его целиком. Ну а поскольку двач хостится на мусорном ведре и регулярно лагает - видео может в принципе не грузиться и перемотка будет меньшей из проблем.

Ну и перемотка не моментальная, а на 2-3 секунды нагружает процессор и вызывает подвисание видео. Лично я не вижу в этом ничего криминального, в конце концов шебм не для того нарезаются чтобы анон ползунок дрочил. Если включить и смотреть проблем никаких.

Ответы012

Android: Mobile Safari 7 28 апр, 19:43 7 3601012

>>3601008
>Одиннадцать минут видео
>Не перематывается — это нормально
>это же шебем — скачал и перематывай
>не вижу в этом ничего криминального
Пчёл...

Ответы017

Windows 7: New Opera 8 28 апр, 19:55 8 3601017

>>3601012
Когда двач не лагает - видео подгрузится и можно перематывать прямо в браузере. Когда лагает ты его в принципе не посмотришь.

>Одиннадцать минут видео
Здесь должна быть шутка про зумеров и тиктоки.

Еще раз - видео перематывается, просто не моментально.

Windows 7: New Opera 9 28 апр, 19:58 9 3601021

>>3601006
Да я без понятия че там у них за формат, кодек создавался в первую очередь для 10-битного кодирования поэтому использую его.

89 Кб, 951x411
Windows 10: Firefox based 10 29 апр, 14:13 10 3601188

Посоветуйте минимальные разрешения для двух ситуаций:
1,чтобы можно было читать текст без особого напряга, но, в принципе, мне ж не книгу читать, так что можно не идеально четко (допустим это поучительные видео про компик и там кто-то вбивает команды)\
2,вообще максимум ужания, но чтобы при этом можно было видеть лица с метров с пяти хотя бы, когда допустим кто-то снимал камерой улицу пока ходил ногами (ну, или это запись геймплея обливиона, где хочется лица видеть (купи облу, кстати))

конечно решает битрейт, но... по большей части можно совет по разрешениям в этих ситуациях? 320 на 240 — это вообще доннище и не вариант.
можно конечно и править соотношения сторон, но мне лучше для 21:9, хотя моник 21:10 тоже есть

Ответы190

Apple Mac: Chromium based 11 29 апр, 14:30 11 3601190

>>3601188
Для текста тебе нужно частоту кадров понижать. Статичный текст и в 0 FPS вообще-то читается, консольки хватит 10 допустим. Тогда ты сможешь битрейт высоким оставить и кадры чёткими.
Но если у тебя там не только текст, но все перемешано, то нужна переменная частота и это уже не так просто, но в целом можно. VFR обычно называется.
Разрешение – последнее что важно.

Ответы195

Windows 10: Firefox based 12 29 апр, 15:02 12 3601195

>>3601190
Ну, не знаю даже. Не с пустого же места обывалы пикабушного уровня компетенций создают картиночки а-ля графики битрейта для качественного видео в разных разрешениях, типа: "для 720 нужно 3000 битов, а вот для 1080 нужно 4000, для 480 можно и 2000...".
Смотрю, что придется осваивать ffmpeg как ни крути. Ведь ни одна программа (мне известны все, буквально любую я попробовал) не может в адекватный и автоматический переменный битрейт. Ни в одной проге нет полной настройки всех характеристик, и ни одна не способна адекватно юзать видеокарту. Но, как же в падлу пользовать консоль.
Правда ли что ваш ffmpeg не будет трогать те характеристики видео и музыки, которые не упомянуты в команде?

Ответы203210

Windows 10: Firefox based 13 29 апр, 15:20 13 3601203

>>3601195
>не будет трогать характеристики
Хотя, да. стало очевидным, что не будет.

Windows 7: New Opera 14 29 апр, 15:45 14 3601210

>>3601195
>Не с пустого же места обывалы пикабушного уровня компетенций создают картиночки а-ля графики битрейта для качественного видео в разных разрешениях, типа: "для 720 нужно 3000 битов, а вот для 1080 нужно 4000, для 480 можно и 2000...".
Это не константа. Какой битрейт тебе нужен для получения определенного уровня качества зависит от используемого кодека, его настроек, частоты кадров и сложности самого видео.

Android: Mobile Safari 15 29 апр, 16:19 15 3601220

Аноны подскажите пользуюсь ffmpeg для вырезания музыки из видео файл музыки получается только в формате wav, как сделать так что-бы можно было его сохранять в формате mp3?

К слову эту утилиту собирал из исходников, а файл wav мне приходится в Audacity переделывать в mp3.

Ответы228

Windows 7: New Opera 16 29 апр, 16:39 16 3601228

>>3601220
>ffmpeg -i Input.mp4 -codec:a libmp3lame -qscale:a 2 output.mp3
https://trac.ffmpeg.org/wiki/Encode/MP3

Ответы513

Windows 7: New Opera 17 29 апр, 17:01 17 3601242

350 Кб, 1356x910354 Кб, 1340x921329 Кб, 1342x910354 Кб, 1348x933

В общем как-то так. Параметры позволяюют немного подтянуть средний VMAF без роста битрейта и немного сгладить график (особенно заметно на третьем в районе 160-го кадра). Первые два это одно и то же видео на разном битрейте.

Эффект от настроек проявлялся на всех тестовых видео, чем сильнее сжимал - тем больше был прирост VMAF.

Как уже писал в прошлом треде:
enable-qm=1:qm-min=0:qm-max=8 - падение скорости кодирование на 5-10%
irefresh-type=1 - кратковременное подвисание видео при перемотке

Стоит ли оно (несколько десятых VMAF) того судите сами. Других полезных настроек не нашел.

Windows 10: Firefox based 18 30 апр, 10:12 18 3601478

Кто-нибудь с гита пилит аппаратную поддержку vvc и av1 для карт 10 серии вообще? неужели это убер-сложно, и коли оффициальные жиды решили не выкатывать поддержку, то всё, пиздец?
Зумерская шутеечка про то что карты типа слабые — не смешна, ибо на 1080 часовое видео в hevc конвертится за 5 минут при том, что даже половинной загрузкой этим карты не пахнет, и пароли десятые карты подбирают со скоростью 200к в секунду при щадящем режиме без нагрева. Что за брух, где умельцы? Был бы я гоем, влил бы деньги не в зумзум-говно карту, а в жесткие диски по 6гб, чтобы всё в лослесс хранить на кодеке mpeg2, лааал бля.

Ответы489538607

Android: Mobile Safari 19 30 апр, 11:44 19 3601489

>>3601478
Там же отдельный чип для кодировки видосов. Если он не поддерживает, то и не будет

Ответы571

Android: Mobile Safari 20 30 апр, 13:37 20 3601513

>>3601228
Libmp3lame тоже компилить придётся?

Ответы516

Windows 7: New Opera 21 30 апр, 13:58 21 3601516

>>3601513
Я уже скомпилированный качал отсюда
https://github.com/AnimMouse/ffmpeg-autobuild/releases
но полагаю что надо компилировать с ключом --enable-libmp3lame.

Ответы743

Apple Mac: Chromium based 22 30 апр, 15:35 22 3601538

>>3601478
>неужели это убер-сложно
Да. Для этого надо вслепую раскурить аппаратную часть и обойти все её защиты, буквально хакинг.

Ответы571

Linux: Firefox based 23 30 апр, 17:37 23 3601571

>>3601489
>>3601538
Ну, то есть, дожили -- да? Упираемся в то, что чипированы неправильным чипом, а чтобы воспользоваться базовыми правами каждого человека на оптимизацию своего дискового пространства, нам нужно заплатить соцрейтинговые монетки с виртуальной карты барену, приобретая новый чип. Охуенно.
Нет, ничего не мешает конвертить vvc/AV1 на gtx1080. Вообще ничего, кроме указки барина, не выделившего тимки из трех челиков на создание простецкого (по меркам конгломерата) драйвера.

Ответы607649

Linux: Firefox based 24 30 апр, 17:44 24 3601576

Кстати, подскажите, зачем нужен пакет ogv? И есть ли (кроме фришности, конечно) этих инструментов цимес задействовать также и нативный для ogg кодек (не помню его названия)? Так-то у меня в голове мысль крутится, что, может быть, существует кодек из начала 00х, чьи шакалы сжатия более гладки и приятны глазу, нежели сыпящиеся квадраты AVC1 (и, боже упаси, тот клеточный капец, который показывает mpeg2)?

Ответы595

Linux: Firefox based 25 30 апр, 17:47 25 3601577

Ну, вот, кста. Что и подтверждается. Я, как человек без нового чипа, вместо пользования благами vvc/av1 пошел ковыряться по помойкам за какими-то там хипстерскими ".ovg", о которых никто не знает.

Windows 10: Firefox based 26 30 апр, 18:52 26 3601595

>>3601576
Пакет ogv поддерживает формат контейнеров Ogg, в котором обычно используется видеокодек Theora (в паре со звуком Vorbis). Theora, разработанный в начале 2000-х годов, является открытым кодеком, не требующим лицензионных отчислений. Хотя он менее эффективен, чем современные кодеки типа H.264 (AVC1), некоторые пользователи предпочитают его артефакты сжатия, которые могут выглядеть более плавными и менее блочными по сравнению с MPEG2 или AVC1 с низким битрейтом. Однако сжатие Theora устарело по сегодняшним меркам - современные альтернативы, такие как VP9 или AV1, предлагают более высокую эффективность и визуальное качество, но требуют большей вычислительной мощности.

Windows 10: Chromium based 27 30 апр, 19:37 27 3601607

148 Кб, 236x2602,4 Мб, mp4,
1280x720, 0:05

>>3601478
>>3601571

Android: Mobile Safari 28 30 апр, 23:15 28 3601649

>>3601571
Во-первых это не софтовая проблема, а железная. Нельзя просто взять и написать драйвер, чтобы у тебя железо новое из воздуха появилось.
Во-вторых твои базовые хуман райтс реализуют простые честные прямые процессорные мощности. Хоть и не обязаны, делают это только из доброты душевной. Не хочешь полагаться на милость — спонсируй свободный софт и свободное железо. Пора бы уже отказаться от идеализма, понимаешь?

Android: Mobile Safari 29 1 мая, 12:35 29 3601743

>>3601516
Я на Linux скомпилил, как там с битрейтом работать?

Ответы751

Windows 7: New Opera 30 1 мая, 13:21 30 3601751

>>3601743
Ну я же скидывал выше ссылку. Либо -q:a для переменного битрейта (диапазон 0-9, чем ниже тем лучше качество), либо -b:a для постоянного (допустимые значения 8k/16k/24k/32k/40k/48k/64k/80k/96k/112k/128k/160k/192k/224k/256k/320k).

31 Кб, 635x209
Windows 10: Chromium based 31 2 мая, 02:07 31 3601940

нахрена ему делить картинку на 2
добавляю пиксель и всё good
буквально..

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

Обновить тред

« /s/В начало тредаВеб-версияНастройки

/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.gq, m2ch.cf, m2ch.fapp.in, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion