LINUX.ORG.RU

Какие есть lossless видеокодеки?

 , , видео кодек, ,


0

1

Если мне нужно перекодировать что-то без потерь, с аудио всё понятно, есть flac.

Какие есть видео кодеки без потерь?

★★★★★

Последнее исправление: teod0r (всего исправлений: 3)
Ответ на: комментарий от devl547

никто лосслесс видео не релизит)

видеофилов не существовави7???!

teod0r ★★★★★
() автор топика
Последнее исправление: teod0r (всего исправлений: 1)
Ответ на: комментарий от teod0r

Параметр crf занулить по-моему надо (-crf 0). Но он даже при crf 18 даёт картинку практически без потерь. На глаз будет не заметно, а вот размер у crf 18 будет существенно меньше.

А, ну и кодек, соответственно, что-то типа -c:v libx264

anonymous
()

Так-то их много, в том числе у x264 есть lossless режим.

Какой выбрать, зависит от целей. Я использую huffyuv, поскольку x264 слишком грузит проц. qtrle тоже вариант. Эти требуют минимум ресурсов.

CrX ★★★★★
()
Ответ на: комментарий от anonymous

телефон [...] гад

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

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

ясно. я просто не шарю. с какими ключами в ffmpeg им перекодировать, чтоб ВАЩЕ без потерь?

Зачем тебе перекодировать без потерь? У тебя есть исходники в лосслесс? Откуда?

Лосслесс-кодек имеет смысл как промежуточный вариант. Например, при захвате экрана, когда CPU и GPU и так нагружены. Записываешь лосслесс-файл, который огромный, потом просто кодируешь в нормальный лосси-формат с приличным crf, но уже не во время высокой нагрузки, а когда всё спокойно, и даже не обязательно с реалтаймовой скоростью. Например для такого оно имеет смысл. А перекодировать ты что собрался?

CrX ★★★★★
()
Ответ на: комментарий от CrX

Зачем тебе перекодировать без потерь?
А перекодировать ты что собрался?

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

teod0r ★★★★★
() автор топика
Ответ на: комментарий от CrX

А перекодировать ты что собрался?

Например, если нужно вырезать кусок видео с точностью до кадра. Для дальнейшей обработки/вставки ещё куда. А vc copy захватывает лишние соседние ключевые фреймы, приходится перекодировать с низким crf

anonymous
()
Ответ на: комментарий от anonymous

Например, если нужно вырезать кусок видео с точностью до кадра. Для дальнейшей обработки/вставки ещё куда.

Да, это в принципе тоже неплохой сценарий. Хотя на деле обычно можно просто импортировать видео в том виде, в каком оно у тебя есть. И уже в редакторе вырезать, что там нужно с точностью до кадра, обрабатывать и т.д. и т.п. Вырезать отдельно и перекодировать для этого обычно не требуется.

CrX ★★★★★
()
Ответ на: комментарий от teod0r

наверно, я не только аудиофил… но и видеовил. и ваще качествофил

Это не ответ.

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

CrX ★★★★★
()
Ответ на: комментарий от teod0r

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

CrX ★★★★★
()
Ответ на: комментарий от CrX

импортировать видео в том виде, в каком оно у тебя есть. И уже в редакторе вырезать, что там нужно с точностью до кадра

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

anonymous
()
Ответ на: комментарий от anonymous

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

Только с лосслесс-кодеком отдельный клип будет весить как то видео на час, то есть будет не менее «огромным». Толку-то с этого?

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

CrX ★★★★★
()
Ответ на: комментарий от CrX

Для этого не требуется перекодировать.

хммм (задумчивое лицо). например kdenlive (хотя как-то обновил в artix'е, так там интерфейс так поломали, что кнопки поехали в разные стороны, но он и до этого мне не нравился, переусложнённый.). какие есть нормальные редакторы? реально НЕ ЗНАЮ

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

переусложнённый

какие есть нормальные редакторы?

Смотря что тебе от редактора надо. Ну так вообще, если хочется попроще, OpenShot неплох. Правда у некоторых он почему-то падает рандомно. У меня такое тоже было на старом компе, на новом перестал (не знаю, в чём там разница, возможно в нвидиа vs. амд).

В общем, ты вообще не с того чего-то начал. Тебе бы определиться, чем и что редактировать. А там вопрос с лосслесс-кодеком сам отпадёт — вероятнее всего ты просто поймёшь, что тебе это не требуется для твоего редактирования.

CrX ★★★★★
()
Ответ на: комментарий от CrX

мне нужно: обрезать с точностью до кадра, убирать встроенные в видео чёрные рамки (иногда бывают такие видео), исправлять aspect ratio (тоже бывают такие).

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

Ну openshot это всё умеет, вроде. Впрочем, конкретно перечисленное может и ffmpeg. Если тебе просто сохранять и смотреть (а не лепить из разных клипов своё видео), то лучше не перекодировать, а в метаданных исправить aspect ratio и софтово обрезку чёрных рамок. Это можно без перекодирования и поддерживается большинством плееров. Впрочем, с точностью до кадра без перекодирования не выйдет. Но раздувать ради этого размер на порядок, а то и два — тоже какой-то бред…

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)

Не так давно смотрел один мультфильм в 1080p на 4K дисплее… А мультфильм на Flash суть векторный. И была мысль, что с этим миром что-то не так.

Каштан.

anonymous
()
Ответ на: комментарий от teod0r

avidemux очень легкий, очень стабильный и ориентирован именно на такие задачи. В lossless для этого кодировать ничего не нужно.

Юзкейсы lossless - либо снимать сразу в lossless, либо ИИ генерировать в lossless, с целью последующего редактирования. Если исходник уже сжат, всегда можно редактировать из того формата, в котором он уже.

James_Holden ★★★★★
()
Последнее исправление: James_Holden (всего исправлений: 1)
Ответ на: комментарий от James_Holden

А, вот ещё юзкейс. Бывает, что редактор не понимает тот формат, в котором исходник. Тогда можно перегнать в h264 lossless, который понимают все.

James_Holden ★★★★★
()
Ответ на: комментарий от teod0r

В kdenlive есть кнопка «перекодировать в совместимый формат», и он тебе сделает mov со всеми пирогами и заменит клипы на рабочем столе.

А ты хочешь странного.

Aceler ★★★★★
()
Ответ на: комментарий от CrX

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

KivApple ★★★★★
()
Ответ на: комментарий от KivApple

Raw видеопоток настолько тяжел, что его емнип жмут прям в проце обработки на «видеодатчике».
Идеально обрезать можно по ключевому кадру «спереди», а конец как получится с p- b- кадрами… Потерю качества от обрезки с переработкой концов ты и не заметишь.

pfg ★★★★★
()
Ответ на: комментарий от CrX

поддерживается большинством плееров

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

firkax ★★★★★
()
Ответ на: комментарий от CrX

lossy -> lossless разумеется делать не нужно, надо сделать чтобы новое сжатие было чуть лучше (в плане качества изображения - на это влияет битрейт и трата проца на энкодере) чем старое. Тогда никаких артефактов не добавится, а старые могут чуть измениться, но не в сторону ухудшения, а просто стать другими.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

надо сделать чтобы новое сжатие было чуть лучше (в плане качества изображения - на это влияет битрейт и трата проца на энкодере) чем старое

Так не бывает. Учи матчасть.

CrX ★★★★★
()
Ответ на: комментарий от firkax

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

pfg ★★★★★
()
Ответ на: комментарий от pfg

Ну, моё предположение что добавка будет совершенно незначительной и глазом незаметной. Оценка наобум: итоговые артефакты будут по интенсивности примерно как sqrt(сумма квадратов интенсивности артефактов от каждого сжатия отдельно), либо даже не вторая степень а побольше.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Хочешь сказать что артефакты от пережатия 1000kbit/s в 1500kbit/s будут заметны на фоне изначальных артефактов 1000kbit/s сжатия?

Нет, хочу сказать в плане качества изображения точно не станет лучше. Станет однозначно хуже. Возможно «глазом не заметно», насколько хуже — в лучшем случае. Но точно не лучше. Помимо старых артефактов появятся новые.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Я и не писал нигде что станет лучше. Я писал что от перекодирования с повышением качества кодека интенсивность артефактов практически не вырастет. Вырастает если перекодировать в близкое качество. Ну или если в более низкое но там это всем и так очевидно.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Я и не писал нигде что станет лучше.

Ты писал «чтобы новое сжатие было чуть лучше (в плане качества изображения». Спишем на плохо сформулированную мысль.

Я писал что от перекодирования с повышением качества кодека интенсивность артефактов практически не вырастет.

Вырастет в любом случае, просто при достаточно высоком битрейте — незначительно. При этом оно даже не особо-то и сильно зависит от битрейта исходника, особенно если кодеки разные.

Вырастает если перекодировать в близкое качество.

Близкое качество по определению означает, что результат близок… Но ок, раз мы уже определились, что с терминами проблема, предположу, что под «качеством» ты снова подразумеваешь битрейт, или например CRF. И тогда нет, это не совсем верно, и зависит от качества исходника. Чем ниже его качество, тем больше нужна разница, чтобы перекодирование было не заметным. И напротив, если оно и так почти лосслесс, то даже перекодирование с более низким битрейтом (а не то что «близким») может дать результат, который человек в слепом тесте не отличит от оригинала.

CrX ★★★★★
()
Ответ на: комментарий от CrX

При этом оно даже не особо-то и сильно зависит от битрейта исходника, особенно если кодеки разные.

Зависит, разумеется. Если у тебя изначально было всё замылено с радиусом в 10 пикселей, то артефакты радиусом в 3 пикселя уже ничего не поменяют. Если же у тебя была изначально lossless-картинка, то артефакты радиусом в 3 пикселя это очень сильная порча качества.

что под «качеством» ты снова подразумеваешь битрейт

Я в начале хотел написать битрейт, но потом вспомнил, что надо ещё учитывать профиль (2000kbit/s на fastest будет хуже качеством чем 1500kbit/s на slowest, или как они там называются не помню). Профиль+битрейт назвал качеством кодирования.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Зависит, разумеется. Если у тебя изначально было всё замылено с радиусом в 10 пикселей, то артефакты радиусом в 3 пикселя уже ничего не поменяют

Это работает не так.

Я в начале хотел написать битрейт, но потом вспомнил, что надо ещё учитывать профиль (2000kbit/s на fastest будет хуже качеством чем 1500kbit/s на slowest, или как они там называются не помню).

Помимо профиля надо учитывать разрешение. Да и характер видео тоже. Для аниме в 720p 1500 kbps может быть вполне норм, а для видео о природе с кучей мелких деталей в 4k — уже нет.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Это работает не так.

А по-моему как раз так.

Помимо профиля надо учитывать разрешение. Да и характер видео тоже.

Речь была про пережатие одного и того же видео. Т.е. указанное - константа.

firkax ★★★★★
()
Ответ на: комментарий от firkax

А по-моему как раз так.

Что ж, по-моему, из этого можно сделать только один вывод: твои рассуждения чисто теоретические.

Потому что любой, кто сталкивался с этим на практике неоднократно, наглядно видел, что работает это вот совсем не так.

Речь была про пережатие одного и того же видео. Т.е. указанное - константа.

Я и говорю про одно и то же видео. «Нормальный» битрейт будет зависеть от этих самых характеристик видео. Если у тебя, допустим, ремукс в 15 mbps, то если ты его сожмёшь в 8 mpbs x265 c пресетом slower, разницу можно будет разглядеть разве что на стоп-кадре и с лупой, а если в 800 kbps, то смотреть на это будет больно. При этом если ты из этих 800 потом пережмёшь в 1600, станет очень сильно хуже. А если из тех 8000 — в 7000, разница снова будет едва заметной.

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

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 3)
Ответ на: комментарий от firkax

Нехилые у вас тут мысленные эксперименты. Не проще ли проверить на практике. Взять видео и перекодировать последовательно 100500 раз каждый раз увеличивая битрейт.

anonymous
()
Ответ на: комментарий от firkax

вот такое размышление к примеру.
исключаем случай VBR- ABR-подобных и говорим о CBR-кодеке. т.е. битрейт константа, от которой считается все остальные параметры. разрешение картинки неизменно.
берем видос 1000кбитсек и преобразуем в 1500кбитсек, т.е. алгоритму надо гдето находить каждую секунду 500кбит информации для заполнения пустоты.
откуда ее взять ?? и что в ней будет ?? :)

я предполагаю, что в ней будет шум, ибо иных источников информации в потоке нет, каких-либо методов восстановления/додумывания картинки, коими сейчас так рекламируются ИИ, тоже нет.
т.е. в поток вольётся 50% шума.
как это отразится на видеопоток ?? зависит от уровня шума…
но, в любом случае, поток 1500кбитсек будет хуже исходного 1000кбитсек за счет наличия дополнительного шума.

pfg ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария