Jump to content


Photo

Мультистрим без нагрузки на процессор


  • Please log in to reply
67 replies to this topic

#1 xedoc

xedoc

    Developer

  • Administrators
  • 1,104 posts
  • LocationKiev, Ukraine

Posted 18 April 2013 - 14:38 PM

Настройка Мультистрима
(на несколько стрим-провайдеров)
 
1. Необходимое ПО:
Oracle VirtualBox (версия для Windows hosts):
 
Подготовленный образ VDI (Ubuntu Server). В нем я уже скомпилировал nginx в нужной конфигурации.
 
2. Установка и запуск
Устанавливаем VirtualBox в максимальной конфигурации. 
Распаковываем VDI-файл в любую удобную папку.
Дважды кликаем на распакованный файл и попадаем в менеджер VirtualBox

 

Нажимаем "Создать":

13.jpg 

 

Указываем название и тип операционки:

14.jpg

 

Объем памяти оставляем 512МБ:

15.jpg

 

 

Выбираем Использовать существующий диск и кнопкой справа указываем на распакованный .VDI файл:

16.jpg

 

Нажимаем "Настроить" на появившейся виртуальной машине и включаем два виртуальных сетевых адаптера.

Порядок закладок важен:

17.jpg

 

18.jpg

 

 

Запускаем Ubuntu:

1.jpg

 

Вводим логин: superuser и пароль: superpassword

В Linux пароль не отображается в виде звездочек. Просто введите его и нажмите Enter.

Раскладка переключается с помощью Alt+Shift
2.jpg
 
Запоминаем IP. Он будет использоваться в настройке OBS:
3.jpg
 
Повышаем свои права с помощью команды sudo -s и открываем конфигурационный файл nginx
с помощью команды mcedit /nginx/conf/nginx.conf:
4.jpg
 
В самом низу файла можно раскомментировать строки с примерами (убрать хеш #) и вставить свои данные:
6.jpg
 
Для выхода нажимаем F10 и сохраняем изменения:
7.jpg
 
Перезапускаем nginx командой service nginx restart:
9.jpg
 
 

3. Настройка OBS
Открываем настройки трансляции и указываем rtmp URL nginx сервера с полученным после входа IP: rtmp://192.168.56.56:1935/live
10.jpg

 

 
Теперь при отправке потока на локальный сервер, он будет автоматически уходить на все указанные сервисы.
Логи nginx можно посмотреть с помощью команд:
 
tail -f /nginx/logs/access.log
tail -f /nginx/logs/error.log
 
выход из просмотра лога стандартный: Ctrl+C
 
 
Решение проблем
 
Если IP адрес не появился после загрузки, то необходимо выполнить команду
sudo -s
затем, после ввода пароля:
rm /etc/udev/rules.d/70-persistent-net.rules

и перезагрузиться.


  • Erushitsstete, Fexefsmep, AndrewadfgMex and 1 other like this

#2 Guest_psych0trop_*

Guest_psych0trop_*
  • Guests

Posted 19 April 2013 - 01:42 AM

codex, это psych0trop :DDDDDD

у меня вообще не работает на 2-х машинах....

 

ошибки: Дважды кликаем на распакованный файл и попадаем в менеджер VirtualBox

он не открывает вообще так... (только добавить машину а далее добавить диск тогда да ставит)

 

далее когда запустился: Вводим логин: superuser и пароль: superpassword

login вводится, а пароль как бы нет, не *** не ставит не символы не чего, но ввел даже если далее,

где у тя на скрине показывает ip машины у меня вообще его там нет, самой строчки...

далее:

 

sudo -s   просит снова пароль, superpassword снова не прописывается :D

далее: mcedit /nginx/conf/nginx.conf:

после внесения изменений не сохраняет выдает ошибку. ( думаю связанно с тем что мне прова не поднять) как быть???

 

 

 

 

 



#3 Guest_psych0trop_*

Guest_psych0trop_*
  • Guests

Posted 19 April 2013 - 01:44 AM

xedoc, это psych0trop :DDDDDD
у меня вообще не работает на 2-х машинах....
 
ошибки: Дважды кликаем на распакованный файл и попадаем в менеджер VirtualBox
он не открывает вообще так... (только добавить машину а далее добавить диск тогда да ставит)
 
далее когда запустился: Вводим логин: superuser и пароль: superpassword
login вводится, а пароль как бы нет, не *** не ставит не символы не чего, но ввел даже если далее,
где у тя на скрине показывает ip машины у меня вообще его там нет, самой строчки...
далее:
 
sudo -s   просит снова пароль, superpassword снова не прописывается :D
далее: mcedit /nginx/conf/nginx.conf:
после внесения изменений не сохраняет выдает ошибку. ( думаю связанно с тем что мне прова не поднять) как быть???



#4 xedoc

xedoc

    Developer

  • Administrators
  • 1,104 posts
  • LocationKiev, Ukraine

Posted 19 April 2013 - 07:58 AM

Подправил инструкцию и ссылку на образ VDI. Теперь должно работать. Только образ не забудь перекачать

Пароль в линуксе звездочками не показывает. Просто вводи и нажимай Enter



#5 tony_az

tony_az

    Newbie

  • Members
  • Pip
  • 2 posts
  • LocationKiev, Ukraine

Posted 22 April 2013 - 16:39 PM

всё сделал как написано, но вот айпи адрес так и не показывает. хотя зашёл в mcedit /nginx/conf/nginx.conf поизменял свои адреса, сохранил. Но айпи адреса так и нету



#6 xedoc

xedoc

    Developer

  • Administrators
  • 1,104 posts
  • LocationKiev, Ukraine

Posted 22 April 2013 - 17:10 PM

Попробуй выполнить sudo -s , а потом rm /etc/udev/rules.d/70-persistent-net.rules

там, в образе, похоже в кеше остались настройки сетевых адаптеров


#7 tony_az

tony_az

    Newbie

  • Members
  • Pip
  • 2 posts
  • LocationKiev, Ukraine

Posted 22 April 2013 - 17:29 PM

да, сработало, удалил данные о сетевом адапторе, перезапустил машину и всё появилось



#8 Otche

Otche

    Newbie

  • Members
  • Pip
  • 1 posts

Posted 27 June 2013 - 08:22 AM

Доброго дня! Просто зашел, что бы от всей души поблагодарить за старания, настроенную виртуалку, пользуюсь, очень доволен, огромнейшее человеческое спасибо!!!)))



#9 xedoc

xedoc

    Developer

  • Administrators
  • 1,104 posts
  • LocationKiev, Ukraine

Posted 27 June 2013 - 09:47 AM

Всегда пожалуйста  ;)



#10 nrw

nrw

    Newbie

  • Members
  • Pip
  • 7 posts

Posted 16 August 2013 - 14:16 PM

Поясните пожалуйста для чего в данной конфигурации используется 2 сетевых адаптера? Почему нельзя сделать один адаптер как nat и использовать его как для приема оригинального стрима, так и для отправки?

 

Просто я хочу использовать отдельный компьютер под перекодировку стрима, а на основном кодировать с помощью QuickSync без нагрузки на процессор. Т.к. в итоге будет такая конфигурация:

Игровой компьютер: кодировка через OBS с включенным quicksync с битрейтом 20000 (использовать quicksync на низких битрейтах невозможно из-за ужасного качества сжатия) и отправка на комп-кодировщик.

Комп-кодировщик: nginx с rtmp, который онлайн перекодирует в низкий битрейт с помощью ffmpeg и пушит на twitch.

 

Можно ли в таком случае обойтись одним сетевым адаптером?



#11 xedoc

xedoc

    Developer

  • Administrators
  • 1,104 posts
  • LocationKiev, Ukraine

Posted 16 August 2013 - 14:24 PM

Оба адаптера виртуальные. Физически нужен один.



#12 nrw

nrw

    Newbie

  • Members
  • Pip
  • 7 posts

Posted 16 August 2013 - 16:38 PM

Оба адаптера виртуальные. Физически нужен один.

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

Просто я видел пример настройки подобной схемы на одном адаптере и не понимаю с какой целью Вы используете их два:

http://blog.hemp-soc...stallation.html

http://blog.hemp-soc...d-possible.html



#13 xedoc

xedoc

    Developer

  • Administrators
  • 1,104 posts
  • LocationKiev, Ukraine

Posted 16 August 2013 - 18:42 PM

Разница в универсальности. Если компьютер подключен к инету без роутера, то с режимом моста могут возникнуть проблемы. Если есть роутер да еще и с DHCP, то можно оставить один адаптер в режиме моста.



#14 nrw

nrw

    Newbie

  • Members
  • Pip
  • 7 posts

Posted 17 August 2013 - 06:05 AM

Ясно спасибо. Кстати сделал указанную схему с перекодировкой/ретрансяцией на отдельной машине с убунтой/nginx и  и обломался, т.к. твич периодически сбрасывает соединение. Рестримлю на hashd.tv - все отлично, как только твич - несколько секунд стрима и дисконнект. Трансляция на твич напрямую из OBS с идентичными параметрами ffmpeg работает без проблем. Все мозги себе уже вчера поломал. Просто пуш без перекодировки работает. Такое впечатление, что вывод через "exec ffmpeg" имеет какие то отличия от стрима напрямую из OBS и твичу это не нравится.

 

Конфиг такой:

 

worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}

rtmp {
    server {
        listen 1935;    
        application trans {
            live on;
            record off;            
            exec /home/we/bin/ffmpeg -i rtmp://localhost:1935/trans/$name -vcodec libx264 -preset veryfast -maxrate 1800k -bufsize 1800k -r 25 -s hd1080 -acodec copy -f flv rtmp://localhost:1935/live/${name} 2>>/tmp/ffmpeg.log;
        }

        application live {
            live on;
            record off;
            push rtmp://live-lhr.twitch.tv/app/live_xxxxxxxxxxxxx;        
        }
        
    }
}
 



#15 xedoc

xedoc

    Developer

  • Administrators
  • 1,104 posts
  • LocationKiev, Ukraine

Posted 17 August 2013 - 18:46 PM

Я в свое время перепробовал кучку разных сборок ffmpeg и avconv под windows. Некоторые работали более менее нормально, а 95% сборок начинали дропать кадры через какое-то время, с ошибкой переполнения буфера. Установка rtbuffer-а помогала, но не надолго.



#16 paladzin

paladzin

    Newbie

  • Members
  • Pip
  • 1 posts

Posted 20 August 2013 - 18:27 PM

Воу доброй ночи.

Стримлю тоже с виртуалки, транскод. Настримил 40+ часов с нее проблем небыло.

Вброшу пост. ffmpeg нашел на ппа, работает великолепно.

https://obsproject.c...&p=37109#p37105



#17 kalstrams

kalstrams

    Newbie

  • Members
  • Pip
  • 4 posts

Posted 26 September 2013 - 23:39 PM

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



#18 xedoc

xedoc

    Developer

  • Administrators
  • 1,104 posts
  • LocationKiev, Ukraine

Posted 27 September 2013 - 06:26 AM

Да, битрейт естественно суммируется. Даже если пускать два потока на один сервис.



#19 kalstrams

kalstrams

    Newbie

  • Members
  • Pip
  • 4 posts

Posted 27 September 2013 - 12:55 PM

Понятно. Я арендую VPS в Амстердаме на Дебиан 7, если хостер даст зеленый свет на запуск 3ех рестримов с моего VPS'a, то можно будет попробовать одновременную трансляцию на 3 (+ сервисовые рестримы) сервиса.

 

xedoc, можешь дать мануал по необходимой конфигурации nginx для установки его на 7ом дебиане ? И еще один нубо-вопрос - если у меня сейчас сайты стоят на apache2, nginx при установке что-то в этом деле поломает или нет ?



#20 Tuccu

Tuccu

    Newbie

  • Members
  • Pip
  • 2 posts

Posted 08 October 2013 - 13:10 PM

может кому поможет, просто для информации) смотреть только на строчку с настройками кибергейма)

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

 pQ6zAkIE.png






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users