Pull to refresh

Comments 55

Отлично, но хабракат не помешал бы.
Полез посмотреть, что есть под IIS с Windows.
IIS Media Services, позволяет стримить до 1080р адаптивно.
У них на сайте демка довольно радужная, правда нужно ставить их дурацкий SilverLight.
Позволю себе заметить, что SilverLight не только не «дурацкий», но ещё и очень клёвый, как в функционале, так и в программировании, в инструментах и прочем. Так-то.
Я с точки зрения конечного пользователя, которого заставляют ставить «очередную программу непонятно для чего» ))
Без сомнения, мне включать дырявый флеш «гораздо приятнее»
Я как конечный пользователь привык к флешу и к его неизбежности и его тормоза на нетбуках, к его постоянным обновлениям.
Сильверлайт — тёмная лошадка )
Я как пользователь Silverlight'a привык к хорошему и не желаю возвращаться к flash'у
UFO just landed and posted this here
Толсто тролите, а главное — глупо. В приличных местах за такое сливают.

habrahabr.ru/blogs/silverlight/80497/
riastats.com/

И главное, что тенденции только в пользу SilverLight. Т.к. Windows установлен на подавляющем большинстве персональных компьютеров, то довольно скоро на почти всех них будет установлен наш замечательный SilverLight. Так-то.

ну и что что виндовс у всех установлен, это ведь людям не мешает не пользоваться Explorer'ом и Windows media player, вот так и ваш замечательный, самый быстрый и безглючный SilverLight легко можно заменить на Flash. Я сколько не пытался полюбить эту технологию, она никак не хотела идти на контакт, то установить SilverLight проблема, то после установки браузер намертво зависал, то при переходе на всемизвестный сайт на SilverLight московского метро, просто вылетал нах. Разве так должна работать технология будущего? и да, Flash в миллион раз легче освоить.
На смену одному тролю пришёл 2-й.

Поясню, что непосредственно в этих 2-х комментариях не рассматриваются особенности технологий. Речь шла исключительно о распространённости.

_____________________________________________________________

Ну раз уж вы решили поговорить на совсем другую тему.
1. Речь о предустановленном Sliverlight идёт в естественном ключе необходимости его популярности для массового использования разработчиками.
2. Как раз Silverlight на flash на заменишь, а наоборот — запросто.
3. Ваши проблемы с Silverlight я бы отнёс на вашу сторону.
4. Установить Silverlight не то что не проблема, это даже обсуждать не имеет смысла, настолько маразматично ваше высказывание. Обычно детальный разбор подобной ситуации приводит к осознанию, что у чувака искалечена ОС им самим.
5. Ни разу браузер под Silverlight не зависал (Firefox и IE9 под Windows Vista)
6. А вот Macromedia Flash иногда вылетает. А подтупливает очень у многих постоянно.
7. Лёгкость освоения влияет на быстроту популяризации и только, а это не главное. Flash легче освоить нубам и любителям всякого говна типа ruby. Тем кто использует C#, освоение Silverlight проходит очень быстро и просто. А это как раз уже важно.

Я знаю C#, silverlight ни в зуб ногой.
Попробовав просто что-то написать, я понял что это не просто — это ОЧЕНЬ просто!
Flash? — Нет уж.

Доля Silverlight по миру ~ 75%

Установка! не требует перезагрузки браузера! и происходит по нажатию 1 кнопки.

Короче, можете троллить дальше, но от реальности не убежать.
Вы смотрите трансляции через flash — мне жалко вас.

Продукт от MS на silverlight — это лучшее решение для трансляций, которое я видел.
Изменение качества на лету, для безбуферезированного просмотра.
Нет проблем с перемоткой(в прошлое :) ), даже когда трансляция идет в online.
Господа, чем вы меряетесь?
Знаком с одной и другой технологией. С Silverlight правда в меньшей степени.
Честно Silverlight очень понравился, работа проведена огромная.
Но как говорится «кто первый встал того и тапки» и переломить это очень сложно, особенно когда adobe не дремлет. В данной ситуации для flash большую опасность представляет html5 IMHO.
Про тапки вы зря. Конечному пользователю всё равно при условии, что оба проигрывателя установлены.
А разработчики уже многие выбрали Silverlight.

Так что «тапок» не будет.
я вообще не понимаю, зачем так жопу рвать и наезжать на людей из-за своей привязанности к сильверлайту, ну нравится и хорошо, пользуйтесь на здоровье, не нужно ничего навязывать.
Вы продолжаете тролить. Перечитайте сообщения выше.
necrophile mode on

Ну что? Как там Сильверлайт? Убежал от реальности?
Угу. Вы когда-нибудь устанавливали SilverLight? Я лично не припомню более быстрой, лёгкой, безглючной, ненапряжной, минимальнокликательной инсталляции.
Да. В нем хорошо реализован apple http streaming (mpegts), хоть автор дизайн протокола и ругает
Если вводные такие — видео сайт должен отдавать во flash, iOS, android, то мы пробовали делать, например, так:
кодируем
High profile H264 — 3 качества (X1.mp4 X2.mp4 X3.mp4)
Baseline H.264 — 2 качества (X4.mp4 X5.mp4)

под flash — отдаем OpenHttpStreamer'ом X1.mp4 X2.mp4 X3.mp4
под iphone — ErlyVideo X4.mp4 X5.mp4
под iPad — ErlyVideo X1.mp4 X2.mp4 X3.mp4 (там мощный чип декодирования и экран большой)
под android phone — http progressive download c ручным переключением X4.mp4 X5.mp4
под android pad — http progressive download c ручным переключением X1.mp4 X2.mp4 X3.mp4

Под android я не нашел информации про multibitrate dynamic streaming, поэтому пока только «ручками», как в m.youtube.com
у нас есть код, который вещает на андроид, но я тоже не знаю, что у них с автоматическим переключением между битрейтами.

аналог openhttpstreamer-а скорее всего тоже у нас появится.
а какой транспорт используется для live-трансляций на андроид? управляющий протокол — RTSP, а какой транспорт возможен? только RTP по UDP или какой-то еще?
Я могу ошибаться, но вроде бы только RTP по UDP. Впрочем, я ни разу не встречал что бы RTSP управлял чем-то кроме RTP
иногда rtsp используют для вещания голого mpegts поверх udp (в формате как он передается по мультикастам)
iis media services (сервер-организатор потока Smooth Streaming) позволяет стримить адаптивный поток на устройства Apple без потребности в silverlight, поток налету конвертируется в apple http streaming.

организация потокового адаптивного онлайн вещания на базе iis media services сразу для платформ windows и apple занимает несколько минут
И у нас есть исходники iis, чтобы править косяки, а также мы можем на халяву поставить пару сотен серверов, под управлением windows server xxxx.
Добрый майкрософт уже все написал, ребята!
Там тоже это есть и точка. Вопрос цены и остального — вопрос другой.
Точка есть на клавиатуре, поищите.

Вопрос цены никуда собственно не девается, в независимости от вашего к нему отношения.
Все просто — решения от MS не интересны из-за этого «остального». Решение с открытыми исходниками сильно предпочтительнее. То что оно там есть, не гарантирует, что оно работает так, как надо вам. А если есть исходники, то это уже не проблема.
А я понял. Вы из той категории людей, чьё мнение единственное верное, а все вокруг идиоты и ничего не знают. ок.
Ты хоть понял о чем я сказал в своем комментарии?
Что есть в IIS подобное решение и всё. Просто блядь факт — есть и всё.
Проблема не столько в отсутствии у вас исходников от IIS, сколько в отсутствии людей, которые будут готовы за деньги поправить эти исходники. Микрософт ничего не будет допиливать для вас, а контора поменьше сможет.
Я, видимо, не уловил сути — flowplayer + php/perl скрипт с докачкой позволяет нечто вроде HTTP streaming.

Из каких модулей состоит ваше решение?
Модуль под nginx (только что запушили альфа-версию) и osmf-based flash player.

Насколько я знаю flowplayer пока не умеет HTTP Dynamic Streaming — http://flowplayer.org/forum/6/45644

Все что я видел — это вариации на тему псевдо-стриминга и даже byte-range requests.

HTTP dynamic streaming изначально подразумевает, что
1. ролик состоит из нескольких файлов разных битрейтов
2. каждый файл разбит на одинаковые фрагменты
3. плейер «выбирает» и закачивает нужные фрагменты для плавного и безостановочного воспроизведения ролика. Флеш это умеет только с версии 10.1

Каждый фрагмент — это легко кешируемый HTTP-объект и нравится CDN. Microsoft в свое время так провела трансляции Пекинской(кажется) олимпиады для бешеного количества зрителей, используя традиционные CDN. Кажется, это технология и переросла потом в Microsoft Smooth Streaming for Silverlight.
Да, во flowplayer используются range requests.

Видимо, я не очень понимаю разницу между HTTP dynamic streaming и обычными HTTP range реквестами (псевдостриминг).

Конкретно — у меня стоит задача раздавать записанное и живое видео. Живое — там честный rtmp, записанное — flowplayer через http.
С помощью flowplayer я могу:
1) выбирать ролик с нужным битрейтом
2) заранее подготовить файл с нужными cue points и битрейтами
3) flowplayer умеет кешировать/показывать с любого места.

Единственное, что может (если я вас правильно понял) отличаться — если очень большие файлы или много кусков, которые надо в один непрерывный стрим склеить и показывать во впремя просмотра — вы это имеет ввиду?

Так умеет делать Windows Media Encoder — раздача файлов по HTTP потоком, а в сочетании с Helix сервером он очень неплох был в свое время.

Но тут опять неприятный момент :) — тот же Winows Media Encoder (да и хеликс вроде) умеют на лету перекодировать потоки под требования клиента — то-бишь указываешь пачку с файлами, а далее она автоматически перекодируютс и собираются в один поток. Это позволяет не парится с подготовкой файлов.

Я почему, собсно, расписался — я с удовольствием бы использовал ваш проект, так как мне надо раздавать видео (и живое, и записанное), но пока достаточно флешплеера и других rtsp/rtmp броадкастеров. Или у вас есть ценность, которую я не уловил?

У вас получалось сделать пример на flowplayer, который стримит по http и переключается между битрейтами плавно, без заиканий? Теоретически такой код на AS для flash 10.1 можно сделать, я пока только видел примеры с плавным переключением по rtmp.
Тогда, да, разница, если сравнивать технологии — это большие файлы с byte-range доступом к ним или много предварительно размеченных кусочков. У каждой есть свои плюсы-минусы.
Переключение битрейтов во время проигрыша я не делал — пока не надо. Но мне кажется, что это можно реализовать через обычный AS плеер открыв два паралельных потока (как вы и написали).
В этом и суть динамического стриминга.
А что касется двух параллельных потоков, то синхронизироваться для плавного переключения довольно трудно.
А как насчёт http live streaming?
Сейчас делаем проект, где как раз я решил использовать osmf.
Суть проекта: круглосуточное онлайн вещание с камеры по http.
До osmf использовал flowPlayer. Он себя не оправдал.
Во первых исходники очень запутанные и мало приспособленные для модификации.
Во вторых ощутимо жрёт память.
В третьих валится после 2-3 часов.

Позавчера перешёл на osmf — пока полёт нормальный.
Фишка в том что нужно через некоторые промежутки времени делать реконнект, чтоб файл не переполнял кэш, кроме того реконнекты делать надо с уникальным хостом/ адресом.
Ну и самое главное держать 2 соединения и при реконнекте переключать их после приёма данных (если переключать в одном потоке — будет пауза 2-5 секунд)
Все live-решения — это уже полноценные медиасервера, а это совсем другая история. Хотя с http-кусочным стримингом теоретически можно построить такой «delay» live без медиасервера. Поступающий live быстро кодируем, фрагментируем и кладем эти фрагменты для скачивания, параллельно поддерживаем список актуальных фрагментов для скачивания. Для более-менее стабильной системы нужно в плейлисте кусочков 3-5, как минимум, иметь, плюс задержки на распространение и пр. Секунд в 30 отставания, наверное, можно уложиться. Чем больше допустимая задержка, тем стабильнее система получается. Но это теория…
Ну не знаю. мы сделали отдачу на несколько каналов типа:
..live.f4v?uncaсhed242244&res=240
переменный битрейт пока не делали, только разрешение. от камеры расход на 3 канала.
Задержки от Одессы в Москву не более 2 секунд.
При условии идеальности канала.
При каком битрейте?
А что происходит в момент переполнения кэша?
Пишем аналогичный проект, материала по FMS очень мало, интересно было бы обменяться опытом. Вы можете посмотреть нашу alpha версию тут >>> youvideoblog.com. Весь функционал еще отключен, но можно поиграться с онлайн видео, для этого нужно войти под лоигном login: test, pass: test
очень хотелось бы узнать о подводных камнях и решениях в вашем проекте.
UGC-контентом = User Generated Content — контентом
все равно что CD-диск
Я чукча, читал не внимательно, в коде он упоминается.
Классический Microsoft Smooth Streaming. Доработанный flash клиент показывал отличные результаты. Возможно то что они дают в продакшн избавлено от мелких косяков. Единственный недостаток, как написано в статье, закрытость и не бесплатность.
Очень интересно, существует ли решение для показа видео (в виде кода, или в виде уже существующего видеохостинга), которое умеет детектировать не только полосу пропускания и выбирать соответствующий битрейт, но и определять производительность устройства определения (например Atom без чипа, или Atom с чипом декодирования, или одноядерник без и с GPU ускорением)?
Так ли важно какое конкретно устройство? Главное что его производительности не хватает, что выражается в недостаточном количестве fps. Ну и собственно, что мешает вам использовать эту информацию для перехода на поток с более простым профайлом кодирования или на поток с меньшим разрешением/битрейтом. И да, например, автор статьи активно использовал информацию о fps в одном из проектов.
Да, именно об этом и вопрос — определить хватает ли fps или нет. Этот OSMF умеет это делать? И какой-нибудь существующий видео-хостинг умеет так делать?
OSMF определённо может предоставлять информацию о количестве dropped frames и avarage dropped frames.
Например, онлайн трансляции на НТВ+ используют эту информацию.
Очень интересно. А вы не пробовали стриминг в H.263 (для старых мобильных) к этой системе прикрутить?
Спасибо за статью, очень познавательно.

Такой вопрос — зашел через ipad на страницу с примером видео. Там почему-то все равно предлагается выбрать качество видео, если я правильно понимаю назначение кнопок HQ+, HQ, SQ и на HQ+ наблюдаются как раз задержки и отсутствие переходов качества. Это у вас просто поддержки в плеере iOs устройств нет? Заранее спасибо за ответ.

PS Пытался на сайте написать этот коммент, не получилось: пишет, что если вы не бот вернитесь и подтвердите и так постоянно.
Мы тоже сейчас запустили версию erlyvideo с HDS+HLS вещанием. Фактически от RTMP отказались.
Only those users with full accounts are able to leave comments. Log in, please.