Стримим на twitch.tv через Ubuntu и прочие линуксы  
Автор Сообщение

11
Сообщение Стримим на twitch.tv через Ubuntu и прочие линуксы

Понадобилось мне застримить десктоп + аудио + микрофон через ubuntu, но так как клиентов пока под красноглазых никаких нет, то пришлось делать все руками. Кидаю результат, вдруг кому понадобится.

 

1. нужна библиотека Libav (http://libav.org/download.html). Можно юзать и дефолтную из репозитория убунты (6.8), но тогда не получится смиксовать два аудио-потока в один, во всяком случае через map у меня нихера не получилось (днище). Нужный фильтр есть в 6.10, так что пилим руками или берем с этого ppa (https://launchpad.net/~motumedia/+archive/libav-daily). 

 

2. зырим какие аудио-девайсы как зовутся: pactl list sources | less

#347

Нам нужны имена аля "alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" и т.п.

 

3. Делаем скрипт

Код:
#! /bin/bash


INRES="1920x1080"
OUTRES="1920x1080"
FPS="30"
QUAL="fast" # тут дохуя /usr/share/avconv/

STREAM_KEY=$(cat ~/twitch_key) # ключ сохраняем в файл twitch_key или можно просто вписать ключ без cat.

avconv \
-f x11grab -s $INRES -r "$FPS" -i :0.0 \
-f pulse -ac 2 -i ИМЯ_АУДИО_УСТРОЙСВА_1 \
-f pulse -ac 1 -i ИМЯ_АУДИО_УСТРОЙСВА_2 \
-filter_complex amix=inputs=2 \
-vcodec libx264 -s $OUTRES -preset $QUAL \
-acodec libmp3lame -ar 44100 -threads 6 -qscale 3 -b 712000 -bufsize 512k \
-f flv "rtmp://live.justin.tv/app/$STREAM_KEY"

 

тут все думаю понятно.

STREAM_KEY берем тут: http://www.twitch.tv/broadcast

первым аудио у меня вбита звуковуха, вторым микрофон с вебки. 

кол-во каналов задаем через -ac.

-filter_complex amix=inputs=2 - это собственно то, из-за чего пришлось брать сторонний репозиторий. миксует два потока в один без особых танцев с бубном.

 

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

 

UPDATE

 

Плюс еще можно наложить вебку. Для этого после первой строчки добавляем

Код:
-f video4linux2 -s 320x180 -r 30 -i /dev/video0 \
-filter_complex overlay=main_w-overlay_w:main_h-overlay_h \

 

"320x180" - это разрешение вебки

"/dev/video0" - это собственно сама вебка. понять под каким номером можно командой ls /dev/video*

 

"-filter_complex overlay=" - это непосредственно само наложение.

положение задается как Х:Y

Цитата:

‘main_w, main_h’ - main input width and height

‘overlay_w, overlay_h’ - overlay input width and height

В моем примере вебка пихается в правый нижний угол. Можно задать и просто цифрами. Больше инфы тут.



15 апр 2013, 14:00
Профиль






Сервер: Свежеватель Душ
Рейтинг поля боя: 192
2х2: 1335
-1
Сообщение Стримим на twitch.tv через бубунты и прочие линупсы

Лучшее название темы :good



15 апр 2013, 14:05
Профиль ICQ Skype
Начать новую тему Ответить на тему


Перейти:  

На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.
Рейтинг@Mail.ru