Потоковое видео: что это такое? Что такое потоковая оптимизация
как сделать воспроизведение без задержки и повысить качество
От автора: поскольку все больше и больше клиентов используют сети с высокой пропускной способностью, потоковое видео стало нормой в Интернете. Социальные медиа, веб-сайты и потоковые сервисы, такие как YouTube и Netflix, передаются прямо на ваш телефон. Исследование показало, что видео повышает взаимодействие с клиентами, поэтому мы должны ожидать, что количество видео в Интернете и на мобильных устройствах будет продолжать расти быстрыми темпами. Но что нужно для хорошего воспроизведения видео? И (возможно, что более важно), как вы можете реализовать хорошее воспроизведение видео, которое также очень высокоэффективно? В этой статье я сосредоточусь на нескольких способах оптимизации потоковой передачи HTTP Live Streaming (HLS) для улучшения доставки. Эти передовые методы также применяются к форматам MPEG-DASH и другим потоковым форматам и ни в коем случае не являются исчерпывающим списком, а просто представляют собой способы повышения производительности потоковой передачи видео.
Исследование: что делает хороший поток?
Ответ: зависит от разных факторов. Клиенты демонстрируют различное поведение для разных типов потоков. Это интуитивно имеет смысл — если вы сидите и смотрите телешоу или фильм (более 15 минут), вы будете более терпеливыми, чем, если это будет видео с котом, едущем на Roomba.
Я рассмотрю 3 основных показателя качества видео, которые необходимо учитывать.
Задержка запуска: время от нажатия воспроизведения до тех пор, как начнётся поток.
Столбцы. В буфере устройства видео не остается, и воспроизведение останавливается.
Современные тенденции и подходы в веб-разработке
Узнайте алгоритм быстрого профессионального роста с нуля в сайтостроении
Узнать подробнееКачество видео: сколько пикселей на экране в любой момент времени.
Эти показатели сильно зависят от того, насколько быстро видео можно транспортировать по сети. В исследовательской работе Akamai обнаружено, что после 2 секунд задержки запуска клиенты начинают отказываться со скоростью 5,8% за дополнительную секунду. Они также считают, что более длинные (и более многочисленные) торможения приводят к отказу. Наконец, видео высокого качества более приятно смотреть, поэтому важно избегать пиксельного и низкого качества видео.
Таким образом, мы хотим, чтобы каждый клиент брал быстрый старт, высокое качество видео и без торможений. Но мы также знаем, что у нас нет контроля над сетевыми условиями или устройством, используемым для просмотра нашего видеоконтента.
Скриншоты в этой статье взяты из AT & T Video Optimizer, бесплатного инструмента, который собирает сетевые захваты на вашем мобильном устройстве. Он оценивает сетевой трафик против ~ 40 лучших способов повышения производительности сети вашего приложения. Помимо видео, он также просматривает изображения, текстовые файлы, соединения и другие функции производительности сети.
Как мы можем обеспечить быструю и регулярную доставку видео?
Когда дело доходит до потоковой передачи видео, лучший способ обеспечить быструю доставку видео высокого качества — иметь несколько разных битрейтов одного и того же видео, доступного для загрузки. В HLS видео-запрос начинается с доставки файла манифеста. Этот файл (часто с расширением .m3u8) перечисляет доступные видеокодировки для видео, которое будет доставлено. Каждая строка этого текстового файла содержит информацию о доступных потоках. На следующей диаграмме я извлек критическую информацию из видеопотока:
Первое, что вы могли заметить, — это столбец идентификатора, который немного не соответствует порядку. Существуют значения 1-7, но список начинается с 3. Каждый идентификатор отображает полосу пропускания, разрешение и аудио и видео кодеки, используемые для создания потока.
Запуск видео
Первым битрейтом, указанным в манифесте, является качество видео, которое первоначально запросит пользователь. Если этот список был последовательным, видеопоток начался бы с очень низкого качества 1 (128 × 320 @ 193 KBPS). С положительной стороны, 193 KBPS будет загружаться очень быстро в большинстве сетей.
Если бы порядок был отменен, начальное качество видео было бы чрезвычайно высоким (676 × 1024 3.6 MBPS). И хотя большое качество видео важно, это может привести к очень большой задержке запуска в сети с пропускной способностью менее 3,6 МБ.
Лучшая практика № 1: Чтобы сбалансировать начальное качество видео и задержку запуска, поместите поток средней полосы пропускания / качества в качестве первого выбора, чтобы сбалансировать быструю загрузку / запуск видео и начальное качество видео.
Проигрывание видео
После того, как плеер начнет загружать видео сегменты (2-8 сек фрагментов видео для воспроизведения), проигрыватель будет измерять скорость загрузки. Если он подсчитает, что сеть может обеспечить видео более высокого качества достаточно быстро, он попытается загрузить более качественную версию видео. И наоборот, если сеть работает медленнее, она снизится до более низкого качества видео, чтобы обеспечить постоянный поток. Каждый раз при изменении качества видео загружается манифест для нового потока, и видео может начать загрузку новой версии.
Video Optimizer может отслеживать количество сегментов в буфере локального устройства и отчитывается количество буферизованного видео в секундах и МБ во время сбора данных:
Если любое из этих чисел достигает 0, на устройстве больше нет видеозаписи, и видео будет остановлено.
Современные тенденции и подходы в веб-разработке
Узнайте алгоритм быстрого профессионального роста с нуля в сайтостроении
Используя функцию «Затухание сети» в «Оптимизаторе видео», я изменил пропускную способность сети с 5 Мбайт до 1 Мбит / с в среднем потоке, и мы видим, что видеопроигрыватель начинает запрашивать более качественные видео сегменты, снижая с 1,5 МБПС и в конечном итоге устанавливая 500 КБ.
(Кроме того, можно подумать: если пропускная способность сети составляет 1 Мбайт, то почему 800 KBPS-видео плохо транслируется? Оказывается, есть два потока: один для видео и аудио — поток размером 128 Кбайт. Плеер определил, что 928 килобайт (+ накладные, + аналитика) были слишком приближены к 1024 KBPS и понизил видео. В этом случае можно было бы сделать аргумент за то, что более низкое качество звуковой дорожки, чтобы гарантировать, что более высокое разрешение видео воспроизводится. Кроме того, Лучшая практика: Качество звука (отдельный поток или встроенный в видеопоток) влияет на общую скорость передачи видео).
Очевидно, что несколько битрейтов помогут обеспечить хорошее видео. Примеры, показанные выше, имеют кодировки с изменениями битрейта, которые увеличиваются в довольно регулярные интервалы. Это означает, что небольшие изменения пропускной способности сети будут лишь незначительно влиять на качество видео на экране. Сравните это с рекомендуемым списком битрейтов, который я обнаружил в Интернете:
Представьте, что вы просматриваете видео, закодированное на мобильном устройстве с пропускной способностью 1,4 Мбайт. Единственный возможный вариант — ID 1, а это означает, что любой из пользователей 3G будет видеть только видео с самым низким качеством видео. Кроме того, разница в качестве видео между потоками 1 и 2, вероятно, значительна. Если видео перемещается между битрейтами 1 и 2 несколько раз, изменение качества видео, скорее всего, будет очевидным для конечного пользователя. Этот набор кодировок не очень подходит для потоковой передачи данных на мобильных устройствах.
Лучшая практика № 2: Доступны несколько битрейтов с регулярными интервалами между качествами. Это помогает обеспечить плавное прогрессирование качества видео и предотвратить значительные изменения качества видео.
Видеоплееры отличаются своей агрессивностью, чтобы улучшить качество видео. Некоторые видеопроигрыватели, почувствовав более высокую пропускную способность, начнут процесс замены сегмента — где видео сегменты, уже загруженные с более низким качеством, загружаются снова с более высоким качеством. Это приводит к тому, что один и тот же сегмент загружается более одного раза, но поскольку он улучшает отображаемое видео, я считаю его компромиссным, который обычно оценивается. Например, в таблице ниже сегменты 111-112 изначально загружаются с качеством 0. Плеер регистрирует всплеск пропускной способности и оценивает, что эти 2 сегмента можно заменить и повторно загружать по качеству 2. Однако плеер также довольно агрессивный, загружая 112 третий время в качестве 4. В целом для 4-секундного сегмента 112. потребляется ~ 2 МБ данных. Это может считаться слишком агрессивным — поскольку он тратит большой объем данных.
Мы также видели примеры «замены обратного сегмента», когда плеер загружает более качественную версию после того, как уже имеет более качественную версию на устройстве. В этом случае сегменты 134-134 загружаются с качеством 4 (1,6 MBPS), а затем загружаются с качеством 1 (447 KBPS):
По крайней мере, если качество 4 воспроизводится конечному пользователю, ~ 370 КБ будет потрачено впустую (сумма качественных 1 сегментов). Если воспроизводится качество 1, ~ 1,3 МБ данных теряется, и пользователю предоставляется ухудшенное воспроизведение видео.
Лучшая практика № 3: если ваш видеопроигрыватель агрессивно продвигается к высокоскоростному видео, убедитесь, что замена сегмента только улучшает качество видео. Мониторинг использования данных замены сегмента для ваших пользователей (в Video Optimizer это сообщается как избыточность).
Для видео с несколькими высокими потоками битрейта агрессивный алгоритм битрейта может привести к увеличению количества остановок. Если локальный буфер составляет 30 МБ, но поток работает с 8 Мбайт / с, то локальная локация может быть только 2-3 секунды. Внезапное изменение пропускной способности, вероятно, приведет к остановке, прежде чем сеть и сервер смогут отреагировать.
Лучшая практика # 4: при потоковой передаче видео с высоким битрейтом убедитесь, что буфер устройства может поддерживать много секунд видео для учета внезапных изменений пропускной способности. Альтернатива: ограничить максимальные битрейты для устройств с ограниченной памятью.
Вывод:
Потоковое видео становится все более распространенным в Интернете и в мобильных приложениях. Однако потоковая передача видео сложна десятками потенциальных переменных, которые могут повлиять на качество воспроизведения для ваших клиентов. В этом посте мы выделили лишь некоторые из функций потоковой передачи HLS, которые могут повлиять на время запуска видео, предотвратить блокировки и обеспечить передачу потокового видео высочайшего качества заказчику, одновременно сводя к минимуму потраченные впустую данные.
Автор: Doug Sillars
Источник: https://calendar.perfplanet.com/
Редакция: Команда webformyself.
Современные тенденции и подходы в веб-разработке
Узнайте алгоритм быстрого профессионального роста с нуля в сайтостроении
Узнать подробнееПрактика оптимизации сайта: ускорение загрузки Вашего сайта в разы
Узнайте как ускорить загрузку сайта .
Научитьсяwebformyself.com
КАК ОПТИМИЗИРОВАТЬ ПОТОКОВУЮ ТРАНСЛЯЦИЮ ИГР
Posted on February 25 2015
|
Смотрите трансляции игр в прямом эфире и хотите сами транслировать игры и стать известным? |
Ищите способ улучшить качество видео при трансляции?
Тогда читайте дальше, потому что в этой статье мы поможем вам оптимизировать процесс потоковых трансляций при использовании XSplit Gamecaster premium и MSI Streaming Engine, установленным на плате X99S GAMING 9 ACK. Мы поможем вам получить на выходе максимально возможное качество видео и таким образом, привлечь максимальное количество подписчиков на Twitch или каких либо других сервисах потоковых трансляций.
Руководство по тому, как поразить качеством вашу аудиторию.Для того чтобы начать путь в мир потоковых трансляций и делиться с другими вашей активностью в играх нам потребуется соответствующее программное обеспечение. Здесь вступают в игру XSplit Gamecaster и Broadcaster. “XSplit Gamecaster позволит вам легко осуществлять трансляцию и запись ваших самых впечатляющих игровых моментов в один клик. Делиться вашим геймплеем со всем остальным миром теперь так легко и просто.” Следует отметить, что XSplit Gamecaster идет бесплатно с любой материнской платой MSI серии GAMING*, так что вам даже не нужно его покупать! |
- Создайте аккаунт на XSplit или используйте существующий, если вы уже зарегистрированы. После загрузки программы, кликните по вкладке ‘Settings’ (настройки), расположенной в верхнем меню.
- В меню настроек ‘Settings’ в разделе ‘RESOLUTION’ (разрешение), выберите ‘1080p Full HD’. Это позволит выводить видео в максимальном качестве Full HD с потоком 60 Мб/с. Если ваше интернет соединение не поддерживает исходящую скорость на должном уровне, видео будет тормозить или идти рывками. В этом случае выберите разрешение 720p HD. В этом случае трансляция видео все рано будет идти в высоком разрешении.
- Далее, в меню настроек ‘Settings’ измените кодек на ‘AVerMedia H.264 Encoder’ в разделе ‘CODEC’. В этом случае вы будете использовать встроенный аппаратный ускоритель Streaming Engine, установленный на материнской плате X99S GAMING 9 ACK. Это позволит кодировать видео на лету, не оказывая влияния на частоту кадров во время игры. Для другой модели материнской платы вы можете выбрать ‘Intel® Quick Sync (использование iGPU)’ или ‘AMD® VCE / NVIDIA® NVENC’.
- Настройки, которые мы задали, помогут вам оптимизировать видео поток для трансляции. Кроме этого, вы можете записать ваш геймплей и отредактировать файлы позднее, сделав из них, например, небольшое кино. Просто задайте те же параметры как при трансляции, но выберите ‘Ultra HD’ с потоком 60Мб/с для лучшего качества. Нажмите ‘CLOSE’ (закрыть). Все готово.
- Настройка "горячих клавиш" в разделе ‘Hotkeys’ (горячие клавиши), например, CTRL+TAB, чтобы включить XSplit Overlay. Это позволит в игре получить доступ к наиболее важным органам управления и функциям, в тот момент, когда вы будете готовы начать трансляцию или запись. Нажатие CTRL+TAB в нашем примере вызовет меню как показано ниже. Это позволит начать трансляцию или запись при помощи всего одного клика. Просто выберите ‘STREAM’ (трансляция) или ‘RECORD’ (запись). Теперь вы готовы стать онлайн знаменитостью!
ru.msi.com
Что такое оптимизация?
Тех, кто имеет собственный сайт или планирует им обзавестись, наверняка знаком, да что уж там говорить, хорошо, знает, что означает термин "оптимизация". Так, вот если не вникать в детали, то оптимизация – это то, без чего не сможет полноценно существовать не один успешный ресурс в Интернете. В свою очередь слово "полноценно" в данном случае означает, что с помощью сайта нельзя будет достойно, а главное стабильно зарабатывать. Так, более детально об оптимизации можно узнать http://mustic.ru.
Оптимизация – это специальная работа над сайтом по продвижению его в рейтинге поисковых систем, которая делает ресурс посещаемым, а соответственно популярным и часто используемым. Условно сео-оптимизация разделяется на три полноценных части:
Часть первая предполагает работу с внутренним контентом имеющегося сайта. На сайт добавляются необходимые материалы, он периодически изменяется, дополняется, исправляются возможные имеющиеся ошибки, происходит перелинковка и тому подобное. И все это имеет вполне логичное название – внутренняя оптимизация. При этом нужно учитывать, что оптимизация под разные поисковые системы будет отличаться. Так, например, отличается оптимизация под такие всем известные поисковики, как Гугл и Яндекс.
Часть вторая подразумевает занятия непосредственно раскруткой сайта и увеличения его авторитетности и популярности. Данный этап называется внешняя оптимизация либо же, проще говоря – продвижение сайта.
Часть третья также очень важна, так как в ее рамках занимаются не только поддержанием достигнутых результатов, но также и их усовершенствованием и улучшением. Так, на данном этапе крайне важно внимательно изучить все существующие данные и показатели, и уже отталкиваясь от этого заниматься изменением ключевых слов, корректировкой площадок, изменением содержания и так далее.
newsvo.ru