Какую библиотеку я должен использовать для создания потока webm? - PullRequest
0 голосов
/ 07 мая 2019

Я хочу узнать, как работает современное кодирование видео, и я читал, что крупные компании переходят на бесплатное и открывают webm / av1 (или vp9), и это, как правило, «то, что разработчики захотят придерживаться».

Итак, чтобы лучше понять, как все работает, я хочу накатить простое приложение для кодирования, которое выдает поток webm. Вход и выход не имеют значения. Учтите, что у вас уже есть некоторые кадры, распакованные в памяти, и теперь вы хотите их кодировать и инкапсулировать в поток в памяти.

Насколько я знаю, webm - это подмножество формата контейнера / потока mkv, только с ограничениями кодека. Но есть множество десятков! различных библиотек, и я просто не могу понять, с чего мне начать. Самое первое, что я не могу понять - почему у каждого своя библиотека? Каковы цели / функции / отношения / (мотивация существования) следующих библиотек:

  • libebml
  • libmatroska
  • libebml2
  • libmatroska2
  • libwebm
  • libvpx (неужели он сказал , что его заставили разбирать и использовать части lib только для создания потока!?)

Кажется, что все они поддерживаются (в течение дней ~ месяца), поэтому для новичка совершенно не очевидно, какой из них взять и использовать. Что за беспорядок ... Есть ли пример приложения "Привет мир", который действительно хорош, чтобы начать изучать потоковую передачу через веб?

...