Как стать автором
Обновить
0
0
Илья Попов @Cont

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

Отправить сообщение

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

Время на прочтение18 мин
Количество просмотров64K
image

0. Об авторе


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

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

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

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

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

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

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

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

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

Что такое Hi10P?

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

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

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

Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии12

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

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

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

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

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

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

Время на прочтение11 мин
Количество просмотров33K

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

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

Много картинок
Всего голосов 22: ↑22 и ↓0+22
Комментарии20

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

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

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

Время на прочтение5 мин
Количество просмотров9.7K
Сегодня я наконец-то увидел всем известную социальную сеть odnoklassniki.ru «изнутри». Глазами пользователя, так сказать. До этого я видел только главную страницу. Не буду говорить как обстоят дела с юзабилити, думаю все и так знают… или догадываются, по крайней мере.

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

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

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

Время на прочтение3 мин
Количество просмотров4K


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

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

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

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

и как мы это сделаем?
Всего голосов 180: ↑139 и ↓41+98
Комментарии306

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

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

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

Время на прочтение9 мин
Количество просмотров10K
В последнее время модно стало использовать гуглякарту.
Гугля карту суда, гугля карту туда.
И главное не забыть отобразить свои объектики на карте.
Но, почему-то, подавлявшее число сервисов используют неправильную реализацию процесса передачи маркеров с сервера на клиент.
Точнее они не правильно формируют запросы.
А если выразиться еще более точнее — они это делают
не-по-умному
Всего голосов 79: ↑63 и ↓16+47
Комментарии29

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

Время на прочтение10 мин
Количество просмотров22K
Ни для кого не секрет, что сегодня бизнес в интернете развивается семимильными шагами. Новые интернет проекты открываются каждый день — большинство из них, правда, также быстро и закрывается, не успев развиться и привлечь аудиторию. Те, кто аудиторию привлек, начинает задумываться о способах ее монетизации — превращении показателей счетчиков в деньги.

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


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

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

Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии54

Google Earth 3D browser plugin

Время на прочтение1 мин
Количество просмотров4.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

Всего голосов 28: ↑21 и ↓7+14
Комментарии17

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

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров66K
Итак, в феврале 2009 г. в языке PHP появились новые функции для работы с массивами: функции array_replace, array_walk_recursive и array_diff_assoc, что упрощает работу с массивами и сравнение их элементов.

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

Читать дальше →
Всего голосов 215: ↑207 и ↓8+199
Комментарии414

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

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

Читать дальше →
Всего голосов 118: ↑83 и ↓35+48
Комментарии139

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

Время на прочтение9 мин
Количество просмотров503K
jQuery Logo

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

Читать дальше →
Всего голосов 251: ↑230 и ↓21+209
Комментарии83

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

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

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность