Сервер Flash-вещаний (RTMP) на Python или создание высоконагруженных сетевых серверов с использованием Twisted Андрей Смирнов NetStream.

Презентация:



Advertisements
Похожие презентации
Организация доставки видеоконтента пользователям Андрей Смирнов (НетСтрим)
Advertisements

Разработка системы развертывания веб- сервисов на базе Р2Р сети Дипломная работа Скворцова Н.С. Научный руководитель: Плискин М.М. Рецензент: Глиненко.
Процессор П1П2П3П4П2П1 Контроллер Завершение операции ввода-вывода Вызов операции ввода-вывода Операция ввода-вывода Синхронное выполнение операции ввода-вывода.
АлтГТУ им И. И. Ползунова Проектирование и реализация каркаса распределенной системы мониторинга и диспетчеризации процессов гетерогенной среды Данил Старовойтов,
АлтГТУ им И. И. Ползунова Проектирование и реализация каркаса распределенной системы мониторинга и диспетчеризации процессов гетерогенной среды Данил Старовойтов,
Распределенная система мониторинга и диспетчеризации процессов гетерогенной среды студент Костюков В.В., профессор к.ф-м.н Крючкова Е.Н., АлтГТУ / ПОВТ.
Потоковое видео и интерактивные технологии. Технологии RTMP-сервер Ограничения Новинки План.
АлтГТУ им И. И. Ползунова Проектирование и реализация каркаса распределенной системы мониторинга и диспетчеризации процессов гетерогенной среды Данил Старовойтов,
Иванов Сергей, ННГУ ВМК ФОТ БС Разработка мультимедийных приложений для MeeGo.
Немного о Twisted Быргазов Владимир Омск, CGKit Twisted PyGTK.
Распределенная обработка информации Разработано: Е.Г. Лаврушиной.
Разработка клиентской части платформы видеовзаимодействия Viditory Константин Аксенов Группа С-105 Руководитель Королев Д.А.
Тема проекта: Автор: Руководитель Разработка программы специалиста планового отдела ООО «ЕвроСпецСтрой» в среде Delphi 6.0. Слайд 1.
Профилирование Эрливидео Макс Лапшин
АлтГТУ им И. И. Ползунова. АлтГТУ им. И. И. Ползунова Проблемы эксплуатации Текст.
Объектно-ориентированное программирование Карпов В.Э. Смолток. Лекция 4. Байт-код.
АлтГТУ им. И. И. Ползунова / ПОВТ, Владимир Костюков Требования 2 отказоустойчивость масштабируемость эффективностьприменимость расширяемость.
Как мы строим CDN в России Ярослав Городецкий, CDNvideo.
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
Разработка системы дистанционного образования. Подсистема инспектора. Нормативные документы. Система поддержки дистанционного образования ФИТ НГУ Автор:
Транксрипт:

Сервер Flash-вещаний (RTMP) на Python или создание высоконагруженных сетевых серверов с использованием Twisted Андрей Смирнов NetStream

НетСтрим ( Содержание 1. Обзор существующих решений. 2. Разработка своего решения (pyFMS): выбор архитектуры, основные проблемы и пути их решения. 3. Борьба за качество: ретрансляция. 4. Полученные количественные характеристики.

НетСтрим ( Общая схема RTMP RTMP: симметричный; проприетарный; закрытый. Возможности: удаленный вызов процедур (RPC); управление пропускной способностью; работа с аудио-видео потоками (просмотр и запись). Клиент (Flash) Сервер RTMP RTMP

НетСтрим ( Существующие решения Коммерческие: Adobe Flash Media Server (FMS); Wowza Media Server Pro. Свободное ПО: Red5 ( Milenia Grafter ( …

НетСтрим ( Архитектура сетевого сервера Много процессов. Много нитей. Один поток (асинхронный ввод-вывод). Комбинированный: асинхронный в/в + много нитей/процессов.

НетСтрим ( Концепция нашего решения Простота: не будем реализовывать ничего лишнего; простая архитектура - один поток выполнения. Python: нам хорошо знаком; Twisted Framework; готовые модули: pyAMF.

НетСтрим ( Twisted Framework Концепция отложенного выполнения (Deferred). Переносимый асинхронный ввод-вывод (reactor). Реализация большого числа базовых протоколов (HTTP, DNS, Telnet, и т.п.)

НетСтрим ( Архитектура pyFMS Приложение 2 Приложение 1 Сервер pyFMS Комната 1 Комната 2 Разделяемый объект Поток (вещание) Клиенты:

НетСтрим ( Схема вещания API Клиент pyFMSСайт (API) ВещаниеЧат Разделяемый объект Поток (вещание) Запись потока на диск с последующей обработкой Удаленные вызовы процедур (RPC) Сбор и анализ статистики

НетСтрим ( Эффективность реализации Python – интерпретируемый ЯП прозрачная сложность операций; легкое расширение с помощью модулей на С. Для увеличения производительности в два раза достаточно было: переписать 5% кода на Python; написать один модуль на C (около 1000 строк кода).

НетСтрим ( Ретрансляция Вещание на клиентов? Легко! pyFMS 1 pyFMS 2pyFMS 3pyFMS 4 Источник вещания Ретрансляторы Клиенты вещания Автор вещания

НетСтрим ( Количественные характеристики На один процесс (одно ядро процессора): 10 тыс. соединений без потока вещания; Вещание: в среднем 100 Мбит/с, пик 140 Мбит/с; примерно соответствует человек, которые смотрят вещание. Ретрансляция позволяет наращивать мощность практически неограниченно.

НетСтрим ( Всё! Вопросы?