mobius Mobius 2018 Мск (08.12.2018)

Стриминг и воспроизведение видео поверх голых сокетов и кодеков

img img

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

Многие разработчики воспринимают видеоплеер как данность (AVPlayer или ExoPlayer/MediaPlayer). Это хорошие решения, однако можно добиться лучших результатов, используя голые сокет и кодек.

В этом докладе мы посмотрим, как уменьшить задержку старта видео, задержку между стримером и зрителем и утилизацию CPU при стриминге и воспроизведении. Сначала улучшим AVPlayer, а потом заменим его на свой DASH-плеер. Расскажем, как правильно готовить ExoPlayer, и сделаем свой RTMP-плеер на Android. Рассмотрим протоколы стриминга HLS/DASH/RTMP/webRTC/rawUDP.

Все будет рассказано на примере мобильного клиента Одноклассников и приложения OK Live — первого Android-приложения для мобильного стриминга в качестве 1080p.