21
Видео в сети

Видео в сети

Embed Size (px)

DESCRIPTION

Про то, что такое цифровое видео, что внутри видеофайла, как их обрабатывать и передавать на расстояния, встраивать в вэб-сайты и почему бесполезно защищать от копирования.

Citation preview

Page 1: Видео в сети

Видео в сети

Page 2: Видео в сети

У нас есть план!

• основное противоречие • история передачи видео• типизация • контейнеры и кодеки • протоколы передачи• программное обеспечение • архитектурные решения• как сделать свой YouTube

Page 3: Видео в сети

Основное противоречие систем передачи видео

качество изображения пропускная способность канала передачи данных

Page 4: Видео в сети

История PALSECAMNTSC

Page 5: Видео в сети

Переход к цифреDigital Video Broadcasting (DVB) - канальные и транспортные подсистемы Moving Picture Experts Group - сжатие и передача • MPEG-1 - VCD

o .mp3 - MPEG-1 layer 3• MPEG-2 - SD• MPEG-4 - SD & HD

o path 2 - DivX, Xvid, VP*o path 10 - h.264

защищено патентами

Page 6: Видео в сети
Page 7: Видео в сети

ТТХ

Page 8: Видео в сети

Типы видео  По назначению• live• video-on-demand (VoD)

По качеству• Standart Definition (SD)• High Definition (HD)

По типу формирования кадра• прогрессивная развертка  (progressive)• черезстрочная развертка (interlaced)

Page 9: Видео в сети

Что внутри цифрового видео

Page 10: Видео в сети

Данные внутри контейнера

Page 11: Видео в сети

Немного о обработке видео

• количество проходов• предустановки• скорость потока (постоянная

и переменная)• скорость перекодирования• оценка ресурсов

Page 12: Видео в сети

... и немного о сжатии видео

Кодеки• MPEG2• MPEG4 (DivX, XVid, h.264)• остальные (VP7, Theora)

Page 13: Видео в сети

Методы вещания• псевдо-потоковое

o http pseudo streaming (mod_flv, mod_mp4, mod_h264)http://xxx.xxx/x.mp4?start=110

• потоковое поверх TCP-транспортаo HTTP 

Apple HTTP Live Streaming (HLS) Adobe HTTP Dynamic Streaming (HDS) Microsoft Smooth Streaming

o RTMP* (Adobe) • потоковое поверх UDP или IP-транспорта

o RTP/RTSPo RMTP

• мультикаст (в сетях IPTV)

Page 14: Видео в сети

А на стороне клиента... встроенные видеоплееры (WMP, QT, Totem)

Web-плееры• Adobe Flash player

MP4, FLV - H.264,H.263,VP6 + AAC/MP3

• Silverlight• HTML5 player

WebM (MKV) - VP7 + Ogg

кросплатформенные плееры• VLC• mplayer

Page 15: Видео в сети

Серверы потокового вещания• Adobe FMS• Wowza MS• Erlyvideo• Red5, ffserver и прочие OSS • + Apple Streaming Server и прочие покойники

ПО для вещания• WireCast• Adobe Medial Encoder• Приложения на базе Flash и Flex• VLC, ffmpeg

ПО для перекодирования• ffmpeg• VirtualDub

Page 16: Видео в сети

Архитектура потокового вещания

Page 17: Видео в сети

Архитектура IPTV

Page 18: Видео в сети

Защита видео от копирования - DRM (шифрование при доставке + соответствующая инфраструктура) для поиска источника утечки - Watermarks (водяные знаки на видео) от публикации на других ресурсах и массового скачивания - секретные ссылки и ограничение по трафику и количеству запросов с одного адреса

Page 19: Видео в сети

Как сделать собственный YouTube 

• заливка видеоo нотификация о статусе загрузки (JSON, Flash)o размещение в хранилище

• перекодированиеo очередь на перекодированиеo потенциально несколько серверов

даже если сначала одинo несколько вариантов

для flash + несколько вариантов качества, для i*, для мобильныхo размещение на сервере вещания

• сервер(a) потокового или псевдопотокового вещания (erlyvideo | nginx)

Page 20: Видео в сети

Front-end• плеер - не тот, который Adobe Flash Player

o JW Playero flowpalyero самописный на OSMF/JS

Backend• контроль содержимого• мониторинг систем перекодирования, хранилищ,

серверов вещания

Можно начать с одного сервера для всего - виртуализация (OpenVZ, реже - XEN, VirtualBox) Следующий шаг - Облака, CDN / ADN

Page 21: Видео в сети

???