Audiophile's Software
Страница 1 из 11
Модератор форума: mrmerak, krivenchenko 
Форум » Видео » Запись и кодирование видео » Кодирование видео с особыми параметрами (Кодирование видео)
Кодирование видео с особыми параметрами
plov333
Группа: Проверенные
Сообщений: 70
Статус: Оффлайн
Почитал недавно как народ бросился советовать конвертацию видео в OGV(Theora/Ogg) с добавлением субтитров и мне аж плохо стало... Но в тот же момент стало интересно проверить ваши уровень знаний в кодировании видео))) Приведу мою бывшую проблему из жизни: имею исходное видео в формате MKV (1920*1080, VC-1, 14700 kbps/ DTS 5.1 1506 kbps). Хочу пережать в AVI с получением хорошей картинки, так как исходник это рок концерт с динамическим изображением, и приятным звуком. Но мне не нравится качество конечной картинки: слишком большая пикселизация раздражающая глаз. Как мне быть? Посоветуйте что-то)))
AlexIT
Группа: Эксперты
Сообщений: 59
Статус: Оффлайн
Понятно, что рок-концерт - тяжелый материал для кодирования. Но я бы, честно говоря, не заморачивался с особыми параметрами и отдал бы все на откуп хорошему кодеру и, главное, не экономил бы на bpp. x264 в 2-3 прохода с пресетом veryslow, ресайз в зависимости от нужного битрейта с учетом сложности материала. Т.к. опыта у меня мало, чтоб сходу определить нужный bpp, для начала прошелся бы по небольшому куску с чередующимися тяжелым и легкими сценам, подбирая оптимальное соотношение размера кадра и битрейта, чтоб не раздражало глаза. Если материал шумный, добавил бы денойз. В более тонкие настройки не лез бы: x264, slow-veryslow, bpp - это главное. Все остальное, если и увеличивает качество, то не на много. ИМХО где-то на грани самовнушения, если не приглядываться к каждому пикселю под лупой.
Звук желательно было бы вообще не трогать, но если нужно получить небольшой размер, пережал бы в aac.
Делал бы все ffmpeg-ом, даже звук бы кодировал им (используя фраунгоферовский fdk_aac), чтоб не возиться со звуком отдельно.
В итоге, на все про все небольшой скриптик в 2-3 строки, в котором сначала бы подбирал параметры (битрейт/ресайз), и которым потом кодировал бы весь файл.
Сообщение отредактировал AlexIT - Четверг, 28 Марта 2013, 15:00
plov333
Группа: Проверенные
Сообщений: 70
Статус: Оффлайн
Контейнер AVI не поддерживает форматы H.264 и AAC. Жду дальнейших советов)))

Добавлено (29 Марта 2013, 02:12)
---------------------------------------------
Рип концерт нужен именно в AVI, а не в MP4, MKV или OGV. В тех контейнерах оптимальную связку я знаю какую надо, но сейчас ищу лучшую для AVI!

Добавлено (29 Марта 2013, 02:13)
---------------------------------------------
Рип концерт нужен именно в AVI, а не в MP4, MKV или OGV. В тех контейнерах оптимальную связку я знаю какую надо, но сейчас ищу лучшую для AVI!

Audiophile
Группа: Администраторы
Сообщений: 1152
Статус: Оффлайн
Цитата (plov333)
Контейнер AVI не поддерживает форматы H.264 и AAC


Oo

Я постоянно кодирую в AVI с помощью H.264. В VirtualDUB.
AlexIT
Группа: Эксперты
Сообщений: 59
Статус: Оффлайн
H.264 и AAC запихнуть в AVI - не проблема. Контейнер AVI достаточно универсальный.
Проблема в том, что далеко не все плееры (особенно железные) будут это воспроизводить, а для тех что будут для них, все же, правильней mp4 или mkv с такой начинкой делать.
Для классического AVI, максимально совместимого со старым железом, лучше XVID+AC3/MP3(Lame) ничего нет. Но придется увеличить bpp, чтоб получить качество, сравнимое с исходным кодеком VC-1.
plov333
Группа: Проверенные
Сообщений: 70
Статус: Оффлайн
Цитата (Audiophile)
Я постоянно кодирую в AVI с помощью H.264. В VirtualDUB.

Без обид, но вы же не засовываете в контейнер MP4 аудио поток OGG Vorbis? Просто контейнер AVI, по изначальной спецификации, поддерживает видео кодеки спецификации MPEG-4 Part 2 (это сам видео кодек MP4 и его усовершенствования XVID и DIVX) и аудио спецификаций вплоть до MPEG-4 Part 2 (а это PCM, MP1, MP2, MP3, AC3), но при условии, что поток данных в них CBR (VBR и ABR тоже изначально не поддерживает, а если вставлять с переменным битрейтом, то получим раcсинхрон во времени длины видео и аудио потока при декодировании). А для кодеков вроде H264 и AAC есть специальные контейнеры вроде MP4 и MKV, которые и по своим возможностям лучше AVI)))

Добавлено (29 Марта 2013, 21:45)
---------------------------------------------
Цитата (AlexIT)
Проблема в том, что далеко не все плееры (особенно железные) будут это воспроизводить, а для тех что будут для них, все же, правильней mp4 или mkv с такой начинкой делать. Для классического AVI, максимально совместимого со старым железом, лучше XVID+AC3/MP3(Lame) ничего нет. Но придется увеличить bpp, чтоб получить качество, сравнимое с исходным кодеком VC-1.

А это ближе к истине. Но не стоит забывать о матрицах квантов. Для такой динамической картинки пришлось использовать матрицу H263, которая хоть как то сгладила картинку. Но за совет спасибо! )))

Добавлено (29 Марта 2013, 21:45)
---------------------------------------------
Может в дальнейшем создать темы по работе с видео, для помощи народу?

Добавлено (29 Марта 2013, 21:46)
---------------------------------------------
Сообщение отредактировал plov333 - Пятница, 29 Марта 2013, 21:47
MusicFan
Группа: Проверенные
Сообщений: 344
Статус: Оффлайн
А чего там думать, в megui xvid, в принципе, уже настроен нормально, для бОльшего удовлетворения поменять vhq mode на wide search. Остальное можно оставить как есть. Для железных плееров главное не включать GMC и жать звук с постоянным битрейтом. Также ресайзить наверняка необходимо, навряд-ли плеер поддерживает HD. Mpeg матрицу использовать только для высоких битрейтов (опять-же, зависит от разрешения), кастомные не использовать вообще. Ещё можно попробовать с постоянным квантизером - постоянным качеством, но размер будет сильно зависить от сложности материала.
А вот как обрабатывать звук - отдельная песня, я по ней даже тему создавал. Попробовал динамический компрессор с компрессией по пикам - получилось во много раз громче, но бухать стало во столько же раз сильнее, низкочастотники на пределе

Добавлено (30 Марта 2013, 20:40)
---------------------------------------------
Там в megui в настройках кодеков звука и нормализация и компрессор есть, можно попробовать их и послушать результат

Audiophile
Группа: Администраторы
Сообщений: 1152
Статус: Оффлайн
Цитата (plov333)
Может в дальнейшем создать темы по работе с видео, для помощи народу?


Было бы замечательно.
MusicFan
Группа: Проверенные
Сообщений: 344
Статус: Оффлайн
Audiophile, чтобы не париться с командной строкой ffmpeg, есть оболочка к другому не менее замечательному кодировщику - mencoder, называется просто - mediacoder. Очень мощный комбайн. Там всё то же самое можно настроить без возни с командной строкой. В принципе, очень удобно, когда, к примеру, есть ведро видео, и его нужно нашинковать с определенными параметрами в другое ведро без возни с настройкой, обрезкой, вырезкой и т.п.
В нем, кстати, и для звука энкодеров - вагон и маленькая тележка
Audiophile
Группа: Администраторы
Сообщений: 1152
Статус: Оффлайн
MusicFan, я вот поставил Xilisoft Video Converter. И не парюсь.
Dave_Scream
Группа: Проверенные
Сообщений: 46
Статус: Оффлайн
Audiophile, судя по скриншотам какой-то он малофункциональный)

мне вот нужно как-то перевернуть на 90 градусов видео, снятое на телефон. Пробовал через Virtual Dub, но он не поддерживает контейнер mp4. Попробовал создать AVS-скрипт и спомощью него же повернуть видос - вроде получилось, подсовываю Дубу  сохраняю, но видео и аудио уходит в рассинхрон. Скорее всего потому, что телефон мой снимает почему-то с Variable Frame Rate.

С ffmpeg имел дело, но что-то подзабыл про него. надо будет попробовать. Он умеет делать поворот видео-потока? UPD. умеет http://planet.frugalware.org/index.php?post_id=16
Сообщение отредактировал Dave_Scream - Среда, 19 Ноября 2014, 09:52
Horizon-4
Группа: Проверенные
Сообщений: 114
Статус: Оффлайн
Вашу пикселизацию создали вы сами, если, конечно, её изначально не было в исходном видеофайле. Чем выше видеопоток (биттрейт), тем выше качество видео на выходе. Считается очень хорошим качеством видео, если величина  bit/pixel  > 0,4 - 0,45. Я сам часто конвертирую видео, получается неплохо. видеопоток расчитываю по следующей приблизительной формуле  (A x B x fps x c)/1024=kbps (video) , где  A x B - разрешение (размер) видео на выходе, fps - частота кадров видео на выходе, c - требуемая величина  bit/pixel
видео на выходе,  kbps
 - величина видеопотока (kbit/sec), которую нужно установить при конвертации видео. Что касается размера изображения видео на выходе, то всё зависит от того, на чём вы будете его смотреть. Если телевизор (монитор) в пол-стены, то уменьшать разрешение не следует, если телевизор стандартных размеров (не слишком болшой), то разрешение вполне можно уменьшить, например до 704x396 . Я пробовал в порядке эксперимента конвертировать DVD VOB видеофайлы в AVI -XviD с разрешением 400x300 для обычного телевизора, но с высоким видеобиттрейтом (чтобы получилось ~ 0,75 bit/pixel - много). Качество получилось отличным (на обычном телевизоре). Также при конвертировании видео полезно использовать видеофильтры (яркость, резкость и др.) - качество реально улучшается.  Уменьшение разрешения изображения выходного файла резко увеличивает скорость конвертирования, величина видеопотока на скорость конвертирования не влияет. При наличии у меня в коллекции болшого числа известных видеоконвертеров я использую пока только две бесплатных программы: Portable Video to Video 2.9 Build 2.9.6.11 и Portable XMedia Recode 3.2.0.2. У этих программ большое число версий и некоторые из них достаточно сильно отличаются друг от друга.
Dave_Scream
Группа: Проверенные
Сообщений: 46
Статус: Оффлайн
Horizon-4, я читал, что на параметр bit/pixel вообще не стоит обращать внимания. Для динамичного и для статичного видеоряда этот параметр будет вообще разный опираться на него не стоит, тем более не стоит исходя из него высчитывать необходимый битрейт при кодировании.

В одной статье не давно я прочёл простое правило и у меня буквально отлегло:
- Если стремимся к определённому размеру (ограничение носителя), то используем кодирование с указанием битрейта с двумя проходами для того, чтобы качество видео получиолсь максимальным.
- Если к размеру ограничений жёстких нет, то лучше использовать параметр качества, его эффективность так же высока, как при кодировании с двумя проходами, а необходимость в двух проходах отпадает, поэтому скорость кодирования вырастает на 40%.

Как только я это прочитал, просто стал ставить качество на 20 и всё. Получаешь одинаковое качество что на быстрых что на медленных пресетах. Просто быстрые пресеты увеличивают размер видео, а медленные уменьшают. Все эти рассчёты битрейта, высчитывание какой битрейт подойдёт лучше для этого видео и долгие двухпроходные кодирования остались позади.
Сообщение отредактировал Dave_Scream - Воскресенье, 23 Ноября 2014, 23:55
Xbot
Группа: Проверенные
Сообщений: 226
Статус: Оффлайн
Цитата Dave_Scream ()
параметр качества
Quantizer в настройках называется, переводится примерно как "степень деградации изображения".
Я тоже забил на двухпроходное, смысл в нем есть только если нужно уложиться в размер. Для качества лучше указывать квантизер и применять шумодавы, если видео шумное
Цитата Dave_Scream ()
качество на 20
Это в x264 такие значения ?
Dave_Scream
Группа: Проверенные
Сообщений: 46
Статус: Оффлайн
Xbot, да, в x264. Пишут, что выбирать нужно между 19 и где-то 21.5-23. Всё что меньше 19 - избыточное качество.
Сообщение отредактировал Dave_Scream - Понедельник, 24 Ноября 2014, 21:00
zub35
Группа: Проверенные
Сообщений: 41
Статус: Оффлайн
для x264 QP не панацея. Панацея это CRF.

Избыточное качество для глаза человеческого начинается ниже 16, но 18 самое оптимальное. Сильная деградация начинается свыше 23.
Поэтому 23 значение по умолчанию, дающее оптимальное значение сжатие без сильной потери в качестве.

За все года, что я изучал настройки x264 и результаты, скажу прямо, ставьте --preset veryslow --crf 20 и не заморачивайтесь, можно подкрутить еще --psy-rd, но это для эстетов.

Другое дело, если вы хотите сделать блю-рей рип диска без 'потери' качества, то там лучше использовать двух-проходное кодирование на основе битрейта первого прохода в CRF, да и параметры там будут, что-то вроде
--crf 18 и --aq-mode 2 и --no-fast-pskip и --direct spatial и --deblock -1:-1 и флаг --no-dct-decimate в первом проходе, в дополнение к основным настройкам пресета veryslow

А вот флаг --no-mbtree лучше использовать, если CRF меньше 20

Но все это ерунда, если вы кодируете для себя, то как мною было сказано выше заморачиваться сверх настроек veryslow и crf=20 не имеет смысла и пожалейте свои нервы и время  wink
Сообщение отредактировал zub35 - Среда, 26 Ноября 2014, 17:09
Dave_Scream
Группа: Проверенные
Сообщений: 46
Статус: Оффлайн
zub35, спасибо. Я не знал о QP и CRF. Теперь почитал и стало понятно http://slhck.info/articles/crf

QP это надстройка над битрейтом, а CRF это надстройка над QP.

CRF более продвинутая техника - там где всё двигается и человек меньше обращает внимание на детали, QP немного ухудшается,  а при статичной картине, где человек начинает обращать внимание на детали, QP улучшается.

Таким образом, CRF математически может даст худший результат чем QP (PSNR), но для человека CRF даст более высокое качество по ощущениям.

Intel QSV не поддерживает CRF, поддерживается только Constant Quality к сожалению.

Добавлено (05 Декабря 2014, 19:01)
---------------------------------------------
Разница между CUDA и QuickSync - CUDA кодирует в два раза медленнее, поддерживает более продвинутый CRF (не поддерживает QP)
QuickSync быстрее в 2 раза, не поддерживает CRF, только QP.

сравнил CUDA CRF=23 и Intel QP=23.




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

а это результаты на процессоре. Кодирование в 5 раз медленнее чем CUDA (в 8 раз медленнее Quick Sync), но размер ещё меньше. 63 против 80

Добавлено (05 Декабря 2014, 19:41)
---------------------------------------------

Сообщение отредактировал Dave_Scream - Пятница, 05 Декабря 2014, 19:15
zub35
Группа: Проверенные
Сообщений: 41
Статус: Оффлайн
-delete-
Сообщение отредактировал zub35 - Суббота, 06 Декабря 2014, 21:49
Форум » Видео » Запись и кодирование видео » Кодирование видео с особыми параметрами (Кодирование видео)
Страница 1 из 11
Поиск: