2009-06-06 3 views
3

Мне было интересно, есть ли там видеокодеки, которые подходят для чрезвычайно низких битрейтов, особенно для ввода веб-камеры?Видео кодек с очень низким битрейтом?

Бросок вокруг некоторых номеров: скажем, поток 160x120, который будет иметь около 32 Кбит/с или около того.

Качество будет плохой, вероятно. Однако видео должно быть «понятным», а частота кадров должна быть достаточной для восприятия движения.

Исправлено, я мог найти только тезисы. Есть ли какие-то конкретные кодеки? Любые примеры видео? И, в конечном счете, любые пригодные для использования библиотеки?

EDIT: Спасибо за ответы. Я попытался кодировать предварительно записанный клип размером 160x120 с таргетингом H264 32 кбит/с, и я должен признать, что результаты были хорошими.

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

Возьмите конференц-связь для примера, где вам нужно кодировать один поток, при декодировании нескольких потоков, в реальном времени.

ответ

3

В конце дня, я думаю, вам, вероятно, лучше всего будет служить высококачественный современный кодек с очень небольшим целевым битрейтом и пусть он будет работать своей магией. Дайте x264 попытку; Я видел исключительную производительность от него при высоких битрейтах, и он, как предполагается, очень хорошо деградирует. Самая большая проблема с x264 заключается в том, что он будет иметь относительно высокие требования к ЦП для кодирования и декодирования, но я думаю, что он обеспечит наилучшее качество при заданном битрейде для доступных в настоящее время кодеков. И это стандартизировано!

+0

Есть ли у вас цифры для кодирования и декодирования? В общем случае кодирование занимает гораздо больше времени, чем декодирование (примерно в 4 или 5 раз). – Lehane

+1

Я сделал пару тестов с 176x112 x264 (и источник, защищенный авторскими правами, поэтому я не могу их публиковать). На 32 кбит/с качество было ужасным, но видео было фактически доступно для наблюдения - это напомнило мне 10-летние клипы QuickTime или RealVideo. 64kbps на самом деле довольно приличный и выглядел достаточно хорошо для моих глаз. На этом Core Core 2 Duo 2,6 ГГц мне удалось выполнить 100-120 FPS для кодирования (в зависимости от настроек). Со всеми настройками на x264, сработавшими до «безумного», я получил около 100 FPS - поэтому у современного настольного процессора не будет проблем с кодированием небольших видео x264, хотя, вероятно, встроенный процессор. – kquinn

1

Это очень сложно обыграть h264, но, к сожалению, я думаю, что это около 64 Кбит за указанное вами разрешение.

Я думаю, что в исследовательском мире есть кое-что, что может сделать лучше, как правило, в вариантах Matching Pursuits, но я не думаю, что они сделали это в кодеках реального мира. Это связано с тем, что во-первых, Matching Pursuits очень медленный, чтобы кодировать, а во-вторых, есть некоторые патенты, покрывающие его.

1

Я думаю, что H.264 мог бы это сделать. Кажется, я помню кодировку QCIF (176X220) со скоростью около 64 кбит/с, и это было разумное качество, поэтому должно быть возможно меньшее разрешение при 32 Кбит/с (но, конечно, будет очень низким). Честно говоря, я всегда нахожу удивительным, что вы можете получить видео на видео с низким тактовым излучением ...

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

Intel имеет набор бесплатных реализаций ряда кодеков (H.264, H.263 и других), посмотрите here или here. Я использовал их раньше, и они очень хороши.

1

запомнить: частота кадров имеет решающее значение.

Что относительно более высокого качества за меньшую частоту кадров? таким образом, 32kbps больше, чем возможно.

также, размер GOP важен и имеет много общего с сжатием и устойчивостью к ошибкам.

большой гоп = меньший размер/избыточность = малый поток коррупция становится фатальным маленький гоп = большой размер/меньше качество на битрейте = больше ошибок упругая

в x264, я рекомендую вам отключить переменную AQ, решетчатым и Psy-RD, и для увеличения смещения квантователя цветности, скажем, 3, и для увеличения бета-эффекта деблокирующего блока до примерно 3 без изменения альфа. включайте PSNR каждый раз, когда вы тестируете и ищите лучшие настройки. и использовать MeGUI для тестирования.

1

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

Невозможно узнать априорно вычислительные ресурсы, которые потребуются для кодирования/декодирования H.264 (или видео вообще), поскольку это зависит от параметров кодирования и от видеоконтента. Итак, вы должны сами выполнить некоторые тесты, чтобы увидеть, может ли средний компьютер кодировать/декодировать H.264 в реальном времени, и если да, то сколько потоков. Это не так сложно, как кажется. Используйте mencoder или x264 для кодирования H.264 с требуемыми параметрами длинного видео. Взгляните на частоту кадров кодирования. Теперь, прежде чем первый завершится, запустите другой экземпляр mencoder и посмотрите на частоту кадров и т. Д.

Если вы, наконец, узнали, что H.264 не подходит для ваших нужд, попробуйте h.263. Это более старый протокол и не способен достичь скорости сжатия H.264, однако он специально разработан для видеоконференций, поэтому он будет иметь хорошее качество в ситуации, в которой вы нуждаетесь, а также, поскольку он довольно старый, он не очень требовательна к ресурсам.

Смежные вопросы