1637805995986.png400 Кб, 2000x2000
FFmpeg и общий кодирования видео тред №13 /ffmpeg/ Windows 10: Chromium based 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 3601001
>>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 с хрен знает каким битрейтом). Думаю раздувание размера файла растет отсюда.
Windows 7: New Opera 3 3601005
А вот иллюстрация по поводу раздувания битрейта.
1 - просто умеренно пожатое видео с качественного оригинала.
2 - зашакалил в говно видео 1.
3 - пережал видео 2 на настройках даже лучше чем при получении видео 1.

Как видно размеры видео 1 и 3 почти не отличаются, однако лютые шакалы от сжатия на втором этапе никуда не делись.
2195289565c228e8d5c9375935b92f0b1c2f20ad8800.jpg39 Кб, 800x794
Windows 10: Firefox based 4 3601006
>>001

> -pix_fmt yuv420p10le


Зачем 10bit, на ютубе все равно yuv420p только
Android: Mobile Safari 5 3601007
>>006
Чтобы эффективнее жамать.
Windows 7: New Opera 6 3601008
>>3600909 →

>И ничего не перематывается, зато хорошо сжал, молодец.


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

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

>Одиннадцать минут видео


>Не перематывается — это нормально


>это же шебем — скачал и перематывай


>не вижу в этом ничего криминального


Пчёл...
Windows 7: New Opera 8 3601017
>>012
Когда двач не лагает - видео подгрузится и можно перематывать прямо в браузере. Когда лагает ты его в принципе не посмотришь.

>Одиннадцать минут видео


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

Еще раз - видео перематывается, просто не моментально.
Windows 7: New Opera 9 3601021
>>006
Да я без понятия че там у них за формат, кодек создавался в первую очередь для 10-битного кодирования поэтому использую его.
11.jpg89 Кб, 951x411
Windows 10: Firefox based 10 3601188
Посоветуйте минимальные разрешения для двух ситуаций:
1,чтобы можно было читать текст без особого напряга, но, в принципе, мне ж не книгу читать, так что можно не идеально четко (допустим это поучительные видео про компик и там кто-то вбивает команды)\
2,вообще максимум ужания, но чтобы при этом можно было видеть лица с метров с пяти хотя бы, когда допустим кто-то снимал камерой улицу пока ходил ногами (ну, или это запись геймплея обливиона, где хочется лица видеть (купи облу, кстати))

конечно решает битрейт, но... по большей части можно совет по разрешениям в этих ситуациях? 320 на 240 — это вообще доннище и не вариант.
можно конечно и править соотношения сторон, но мне лучше для 21:9, хотя моник 21:10 тоже есть
Apple Mac: Chromium based 11 3601190
>>188
Для текста тебе нужно частоту кадров понижать. Статичный текст и в 0 FPS вообще-то читается, консольки хватит 10 допустим. Тогда ты сможешь битрейт высоким оставить и кадры чёткими.
Но если у тебя там не только текст, но все перемешано, то нужна переменная частота и это уже не так просто, но в целом можно. VFR обычно называется.
Разрешение – последнее что важно.
Windows 10: Firefox based 12 3601195
>>190
Ну, не знаю даже. Не с пустого же места обывалы пикабушного уровня компетенций создают картиночки а-ля графики битрейта для качественного видео в разных разрешениях, типа: "для 720 нужно 3000 битов, а вот для 1080 нужно 4000, для 480 можно и 2000...".
Смотрю, что придется осваивать ffmpeg как ни крути. Ведь ни одна программа (мне известны все, буквально любую я попробовал) не может в адекватный и автоматический переменный битрейт. Ни в одной проге нет полной настройки всех характеристик, и ни одна не способна адекватно юзать видеокарту. Но, как же в падлу пользовать консоль.
Правда ли что ваш ffmpeg не будет трогать те характеристики видео и музыки, которые не упомянуты в команде?
Windows 10: Firefox based 13 3601203
>>195

>не будет трогать характеристики


Хотя, да. стало очевидным, что не будет.
Windows 7: New Opera 14 3601210
>>195

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


Это не константа. Какой битрейт тебе нужен для получения определенного уровня качества зависит от используемого кодека, его настроек, частоты кадров и сложности самого видео.
Android: Mobile Safari 15 3601220
Аноны подскажите пользуюсь ffmpeg для вырезания музыки из видео файл музыки получается только в формате wav, как сделать так что-бы можно было его сохранять в формате mp3?

К слову эту утилиту собирал из исходников, а файл wav мне приходится в Audacity переделывать в mp3.
Windows 7: New Opera 16 3601228
>>220

>ffmpeg -i Input.mp4 -codec:a libmp3lame -qscale:a 2 output.mp3


https://trac.ffmpeg.org/wiki/Encode/MP3
Windows 7: New Opera 17 3601242
В общем как-то так. Параметры позволяюют немного подтянуть средний VMAF без роста битрейта и немного сгладить график (особенно заметно на третьем в районе 160-го кадра). Первые два это одно и то же видео на разном битрейте.

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

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

Стоит ли оно (несколько десятых VMAF) того судите сами. Других полезных настроек не нашел.
Windows 10: Firefox based 18 3601478
Кто-нибудь с гита пилит аппаратную поддержку vvc и av1 для карт 10 серии вообще? неужели это убер-сложно, и коли оффициальные жиды решили не выкатывать поддержку, то всё, пиздец?
Зумерская шутеечка про то что карты типа слабые — не смешна, ибо на 1080 часовое видео в hevc конвертится за 5 минут при том, что даже половинной загрузкой этим карты не пахнет, и пароли десятые карты подбирают со скоростью 200к в секунду при щадящем режиме без нагрева. Что за брух, где умельцы? Был бы я гоем, влил бы деньги не в зумзум-говно карту, а в жесткие диски по 6гб, чтобы всё в лослесс хранить на кодеке mpeg2, лааал бля.
Android: Mobile Safari 19 3601489
>>478
Там же отдельный чип для кодировки видосов. Если он не поддерживает, то и не будет
Android: Mobile Safari 20 3601513
>>228
Libmp3lame тоже компилить придётся?
Windows 7: New Opera 21 3601516
>>513
Я уже скомпилированный качал отсюда
https://github.com/AnimMouse/ffmpeg-autobuild/releases
но полагаю что надо компилировать с ключом --enable-libmp3lame.
Apple Mac: Chromium based 22 3601538
>>478

>неужели это убер-сложно


Да. Для этого надо вслепую раскурить аппаратную часть и обойти все её защиты, буквально хакинг.
Linux: Firefox based 23 3601571
>>489
>>538
Ну, то есть, дожили -- да? Упираемся в то, что чипированы неправильным чипом, а чтобы воспользоваться базовыми правами каждого человека на оптимизацию своего дискового пространства, нам нужно заплатить соцрейтинговые монетки с виртуальной карты барену, приобретая новый чип. Охуенно.
Нет, ничего не мешает конвертить vvc/AV1 на gtx1080. Вообще ничего, кроме указки барина, не выделившего тимки из трех челиков на создание простецкого (по меркам конгломерата) драйвера.
Linux: Firefox based 24 3601576
Кстати, подскажите, зачем нужен пакет ogv? И есть ли (кроме фришности, конечно) этих инструментов цимес задействовать также и нативный для ogg кодек (не помню его названия)? Так-то у меня в голове мысль крутится, что, может быть, существует кодек из начала 00х, чьи шакалы сжатия более гладки и приятны глазу, нежели сыпящиеся квадраты AVC1 (и, боже упаси, тот клеточный капец, который показывает mpeg2)?
Linux: Firefox based 25 3601577
Ну, вот, кста. Что и подтверждается. Я, как человек без нового чипа, вместо пользования благами vvc/av1 пошел ковыряться по помойкам за какими-то там хипстерскими ".ovg", о которых никто не знает.
Windows 10: Firefox based 26 3601595
>>576
Пакет ogv поддерживает формат контейнеров Ogg, в котором обычно используется видеокодек Theora (в паре со звуком Vorbis). Theora, разработанный в начале 2000-х годов, является открытым кодеком, не требующим лицензионных отчислений. Хотя он менее эффективен, чем современные кодеки типа H.264 (AVC1), некоторые пользователи предпочитают его артефакты сжатия, которые могут выглядеть более плавными и менее блочными по сравнению с MPEG2 или AVC1 с низким битрейтом. Однако сжатие Theora устарело по сегодняшним меркам - современные альтернативы, такие как VP9 или AV1, предлагают более высокую эффективность и визуальное качество, но требуют большей вычислительной мощности.
Windows 10: Chromium based 27 3601607
Android: Mobile Safari 28 3601649
>>571
Во-первых это не софтовая проблема, а железная. Нельзя просто взять и написать драйвер, чтобы у тебя железо новое из воздуха появилось.
Во-вторых твои базовые хуман райтс реализуют простые честные прямые процессорные мощности. Хоть и не обязаны, делают это только из доброты душевной. Не хочешь полагаться на милость — спонсируй свободный софт и свободное железо. Пора бы уже отказаться от идеализма, понимаешь?
Android: Mobile Safari 29 3601743
>>516
Я на Linux скомпилил, как там с битрейтом работать?
Windows 7: New Opera 30 3601751
>>743
Ну я же скидывал выше ссылку. Либо -q:a для переменного битрейта (диапазон 0-9, чем ниже тем лучше качество), либо -b:a для постоянного (допустимые значения 8k/16k/24k/32k/40k/48k/64k/80k/96k/112k/128k/160k/192k/224k/256k/320k).
Обновить тред
« /s/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

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

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