Upload
getdevnet
View
520
Download
1
Embed Size (px)
DESCRIPTION
Про то, что такое цифровое видео, что внутри видеофайла, как их обрабатывать и передавать на расстояния, встраивать в вэб-сайты и почему бесполезно защищать от копирования.
Citation preview
Видео в сети
У нас есть план!
• основное противоречие • история передачи видео• типизация • контейнеры и кодеки • протоколы передачи• программное обеспечение • архитектурные решения• как сделать свой YouTube
Основное противоречие систем передачи видео
качество изображения пропускная способность канала передачи данных
История PALSECAMNTSC
Переход к цифре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
защищено патентами
ТТХ
Типы видео По назначению• live• video-on-demand (VoD)
По качеству• Standart Definition (SD)• High Definition (HD)
По типу формирования кадра• прогрессивная развертка (progressive)• черезстрочная развертка (interlaced)
Что внутри цифрового видео
Данные внутри контейнера
Немного о обработке видео
• количество проходов• предустановки• скорость потока (постоянная
и переменная)• скорость перекодирования• оценка ресурсов
... и немного о сжатии видео
Кодеки• MPEG2• MPEG4 (DivX, XVid, h.264)• остальные (VP7, Theora)
Методы вещания• псевдо-потоковое
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)
А на стороне клиента... встроенные видеоплееры (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
Серверы потокового вещания• Adobe FMS• Wowza MS• Erlyvideo• Red5, ffserver и прочие OSS • + Apple Streaming Server и прочие покойники
ПО для вещания• WireCast• Adobe Medial Encoder• Приложения на базе Flash и Flex• VLC, ffmpeg
ПО для перекодирования• ffmpeg• VirtualDub
Архитектура потокового вещания
Архитектура IPTV
Защита видео от копирования - DRM (шифрование при доставке + соответствующая инфраструктура) для поиска источника утечки - Watermarks (водяные знаки на видео) от публикации на других ресурсах и массового скачивания - секретные ссылки и ограничение по трафику и количеству запросов с одного адреса
Как сделать собственный YouTube
• заливка видеоo нотификация о статусе загрузки (JSON, Flash)o размещение в хранилище
• перекодированиеo очередь на перекодированиеo потенциально несколько серверов
даже если сначала одинo несколько вариантов
для flash + несколько вариантов качества, для i*, для мобильныхo размещение на сервере вещания
• сервер(a) потокового или псевдопотокового вещания (erlyvideo | nginx)
Front-end• плеер - не тот, который Adobe Flash Player
o JW Playero flowpalyero самописный на OSMF/JS
Backend• контроль содержимого• мониторинг систем перекодирования, хранилищ,
серверов вещания
Можно начать с одного сервера для всего - виртуализация (OpenVZ, реже - XEN, VirtualBox) Следующий шаг - Облака, CDN / ADN
???