Full-Stack разработчик в ZeroTurnaround
0,0
рейтинг
11 января 2013 в 17:45

Разработка → Потоковое онлайн 4K-видео или обратно к видеоплееру на Flash перевод



Буквально вчера Gerd Hilgemann опубликовал результат своей работы над потоковым вещанием 4K-видео. Как говорится в его оригинальной заметке (это топик-перевод, ссылка на demo внутри):
Завершил работу над живой демострацией потокового вещания видео в формате 4K (3840x2160), которая стала возможна благодаря технологии Flash, а точнее многопоточности, Stage3D и StageVideo. Повторить такое на HTML5 не удалось.
Я использовал HTTP Live Streaming (так же известный как HLS) как контейнер для потокового вещания и mpegTS для декодирования видео, который так же был реализован на Flash.

Для вещания Вам не потребуется специальный сервер, а загрузка процессора на 40% ниже, чем на YouTube!

Для обратной совместимости на мобильных устройствах видео передаётся в формате 720p и потребляет всего 1.5Мбит/c. Верьте или нет, но видео в формате 4K использует всего 3.5Мбит\с.

Пока удалось протестировать на видеокартах фирм ATI и Nvidia, а так же жду недождусь, когда мне в руки попадётся Red 4K Player (я так понимаю речь идёт об этом — прим. переводчика) и его SDK:)


От себя хочу добавить, что я до сих пор не привык смотреть онлайн 1080p, поэтому перспектива 4K меня одновременно радует и пугает. Хотя наверное мой страх перед этим не сравним с ожиданиями на этот счет от таких гигантов потокового видео, как YouTube, Vimeo, и RedTube.

Ссылка на demo
В каком формате смотрите потоковое видео?

Проголосовало 2745 человек. Воздержалось 164 человека.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Перевод: Gerd Hilgemann
Сергей Егоров @bsideup
карма
32,5
рейтинг 0,0
Full-Stack разработчик в ZeroTurnaround
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (82)

  • +3
    Как же его там пережимают о_О сериалы с того же HDOut качеством 720p идут потоком в 2.5мбит, 1080p с Youtube где-то 5мбит (заметил столько).
    • +4
      На YouTube, кстати говоря, качество не слишком хорошее, потому что даже 5 мбит/сек для 1080p это мало, если не использовать многопроходное кодирование.
      • +1
        Не для всякого 1080p надо больше. Многое еще зависит от параметров кодирования. Да от «чего мы хотим получить в итоге», под какие цели и сколько денег мы хотим в это вложить.

        Есть еще мнение на doom9: Что бы то ни было будет выглядеть Великолепно на 10+Mbit/sec. ВНЕ зависимости от используемого Кодера(-ка).
    • +2
      Почему у меня подтормаживае демо?
      Феном х3 + 6 гигов ОЗУ + радеон 4670 не справляются уже? Все, апргрейд не избежен?
      • 0
        у меня i5-3450 + 12Gb + HD6850 и тоже заметно подтормаживание.
        Причем в фоксе вообще отказался запускаться. В хроме пошло.
        • +1
          Core i3-2410M + 4Gb + Intel HD Graphics 3000 + Win8 Pro (x86)
          В IE никаких тормозов, все летает
  • +3
    4K выглядит довольно впечатляюще, но сомневаюсь, что ближайшие пару лет будет какой-либо контент с таким разрешением.

    Ну и с таким битрейтом качество под очень большим вопросом, но это больше PoC, как я понимаю.
    • 0
      Обвестись бы для начала такими дисплеями.
    • +3
      Хоббит снят в 5к ссылка
      • +3
        Снят то он снят, но мастер на выходе 2К (1920 + 128px).
        Проблема 4К не в камерах (уже у каждого школьника в Москве есть возможность аренды эпика который как раз снимает 5K), а в производстве графики под такое разрешение.

        Даже просто для того чтобы гнять в реалтайме исходники 4К без компрессии на одну VFX станцию нужна пропускная способность в 600 мб/сек. А если таких станций в студии 40? Технологии на базе InfiniBand и решения Isilon сейчас стоят как ангар самолетов :)

        Само собой 4х кратное увеличение разрешения несет за собой космические апгрейды (одна рабочая станция будет стоить порядка 20-30к$). Плюс увеличение сроков по производству в ~2-3 раза. Пара студий уже обожглись на «пробе пера» с выходом в 4К.

        Так что ближайшие пару лет кина не будет :(
        • +1
          >>мастер на выходе 2К
          Ошибаетесь 4K
          • 0
            Нету хоббита в 4К, нету!
            Бюджета не хватит сделать в 3D@48fps 4K. Да и технологически это сейчас тупо *невозможно*.
            • +1
              Значит они делают невозможное и не подозревают об этом:) Можете тут посмотреть где и в каком разрешении показывают хоббита — youtu.be/koCfw7EKDlo?t=52s
              • +4
                а с чего вдруг этот видеоблоггер-любитель решил что аймакс — это обязательно 4K? :)
                Еще раз повторяю — мастера Хоббита в 4к не существует!
                • 0
                  Кстати, есть он или нет, а вот тут сказано, что Хоббит снимался на RED Epic камеры в 5К. Т.е., даже если его и не выпустили в 5К, то видео оригиналы точно могут храниться до лучших времён.
            • +1
              Мне, как программисту интересно, почему это не возможно? Т.е. суперкомпьютеры возможны, 4К видео в этой статье приведено для примера, а большая киностудия 4К сделать не может… Что-то очень напоминает историю у Форда и станки скоростью 120 деталей в минуту, когда производители станков ему сказали, что это не возможно, когда у него 2 опытных уже работали ;)
              • 0
                Ну я частично выше уже объяснил. Проблема в компьютерной графике, те например трансформеров сделать в 4К сейчас ну если не невозможно, то ОЧЕНЬ дорого, настолько, что фильм не окупиться. Про 3д вообще забыли.

                Выпустить сейчас фильм в 4К без или с минимальным количеством CG-штов можно и на макбуке при грамотном подходе.
                • +1
                  Вот потому я не люблю слово «невозможно». Про Трансформеров вообще теоретически легко, «просто» отскейлить. Всё равно они моделятся наверняка детализированнее чем рендерятся. Да, нужно будет «просто» больше компьютерного времени. Я понимаю о чём вы, но это вопрос желания и финансирования. Точно также, как фильм на 50 к/с возжелали и сделали. Человек, когда мечтает, на многое способен ;)
                  • 0
                    С тем же успехом можно сказать, что любой фильм можно выпустить в 5k, даже 30-х годов, это только вопрос денег. Огромных денег. Вы себе представляете post-обработку трансформеров? Это же, по сути, едва ли не большая часть работы.
                    • 0
                      Ну 30х я полагаю только переснимать :)
                      • 0
                        Ну да. Это лишь вопрос денег.

                        Теоретически, конечно, можно и не переснимая, но это адский труд.
                  • +5
                    «Просто» отскейлить не получится. Проблема как раз в том что модели и сейчас «детализированнее чем рендерятся».Например для просчета ОДНОГО вольюметрических взрыва считается point-cloud с разрешением 8х8к, это 1 ТЕРАБАЙТ даты. Для формата 4К нужно делать рендеры 24Кх24К! Если например взрывов в кадре 20, то это соотвественно 20 тб на шот. У нас 4к? 80тб для ОДНОГО кадра. Плюс несколько разный версий. Плюс хранение исходников. Плюс ДЕСЯТКИ рендеров дейлизов. Получается что для хранения одного шота нам нужно порядка 150тб места. А подобных шотов в картине типа трансформеров около 20. ~3 Пэтабайта только на эти шоты. Плюс бесчисленное множество шотов с пересекающимися ассетами (модели, текстуры и тд) которые тоже весят космические цифры. В итоге мы имеем небольшой дата-центр с хранилищем на 8 петабайт, который должен на каждую из 40 станций выдавать потоковую скорость порядка 10Гбит минимум(!!!) без задержек. Вы можете представить СКОЛЬКО это стоит построить?
                    И это только хранилище! И я уже молчу что рендер ферма вместо относительно небольшой серверной с охлаждением превращается в настоящий дата центр с суперкомпьютером.

                    К сожалению hardcore-CGI это не моя облать, я не могу вам достаточно точно и в деталях объяснить какие проблемы нужно решать при переходе на 4К, но в общем основные проблемы при четырехкратном увеличении разрешения это:
                    1) количество места и передача данных
                    2) рендер
                    3) увеличение сроков по производству в 3 раза
                    4) увеличение бюджета на графику в 4-5 раз.
                    • 0
                      извращения, неужели нельзя без пересчета партиклей все сделать?
                    • 0
                      Во-первых большинство взрывов не делают в 3d, а снимают на камеру и добавляют на этапе композинга.
                      Во-вторых с чего это вдруг при увеличении разрешения я должен увеличивать количество частиц? Количество частиц влияет на проработанность и реалистичность симуляции и от разрешения практически не зависит.
                      В-третьих почему у вас симуляция 8*8 занимает 1Tb? Такая симуляция и 1 Гб на кадр не займет.
                      В-четвертых где вы в Хоббите увидели кучу взрывов?
                      • 0
                        от увеличения числа партиклей вообще все поедет, как минимум свет и баланс, да и взрывы можно делать минимумом, даже гигабайта будет много
                        • 0
                          Взрывы привел для примера из того что я точно знаю, этим сейчас например занимается одна московская студия. Я не спец в CGI, и просто не могу привести примеры всех подводных камней, но со слов знакомых — проблем при работе в 4к очень много и киномир пока отказывается работать в этом формате по причине лавинообразного увеличения бюджета.
                    • –1
                      Я вас огорчу, но для кино все рендерится минимум в 5к.
  • +12
    Верьте или нет, но видео в формате 4K использует всего 3.5Мбит\с.

    В это легко поверить, но качество оставит желать лучшего. Математику не обмануть.
    • 0
      При учете что хорошее 1080p требует 4500 kbps, например vudu стримят с этой скоростью, то 3.5 для 4к выглядит маловато.
      Да чего там, даже нетфлих требует для своего SuperHD около 5-7Мбит, что бы получить нормальную четкую картинку.
  • 0
    вот как подтянутся 4К-дисплеи, так и сменю своего ветерана DELL 2408 WFP.
  • –1
    На FullHD мониторе не заметил практически никакой разницы с 1080p. Так что не вижу особого смысла для себя в данный момент. На продукции apple с высокой плотностью пикселей, возможно, это будет смотреться эффектнее.
    • +36
      Было бы странно, если бы заметили;)
      • +6
        Тогда это был бы эффект дефлопе :)
      • 0
        Ну даже на телефоне с экраном в 480р разница между видео 480р и 720р очень заметна, но это происходит из-за повышения битрейта а не физических размеров изображения. Понятно что поток 1мбит/с лучше чем 0.5мбит/с, даже если его придется пережать обратно в физический размер второго.

        С битрейтом 3.5мбит разница естественно будет не видна, но вот битрейт мбит 10 уже даст ощутить разницу по сравнению с 1080р даже на экране не поддерживающим 4к… другое дело что того же эффекта можно добиться просто подняв битрейт самого 1080р ))

        Сейчас всё упирается скорее в битрейт — без его повышения — в 4 раза повышать саму картинку до 4к смысла особо не имеет. Вот как упремся в физический размер 1080р (а это извините поток в ~40гб/час и даже не предел) тогда можно и о 4к поговорить.
        Для фильмов 4к да, крутая тема. Для стриминга — пока нет таких каналов. Как эксперимент он молодец конечно, лучше всегда иметь заранее реализацию под будущую технологию.
        • –1
          На телефоне 480p правильно сравнивать 720p и 480p с одинаковым битрейтом и искать разницу;)
          • 0
            По топику мы даже скорее сравниваем 720р с худшим битрейтом, что вообще имеет мало смысла.
            • 0
              3.5 Мбит это битрейт fullhd видео на youtube. Ну или около того. Т.е. фишка в том, чтобы увеличить разрешение в 4 раза, оставить битрейт таким-же и сравнить с исходным вариантом. с 720p там никто не сравнивает, это просто отдельная версия для телефонов, чтобы не перегрелись от 4К.

              В прочем, fullhd версию с тем-же битрейтом не показали, так что сложно сказать, какая между ними разница. Шрифты четкие на 2560*1440 (четче, чем в случае с fullhd), а вот видео идет как-то рывками на сценах с плавным движением.
              • 0
                Вы не совсем меня поняли (а я очень хреново объяснился) про 720р так что это опустим.
                В некоторых случаях увеличенная картинка может выиграть на том же битрейте это факт (недавно кстати был похожий топик про ретину — мол храните картинки двойном размере, но худшем качестве — в итоге выигрываете в качестве на ретине и даже на обычных экранах). Думаю найдутся любители тестирования и сделают попиксельный тест )
                • 0
                  Я разницу междк fullhd и 720p на 1366*768 не заметил. Однако, я кодировал с быстрым пресетом. Я думаю, что по статичным картинкам особой разницы и не будет. А вот движение на удвоенном разрешении будет отображаться хуже. Однако, проверить эту теорию на качественном двухпроходном кодировании не дошли руки(
        • 0
          Это все ИМХО, но, если сравнить фильм в 720р и 480р, имеющих одинаковый размер (и битрейт), то, субъективно, 720р окажется немного лучше визуально. Четкость лучше. Но это при условии, что монитор поддерживает разрешение как минимум 720р. Если монитор поддерживает разрешение 4к — то лучше иметь видео 4к, даже при том же битрейте, что 1080р.

          Основной смысл высокого разрешения именно в четких краях. При реальной сьемке большинство объектов на экране не имеют настолько богатых деталей, что они будут убиты артефактами. А вот края есть везде, и повышение разрешения улучшает их четкость (при условии нормальной кодировки), при этом выигрыш в четкости краев все равно перекрывает увеличение количества артефактов. Все, конечно, при условии более-менее вменяемого битрейта.
          • 0
            Повторюсь, разница будет в качестве отображения движения, особенно плавного, но с достаточно высокой скоростью смены декораций. Хотя, возможно, это зависит от настроек кодека (но эффект в любом случае будет).
  • +9
    >>обратно к видеоплееру на Flash
    >>обратно

    Вообще с него пока и не было вариантов слазить. Либо Flash, либо Native App на планшетах и телефонах. Видео в HTML 5 слишком сильно глючит, тормозит и при этом жрет CPU (Блин, три года уже мусолят, а все один Proof of concept на руках).
    • –3
      лол, на OS X ровно обратная ситуация, Flash жрет CPU, а HTML 5 спокойно себе играется.
      • –1
        Минусаторы могут долго и упорно спорить с фактами ;)
  • 0
    Чем-то напоминает картинки удвоенного размера но в худшем качестве при оптимизации сайтов под Ретину. С одной стороны, на обычном мониторе артефактов не будет видно за счет того что пиксели все равно объединятся. С другой, на ретине пиксели на столько мелкие, что косяки тоже в глаза не бросаются.

    В принципе, это оправдано, учитывая что 4К девайсов пока немного. А так и на fullhd можно без большого оверхеда смотреть и на 4K будет смотреться лучше, чем контент в fullhd изначально.
    • 0
      А на деле артефакты очень даже видны и там, и там.
      • 0
        Не всегда, в основном только на больших градиентах.
        • 0
          Ну я практически на всех примерах видел недостатки. Или хотя бы чуть большую размытость — не идеальную чёткость. Сам думаю, что если картинки уже оптимизируются, то нормально, больших извратов не надо. Пережатые картинки создают менее приятное впечатление, даже если артефакты не так заметны. Картинка как бы загрязняется.
          • 0
            Если картинка изначально в высоком разрешении, но артефактов практически незаметно. Нужно только взять конкретный размер картинок, такой как будет на сайте и поиграться со степенью сжатия на нескольких примерах. Если нет цели точно попасть в размер маленькой картинки, а допустимо увеличение на 10-30%, то как правило получается добиться хорошего результата.
            • 0
              При таком подходе уже куда-бы ни шло, а при сжатии 1 в 1 или даже 0,75 получается однозначно некачественно.
  • 0
    "… а загрузка процессора на 40% ниже, чем на YouTube!"
    Да ну! ompldr.org/vaDE1aQ
    • 0
      Видимо Ваша видеокарта не поддерживает hardware декодирование видео формата, который они используют (о чем можно посмотреть в статистике, в левом верхнем углу)

      А не могли бы Вы для сравнения привести скрин того же при проигрывании видео с www.youtube.com/view_play_list?p=5BF9E09ECEC8F88F?
      • 0
        ompldr.org/vaDE1bA
        нагрузка действительно меньше на ~30%, но в расчёте на ядро, а не на весь APU, если я правильно понимаю.
        мне кажется проблема в драйверах может заключаться, если ниже у людей на Intel HD меньше нагружается APU чем на AMD A10-4600 (radeon 7660g)
      • 0
        кстати, в хромиуме нагрузка от демо Gerd Hilgemann в среднем на 30% меньше. я даже не знаю как это связать, плеер же флэш и от браузера не должна зависеть производительность
        • 0
          с точностью до наоборот) Производительность Flash плеера напрямую зависит от броузера, т.к. каждый броузер предоставляет своё API для plugin-ов (к примеру в хроме Flash работает через Pepper API или как-то так и считается одним из самых шустрых)
        • 0
          Производительность во флеш-плеере зависит от браузера. Комментарием выше человек объясняет почему, я этого не знал, но зато разницу видел вживую на онлайновой стратегии The Settlers Online. У неё флеш-клиент, открываемый в браузере. Шустрее всего игра работает в Хроме, Файрфокс и ИЕ дают хороший результат — игра работает чуть медленнее, чем в Хроме, но нормально, играть можно без проблем. Хуже всего в Опере, игра подтормаживает.
      • 0
        «А не могли бы Вы для сравнения привести скрин»
        Ну как бы…
        habrastorage.org/storage2/dde/989/c0a/dde989c0af6a1de942fe64b307116dcc.png

        1080p нормально. i7 3770k@4.5, Radeon 7850, много памяти, последний хром.
  • 0
    Ubuntu, Iron, Intel HD (sandy bridge). Пожрало ~3 потока процессора из 4х, Играется шустро и в фуллскрине, и в окне.
    Всё ок.
    • 0
      Чота не понял как, если у них в требованиях минимум HD4000, то есть Ivy Bridge.
      • 0
        Stage3D имеет очень обширную поддержку видеокарт вплоть до выпущенных года 3-4 назад, поэтому на 3000 тоже имхо должно работать, т.к. специального ограничения она не имеет со стороны технологий.
        • 0
          У меня Core-i5-2410M Sandy, Intel HD3000, Flash 11.5.31.135, Chrome Canary 26.
          Полное слайдшоу и лаги. Пнул через GT 555 — аналогично. Windows 7 x64 Home
          • 0
            клик правой кнопкой, Settings… Enable hardware acceleration стоит?
            • 0
              Конечно. В chrome://gpu/ ещё:
              Flash 3D: Hardware accelerated
              Flash Stage3D: Hardware accelerated
          • 0
            Возможно интернет ступил?

            У меня на Intel Core i7-2670QM загрузило процессор на 50 процентов и инет на 5 Мбит, но шло без лагов. Правда со второго раза.
      • 0
        Ну фиг знает, играется хорошо )

        Только на 1600х1200 мониторе в фуллскрине scale ооочень странный.
  • 0
    На Intel Celeron G540 @ 2.50Ghz (Win7 x64, Chrome) показывает, но заметно лагает: оба ядра загружены целиком. Проверил YouTube (4к) — тоже 100% нагрузка, но лагает чуть меньше.
  • 0
    Ааааа! У меня на этой странице видео драйвер упал.

    > Видеодрайвер amdkmdap перестал отвечать и был успешно восстановлен.
    • 0
      ага, запустил второй раз и… bsod
      • 0
        без аппаратного ускорения работает
  • 0
    Для 4K вероятнее всего будет использоваться h.265/HEVC
    Январь 2013: Окончательный проект Международного стандарта (готов к ратификации стандарта)
    Апрель 2013: Международный стандарт

    On January 3, 2013, Allegro DVT announced that they will show HEVC video hardware decoder IP at the 2013 International CES. The HEVC decoder IP can be used on FPGA and SoC with support for up to 4K resolution.
    On January 7, 2013, Samsung Electronics announced at the 2013 International CES that their F8500 series of plasma TVs will support HEVC video decoding.
    On January 8, 2013, Broadcom announced the BCM7445 which is an Ultra HD decoding chip capable of decoding HEVC at up to 4096×2160p at 60 fps.
  • 0
    Кадры с текстом прогрузились, а как пошла картинка замерло и уже не ожило… не знаю как у вас, а у меня флэш никуда не обратно
  • НЛО прилетело и опубликовало эту надпись здесь
    • +2
      Года 3 назад я «изменил себя» и Перестал заниматься «Собирательством»(ох… 6 банок по 100DVD-R раздарил друзьям). С Тех пор не имею ничего против «прогресса» и, видимо, «пиратства».

      Скачал -> Посмотрел -> Удалил.
      если надо будет, или 4К версия выйдет, или еще что: Повторить.
    • +1
      Вы в курсе, что видео для кинотеатров снимается на 35мм пленку, после чего оцифровывается и обрабатывается с разрешением до 5000х3500 (а в IMAX-формате до 10000х7000, пленка 70мм), после чего в этом же разрешении переносится обратно на пленку и рассылается в таком виде в кинотеатры (в аналоговые, коих до сих пор подавляющее большинство). При чем исходники видео 5000х3500 весят по 10 гиг на минуту (битрейт — 167 МБайт/сек), про IMAX точных цифр не знаю. Так что до настоящего кинотеатрального качества мы, пока что, и близко не подобрались.
      • +4
        1) На пленку сегодня уже практически никто не снимает.
        2) МАКСИМАЛЬНОЕ разрешения скана 35мм это 4096x3277. Но 99% материала цифруется в 2к и в таком же виде печатается обратно на негатив (мастер). Но мало из этого мы видим на экране тк на позитиве который уходит в кинотеатр получается ~1200 точек по ширине. Так что смотреть пленку в кинотеатре это намазывать себе глаза мылом, лучше посмотреть блюрей :)
        3) Поток 2K (fullap) сканов в DPX 10bit это 300мб/сек или 18гб/минута. В 4К — 600мб/сек или 36 гб/минута.
        4) Так что к «настоящему кинотеатральному качеству» мы уже давно подобрались и перебрались.
    • 0
      Да! Очередной релиз Терминатора 2, Ultimate Super Extreme Edition теперь в качестве 4К :)
  • +2
    Если это действительно жрет всего 3.5 мбит, то впечатляет. Хотя, конечно, качество скорее уровня 1080р, но зато полноценных.
    С другой стороны, меня как киномана, больше радует тенденция перехода к 48 и 60 fps, чем гонка за пикселями по вертикали и горизонтали.
  • 0
    У меня в Firefox только звук и надпись «YOUR GPU IS NOT ABLE TO DECODE THIS 4k Video». В IE10 работает, хотя там Flash Player старее.
  • +1
    Я очень сильно извиняюсь и прошу не минусовать, но что за музыка играет на фоне?
  • 0
    Следующим шагом так понимаю будет 8к с разрешением 7680 × 4320.
    • 0
      Да вы умеете считать, месье!
  • 0
    Хмм, IE10 мне нравится все больше и больше. В Хроме видео показывается, но на общих сценах (особенно когда камера летит над городом) видео подлагивает, дергается, в IE10 все как по маслу.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.