С нами лучше!
Выбираем видеокодек


Итак, передо мной встал вопрос - чем кодировать. Т.к. с форматом вещания мы уже разобрались, то выбор стандарта видеокодека осуществлялся теперь автоматически - выбор пал на видеокодек H.264. Естественно, изобретать велосипед мы не стали, а взяли готовый, проверенный временем и отлично работающий open source видеокодек x264. Я успешно прикрутил его к своей системе, и он также успешно стал работать и кодировать видео. Но дальше меня ждал один неприятный момент.

Как я уже указывал (методика разработки), моей целью было - написать программу с полным отсутствием каких бы то ни было утечек памяти. Так вот, с x264 видеокодеком у меня это не получалось. Анализатор постоянно показывал утечку, хотя я всё делал согласно документации к x264 - вызывал соответствующие функции очистки памяти и пр. Причем это была плавающая утечка - при каждом запуске программы она была разной. Возможно, непосредственно при самой работе кодека память и не текла, а утечка возникала лишь при завершении - не знаю. Тут необходимо было детально разбираться в исходных кодах x264, а делать это мне совсем не хотелось. Итого - наличие утечек памяти стало первой причиной, по которой я поставил под сомнение использование x264 в своём проекте.

Второй причиной стал банальный интерес - мне было интересно понять, как работает видеокодирование, с чем его едят, какие технологии при этом используются и как всё это работает. В итоге я принял решение о разработке собственного видеокодека стандарта H.264. Данному вопросу я посвятил заметку Разработка видеокодека H.264. Именно этот, разработанный собственными силами видеокодек, сейчас используется при вещании на сайте.

Игорь, Октябрь 2012.



Комментарии Выбираем видеокодек (0)
Скрыть комментарии

Нет комментариев

Добавить комментарий


Выбрать телеканал





Рейтинг@Mail.ru