Pull to refresh
0
0
Илья Попов @Cont

Пользователь

Send message

Основы кодирования аудио с потерями. Тестирование бета-версии Opus 1.3

Reading time18 min
Views64K
image

0. Об авторе


Всем привет, меня зовут Максим Логвинов и я студент Харьковского Национального университета радиоэлектроники.

Меня всегда интересовали звук и музыка. Я сам любил писать электронную танцевальную музыку и мне всегда было интересно, как человеку, который недостаточно хорошо разбирается в высоких материях математики, узнать, что же происходит со звуком в компьютере: как он пишется, сжимается, какие для этого существуют технологии и так далее. Ведь со школьной скамьи и физики я понимал, что звук — он «аналоговый»: его мало того что нужно преобразовать в цифровой (для чего необходимы такие устройства как АЦП), но его нужно как-то сохранить. А ещё лучше, чтобы эта музыка занимала поменьше дискового пространства, чтобы можно было поместить в скупую папку побольше музыки. И чтобы звучала хорошо, без всяких слышимых артефактов сжатия. Музыкант ведь. Натренированное ухо, не лишённое музыкального слуха, достаточно сложно обмануть методами, которые используются для компрессии звука с потерями — по крайней мере, на достаточно низких битрейтах. Ишь, какой привередливый.

А давайте посмотрим, что из себя представляет звук, как он кодируется и какие инструменты используются для этого самого кодирования. Более того, поэкспериментируем с битрейтами одного из самых продвинутых на сегодняшний день кодеков — Opus и оценим, что и с какими циферками можно закодировать, чтобы и рыбку съесть, и… Собственно, просто почему бы и нет? Почему бы не попытаться описать простым языком не только то, как хранится и кодируется аудио компьютером, но и протестировать один из лучших кодеков на сегодняшний день? Особенно, если речь идёт о сверхнизких битрейтах, где практически все существующие кодеки начинают творить невероятные вещи со звуком в попытках уложиться в малый размер файла. Если хочется отвлечься от рутины и узнать, какие выводы были получены при тестировании нового кодека — добро пожаловать под кат.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments23

Распределенное кодирование видео

Reading time4 min
Views21K
image
Думаю, большинству хабрапользователей хоть раз да приходилось кодировать видео. Возможно, вы хотели посмотреть свежую серию любимого сериала в метро, а ваш смартфон или иное портативное устройство никак не хотело играть этот кодек, или SmartTV отказывался декодировать звук в видеофайле, либо же вы застряли в 2004 и транскодировали H.264 в MPEG-4 для вашего старого DVD-проигрывателя. Или же, например, сжимали невероятного размера видео, снятое фотоаппаратом, во что-то более-менее приличное по размеру. Наверняка вы замечали, что это не самый быстрый процесс.

Для кодирования видео сделано огромное количество софта, начиная от программ типа «жми крестик чтобы кодировать» и заканчивая софтом, который принимает AviSynth-скрипты на вход. Однако программы, поддерживающие хоть какое-то распределение кодирования, можно пересчитать по пальцам одной руки.

Что вообще следует понимать под распределенным кодированием видео? В моем представлении, есть 2 разных задачи:
  1. Кодирование большого количества видеофайлов на множестве компьютеров одновременно
  2. Кодирование одного видеофайла по частям на множестве компьютеров одновременно

Первая задача подразумевает наличие большого количества видеофайлов, сильно больше, чем компьютеров, на которых их можно кодировать, и довольно легко автоматизируется с использованием CLI-кодировщиков, например, HandBrake или FFmpeg и любых средств автоматизации, которые поддерживают распределение, вроде GNU Parallel или PPSS (к слову, о нем мало кто знает, рекомендую!).

Вторая же задача подразумевает наличие малого количества файлов и большого числа компьютеров, и она несколько сложнее: нам необходимо, во-первых, разбить файл на маленькие части, во-вторых, перекодировать их, и в-третьих, собрать обратно.
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments34

Что такое Hi10P?

Reading time7 min
Views117K
В сущности, Hi10P всего навсего профиль известного стандарта H.264, который использует 10 бит для передачи цвета, тем самым уменьшая сегментацию изображения (например, досаждающие многим ступенчатые градиенты) и уменьшая общий вес файла. Если не углубляться в детали, то достаточно сказать, что применение данного профиля это большой шаг вперёд. Данный текст ставит своей целью помочь людям в выборе проигрывателя способного корректно воспроизводить Hi10P видео.
В оригинальной статье есть некоторые изменения, посему данный перевод можно считать устаревшим, тем не менее инструкция остаётся работоспособной.
Читать дальше →
Total votes 51: ↑45 and ↓6+39
Comments97

Снегопад с помощью фильтров FFmpeg

Reading time6 min
Views18K
FFmpeg — мощное ПО со большим набором возможностей. В статье я постараюсь рассказать о немного необычном применении фильтров ffmpeg и о том что можно сделать используя исключительно их. Видео ниже сделано с помощью 1 команды ffmpeg (ни один графический редактор не пострадал).

Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments12

Использование bat файлов для развертывания приложений

Reading time7 min
Views17K
В процессе трудовой деятельности пришлось столкнуться с одной задачей. Есть некоторый продукт, работающий под Windows и состоящий из нескольких компонент — ядра, протокола, моста и канала доставки. Часть компонент написана на JAVA, часть на C++. Каналов доставки может быть от одного до двадцати. Каждый компонент использует свою БД (в качестве СУБД выступает MS SQL Server). Для компонент, написанных на JAVA, структура БД создается автоматически, для компонент, написанных на C++ структуру нужно создавать вручную SQL скриптом. Каждый компонент должен работать как сервис в системе. Все это добро должно быть тщательно протестировано. Для каждого теста необходимо пересоздавать БД и системные сервисы.

Проделав это дело один раз, я задумался, а как бы этот процесс можно было максимально автоматизировать (действия не сложные, но рутинные). Решение должно быть простым и не требующим установки какого-либо софта. Поэтому сразу же выбор пал на древний, но проверенный временем файл сценариев на встроенном командном языке — Bat. Заодно проверим, на что bat скрипты еще способны.
Читать дальше →
Total votes 25: ↑18 and ↓7+11
Comments19

x264 или как кодировать видео

Reading time3 min
Views213K
Проблема с кодированием видео и его сжатием его из гигабайтов в мегабайты, по-моему, всегда была актуальной. Если более менее профессиональные операторы, монтажники и т.д. уже не одну кошку съели на этой теме, то например любители и те, кто записывают видео с экрана своего монитора, порой долго чешут затылок, прежде чем добиться каких либо серьезных результатов. В итоге куча потерянного времени, никому не нужные гигабайты исходящего трафика для загрузки домашнего видео на ютуб. Конечно, можно использовать в какой-то степени готовые решения в лице одной программы, и сжать видео буквально тремя кликами, но это не наш подход, когда абсолютно все шаги можно контролировать и влиять на них. Покопавшись в поиске, Хабр так и не выдал ничего похожего. Хотя возможно, что просто плохо поискал.
Читать дальше →
Total votes 71: ↑46 and ↓25+21
Comments71

История развития видеоформатов (статья плюс ролик)

Reading time11 min
Views33K

С девятнадцатого века люди начали добиваться успехов в создании систем движущихся картинок. Фенакистископ, Кинеограф, Праксиноскоп — примитивные, но успешные попытки показать зрителю движение. Весь двадцатый век и дальше кино и видеоформаты развивались, становясь лучше, сложнее, дешевле и доступнее, приведя в итоге к рождению стриминговых видеосервисов, где можно посмотреть об этом интересный ролик. Для Гиктаймса я подготовил его в формате статьи, а внизу оставил видео.

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

Много картинок
Total votes 22: ↑22 and ↓0+22
Comments20

3 года онлайн-консультирования — как это?

Reading time3 min
Views785
Занимаясь проектом Веб Мессенджер (софт для организации онлайн-консультирования на сайте) уже 3 года у нас накопился более чем обширный опыт по онлайн-консультированию посетителей нашего сайта, кроме того мы всегда стараемся быть в курсе как используют нашу систему клиенты, вот и хотелось обсудить накопленное с уважаемой аудиторией:
Далее самое интересное...
Total votes 50: ↑41 and ↓9+32
Comments34

"Одноклассники" нарушают авторское право?

Reading time5 min
Views9.6K
Сегодня я наконец-то увидел всем известную социальную сеть odnoklassniki.ru «изнутри». Глазами пользователя, так сказать. До этого я видел только главную страницу. Не буду говорить как обстоят дела с юзабилити, думаю все и так знают… или догадываются, по крайней мере.

И тут мой взгляд пал на фотографии, загруженные пользователями.

Справа внизу находится логотип и надпись «одноклассники.ru». Они встраиваются автоматически в каждую загружаемую фотографию (пример под катом).
Похоже, «Одноклассники» нарушают законодательство.
Давайте разберемся!
Total votes 282: ↑253 and ↓29+224
Comments164

Управление информацией или как обуздать RSS

Reading time3 min
Views4K


Что такое RSS многие из читателей знают. Как говорит Wikipedia
семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами.

Больше всего мне нравиться расшифровка Really Simple Syndicationочень простое приобретение информации. В этой статье я не буду вдаваться в подробности и историю RSS, а сконцентрируюсь на использование этого мощного инструмента.
Читать дальше →
Total votes 73: ↑70 and ↓3+67
Comments40

Десять маленьких программ, без которых неуютно жить

Reading time5 min
Views8K
Заменяем диспетчер задач
Управляем автозагрузкой и следим за состоянием системы
Устанавливаем переключение раскладки
Создаем виртуальные рабочие столы
Сохраняем все заметки в одно место, не задумываясь ни о чем, кроме текста
Ускоряем навигацию по винчестеру
Ставим плагины к проводнику Windows и радуемся
Легко и быстро удаляем папки-файлы «занятые другими процессами»
Копируем и перемещаем быстрее и качественнее
Перестаем парится с кодировками, заменив блокнот

и как мы это сделаем?
Total votes 180: ↑139 and ↓41+98
Comments306

Интеграция с Робокассой (ASP.NET)

Reading time4 min
Views2.8K
Задача: Организовать приём электронных денег.
Был некий проект, который подразумевал отъем денег у пользователей за определённые услуги. В качестве инструмента отъема была выбрана робокасса – ресурс серьёзный, удобный, развивающийся (недавно прикрутили оплату СМСками, присутствует, но пока не активна, оплата кредитными картами).
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments6

Гуглякартим по умному

Reading time9 min
Views10K
В последнее время модно стало использовать гуглякарту.
Гугля карту суда, гугля карту туда.
И главное не забыть отобразить свои объектики на карте.
Но, почему-то, подавлявшее число сервисов используют неправильную реализацию процесса передачи маркеров с сервера на клиент.
Точнее они не правильно формируют запросы.
А если выразиться еще более точнее — они это делают
не-по-умному
Total votes 80: ↑63.5 and ↓16.5+47
Comments29

Основные принципы организации приема SMS платежей. Преимущества и тонкости оплаты по SMS, описание платежных SMS систем.

Reading time10 min
Views22K
Ни для кого не секрет, что сегодня бизнес в интернете развивается семимильными шагами. Новые интернет проекты открываются каждый день — большинство из них, правда, также быстро и закрывается, не успев развиться и привлечь аудиторию. Те, кто аудиторию привлек, начинает задумываться о способах ее монетизации — превращении показателей счетчиков в деньги.

Методы монетизации аудитории


Традиционно существует два основных способа заработка на аудитории проекта: продажа его рекламных возможностей и предоставление пользователям платных сервисов.
И если про первый уже сказано достаточно много, то второй еще только начинает свое активное развитие.

По предоставляемых пользователям услуг можно выделить три основных категории сайтов:
  • Специализированные интернет-магазины и сервисы (магазины программного обеспечения, музыки, видео, рефератов, темплейтов веб-дизайнов, документации, специализированных статей для профессионалов, сервисы доставки сообщений пользователям, розыгрыши и викторины, ответы на вопросы), основной задачей которых является предоставление посетителям специфических услуг или продажа контента (с оплатой за единицу контента). Такие ресурсы считают получение дохода от рекламы второстепенным заработком.
  • Сайты, доступ к которым можно получить только на платной основе (нишевые и узкотематические профессиональные ресурсы с ценной информацией для определенной аудитории, ресурсы для взрослых) – обычно пользователям демонстрируют только общую информацию о ресурсе, а для того, чтобы получить к нему доступ, требуется сначала внести оплату. Рекламы на таких ресурсах практически не бывает.
  • Ресурсы, предлагающие своим пользователям дополнительные сервисы и услуги – так, например, на сайте знакомств пользователи могут выделить свою анкету в результатах поиска, а в социальных сетях подарить другу какой-нибудь подарок.

Читать дальше →
Total votes 1: ↑1 and ↓0+1
Comments54

Google Earth 3D browser plugin

Reading time1 min
Views4.2K
Чуть меньше месяца назад, 28 мая 2008 года, Google выпустила в свет Google Earth плагин и предоставило JavaScript API для работы с ним. Теперь разработчкики, использующие Google Maps в своих веб проектах могут добавить новый режим отображения: Google Earth 3D.

Отныне, в браузере можно будет воссоздать многие возможности Google Earth клиента: трехмерный обзор поверхности Земли, рисование линий и полигонов, 3D модели, включение/выключение слоев, загрузка и просмотр KML файлов.

Статья, анонсирующая выход нового плагина (en):
Google Earth Mashups on a Web Page Starting Today

Оисание API для работы с GE плагином (рус):
Google Earth API

Total votes 28: ↑21 and ↓7+14
Comments17

PHP: новые функции по работе с массивами (array_replace, array_walk_recursive и array_diff_assoc)

Level of difficultyMedium
Reading time2 min
Views66K
Итак, в феврале 2009 г. в языке PHP появились новые функции для работы с массивами: функции array_replace, array_walk_recursive и array_diff_assoc, что упрощает работу с массивами и сравнение их элементов.

Остановимся на каждой функции и дадим примеры их использования.

Читать дальше →
Total votes 215: ↑207 and ↓8+199
Comments414

Сам себе антивирус

Reading time5 min
Views4.8K
Жизнь компьютера идет своим чередом, но в один прекрасный момент комп перезагружается, а потом на рабочем столе появляется надпись «У вас вирусы, антивирус качать тут». Кто-то скачивает и ставит, кто-то сносит винду, кому-то везет и его антивирус ловит заразу… А я вам попробую рассказать как решить проблему самому и зачем это нужно.

Читать дальше →
Total votes 120: ↑84 and ↓36+48
Comments139

jQuery для начинающих

Reading time9 min
Views502K
jQuery Logo

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

Читать дальше →
Total votes 256: ↑232.5 and ↓23.5+209
Comments83

Практический AJAX: что делать с закладками

Reading time4 min
Views2.9K
Примечание: ниже перевод статьи «Ajax Best Practices: Don't Break Bookmarks», посвященной решениям, позволяющим пользователям корректно добавлять в закладки страницы сайта, сделанного при помощи AJAX-методов. Я постарался дополнить ее по мере сил, опираясь на обсуждение предыдущей статьи из серии.

Статья является второй из серии (здесь первая), посвященной устранению критики, которую сейчас так много адресуют использованию AJAX, и обзорам методов, которые помогут сделать ваш сайт чуточку лучше.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments16
1

Information

Rating
Does not participate
Registered
Activity