PlayStation Experience 2016
Стрим-центр19 в эфире
Final Fantasy XV Ch-Play | Life&Games
FM - фарм и прочее (Аметист) [RU/ENG] Dearcryy стримит Tera
Beholder | СТРИМ ChannelRion стримит Beholder
stream center intro slide 1

«Канобу» и «ВКонтакте» запускают «Стрим-центр» — сервис для тех, кто любит смотреть и проводить прямые трансляции. Наш сервис поможет делиться стримами с «ВКонтакте», Twitch и YouTube и обеспечит новую аудиторию, которой будет интересен именно ваш контент.

«Стрим-центр» доступен на любой странице «Канобу» — достаточно нажать на стрелку в верхнем правом углу и развернуть сетку с активными стримами. Вы также можете открыть чат, кликнув на иконку сообщения в правом углу.

Кнопка «Добавить стрим» позволит поделиться прямой трансляцией. После нажатия вы увидите три активных поля. В первой строке нужно вписать адрес канала, остальные поля заполнит наш сервис.

stream center intro slide 4

Делиться стримами — это просто! Попробуйте сами. Обратите внимание, что после добавления стрима ваша трансляция сначала отправится на рассмотрение модераторов.

4 1 254
4 мин.

Дневник разработки Tanks of Twitch. Часть 3. Осваиваем стриминг

Введение

Привет, это третья часть дневника разработки Tanks of Twitch. (Первая часть, Вторая часть)

Этот проект участвует в GamesJamKanobu, поэтому рекомендую сначала ознакомиться с самим проектом: http://gamesjam.org/2799/

Tanks of Twitch - это многопользовательская пошаговая Twitch-only игра. Игроки автоматически разбиваются на команды и их цель проста: уничтожить друг друга (по сути team deathmatch) и выиграть турнир. Команды управляют своим танком путем ввода сообщений в чат. Игра входит в категорию Twitch Plays.

Дневник разработки Tanks of Twitch. Часть 3. Осваиваем стриминг - Изображение 1

Так, если кто не помнит, я делаю игру, которую надо стримить в Твитч. Стримить весь день. Эту игру необходимо еще одновременно разрабатывать. Но у меня только один компьютер. Надо что-то придумать.

Как же стримить?

Есть несколько вариантов выхода из этой ситуации:

  • Купить компьютер, поставить его в дата-центр - радоваться. Минус очевиден - я не могу себе позволить новый компьютер.
  • Арендовать компьютер с видеокартой. Я честно говоря не нашел ничего нормального, кроме Амазона. Но он хочет 18 долларов в сутки. Нет, спасибо. Я не отобью.
  • Стримить с того же компьютера с помощью виртуальной машины. Дешево и сердито. Я выбрал этот пункт.

Проблемы стриминга с того же компьютера:

  • Низкое разрешение, низкий битрейт потока, низкий FPS - любые графические операции в виртуальной машине стоят в разы дороже, так как серийные видеокарты для обычных пользователей не поддерживают виртуализацию (в отличие, кстати, от большинства современных процессоров). Чтобы использовать полную мощь GPU в виртуальной машине нужны профессиональные видеокарты, типа ATI FirePro, Nvidia Quadro.
  • Не могу оставить на ночь. Я не могу заснуть если комп включен. Даже с берушами.
  • Нужно делить производительность одного компьютера на два. Хорошо, что у меня довольно мощный компьютер. Но, включить торрент на полную или поиграть в сильно-графические игрушки не получится.

Выбор виртуальной машины и ОС

Если по-простому, то виртуальная машина - это программа, которая эмулирует другую операционную систему на вашем компьютере. У нее собственный виртуальный жесткий диск, виртуальная память, виртуальный процессор, виртуальная видеокарта и т.п.

Я всегда до этого пользовался Oracle VirtualBox, он меня полностью устраивал. Но в нем я не смог добиться приемлемой производительности игры, поэтому пришлось перейти на VMWare.

Результаты тестов виртуальных машин и операционных систем:

  • VirtualBox + Ubuntu 14.10 - приложение не запускается. Какая-то ошибка связанная с OpenGL драйвером.
  • VirtualBox + Windows 7 - приложение запускается. FPS около 10. И это при 100% загрузке на процессор. Это вариант совсем не подходит.
  • VMWare + Ubuntu 14.10 - честно признаться, я просто не смог установить VMWare-расширения для Ubuntu. Моего образования не хватило. Хотя, вроде, все делал по инструкции.
  • VMWare + Windows 7 - стабильные 60 FPS. Ура, я нашел подходящий вариант! Начинаем стрим!

Радовался я не слишком долго, потому что меня постигли многочисленные...

Проблемы со стримингом

Мы живем не в идеальном мире. Поддерживать стрим в работоспособном состоянии 16 часов подряд - целая наука.

Обрыв интернета/электричества.

Самая обычная проблема для домашних условий. ИБП нет, резервного интернета нет. Что-то случилось с электричеством или интернетом - стрим упал.

Стрим зависает

В первые дни стрима, мой стрим не работал больше 1-4 часов подряд. Стрим прерывался и приходилось перезапускать программу для стриминга OBS Studio. Причем, насколько я понял, сама программа не зависала, а зависал именно кодировщик потока (h264-encoder).

Я не знаю причины и не знаю, как это лечить. Возможно, дело в самой виртуальной машине, вот и все. Но я проделал несколько трюков и увеличил стабильное время работы до 8-16 часов:

  • Никакой пассивной картинки! Что-то на видео должно шевелиться или мигать.
  • У меня интернет раздается по электрической сети. Перешел с розетки на Wi-Fi - стало стабильнее.
  • Изменил разрешение экрана с 1080p на 720p. Стало чуть-чуть менее качественно, но стабильнее.

Задержка потока

Задержка между отправкой сообщения в чат и реакцией на это сообщение самой игры - одна из интересных нерешаемых проблем. На самом деле, сообщение из чата в игре обрабатывается сразу, но поток до пользователя доходит лишь через 10-60 секунд. Не в силах стримера уменьшить задержку без ущерба для качества потока.

Кто-то режет скорость

На третий день после начала стриминга, стрим стал виснуть каждые 10-30 минут. Причем, задержка потока очень быстро вырастала с 10 до 60 секунд. У меня опустились руки. Я думал, всей моей идее конец. Но немного погуглив, я нашел не большую программку TwitchTest: Twitch Bandwidth Tester. С ее помощью можно измерить свою скорость до разных серверов Твитча.

Как же я удивился, узнав, что скорость до сервера, на который я стримлю, оказалась ниже скорости потока видео!

Дневник разработки Tanks of Twitch. Часть 3. Осваиваем стриминг - Изображение 2

Я поменял сервер и все стало ОК!

Но на этом странности не закончились. На следующий день я снова запустил этот тест. Немецкий сервер снова показывал 10000 kbps, а у сервера, на который я стримил в тот день - скорость упала!

Конечно, я не спец в построении сетей, но, по моим ощущениям, либо мой роутер, либо оборудование моего провайдера, либо сам Твитч начинает резать скорость, если поток в одну сторону не прекращается в течение длительного времени.

Так или иначе, теперь я каждый день переключаю сервер Твитча =)

Твитч реклама

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

Довольно часто, после рекламы, остается кружочек задгрузки и наполовину затемненный экран, как будто видео все еще подгружается - но, на самом деле, все загрузилось и видео стримится. Интересно, сколько людей отвалилось на этом шаге?

Дневник разработки Tanks of Twitch. Часть 3. Осваиваем стриминг - Изображение 3

Итоги

На этом мой краткий рассказ о разработке маленькой игры Tanks of Twitch закончен.

Возможно, мою идею не поймут игроки

Возможно, мою игру не заметят судьи.

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

Это все не важно. Я научился много чему новому. Мне было интересно. Возможно, я кого-то вдохновил. Я не жалею о потраченном времени.

До встречи!

Не стесняйтесь задавать любые вопросы.


Спасибо, что прочитали. Надеюсь, вам было интересно. Комментируйте, голосуйте, играйте!

#tanksoftwitch #gamesjam #gamesjamkanobu #twitch

1 комментарий

Минутка свежей ванили и перемотка времени