Jak przesyłać strumieniowo do Twitcha z wiersza poleceń w systemie Linux

Wielu użytkowników Linuksa decyduje się na przesyłanie strumieniowe do Twitcha w systemie Linux za pomocą narzędzia Open Broadcaster. Nie każdy lubi to narzędzie, a niektórzy życzą sobie alternatywy. Możesz oglądać transmisje Twitch bez korzystania z przeglądarki i możesz użyć prostego strumienia skryptu bash do Twitcha.

Jeśli używasz VPN z Twitchem, będziesz musiał włączyć ją osobno.

Zainstaluj narzędzie do kodowania FFmpeg

Przesyłanie strumieniowe do Twitcha z wiersza poleceń systemu Linux odbywa się za pomocą narzędzia do kodowania FFmpeg. Zanim przejdziemy dalej w tym samouczku, musisz zainstalować go na swoim komputerze z systemem Linux. Otwórz okno terminala i wprowadź następujące dane. Aby zainstalować FFmpeg, musisz mieć uruchomiony system Ubuntu, Debian, Arch Linux, Fedora lub OpenSUSE. Jeśli nie korzystasz z żadnej z tych dystrybucji Linuksa, możesz zbudować i zainstalować oprogramowanie kodujące FFmpeg bezpośrednio ze strony internetowej tutaj.

Ubuntu

sudo apt install ffmpeg

Debian

sudo apt-get install ffmpeg

Arch Linux

sudo pacman -S ffmpeg

Fedora

sudo dnf install ffmpeg

OpenSUSE

sudo zypper install ffmpeg

Teraz, gdy narzędzie do kodowania jest zainstalowane, uruchom je w terminalu, aby upewnić się, że wszystko działa poprawnie. FFmpeg nie potrzebuje kodowania plików do uruchomienia. W terminalu spróbuj:

ffmpeg --help

Sprawdź, czy strona pomocy uruchamia się poprawnie i wpisz wyczyść, aby usunąć terminal.

Zmodyfikuj Bashrc

Narzędzie enkodera jest zainstalowane i działa. Następnym krokiem jest skonfigurowanie aliasu przesyłania strumieniowego Twitch w systemie. Aby utworzyć alias przesyłania strumieniowego, musisz zmodyfikować plik bashrc. Ten plik zawiera wiele różnych zmiennych poleceń dla każdego użytkownika. Plik bashrc działa dla każdego użytkownika, więc każdy użytkownik, który chce użyć tego polecenia do przesyłania strumieniowego do Twitcha, musi wykonać poniższy proces.

Zacznij od wykonania kopii zapasowej pliku bashrc. Zapewni to, że wszelkie zmiany lub błędy można cofnąć, jeśli chcesz usunąć polecenie przesyłania strumieniowego. Utwórz kopię zapasową, wykonując kopię pliku:

mkdir ~/bashrc-backup

cp ~/.bashrc ~/bashrc-backup/.bashrc-bak

Po wykonaniu kopii zapasowej rozpocznij edycję. Otwórz bashrc w terminalu. NIE UŻYWAJ ROOT, możesz przypadkowo edytować plik bashrc użytkownika root zamiast własnego, co byłoby błędem.

nano ~/.bashrc

Wklej następujący kod na samym końcu pliku bashrc. Zrozum, że może być konieczne przejście przez ten kod i zmodyfikowanie go zgodnie ze swoimi potrzebami. W szczególności rozdzielczości, wątki, jakość, CBR itp.

Uwaga: nie wypełniaj klucza strumienia w bashrc, ponieważ jest to niebezpieczne. Ten skrypt pyta o klucz za każdym razem, gdy przesyłasz strumieniowo ze względów bezpieczeństwa.

 streaming() {
     INRES="1920x1080" # input resolution
     OUTRES="1920x1080" # output resolution
     FPS="15" # target FPS
     GOP="30" # i-frame interval, should be double of FPS, 
     GOPMIN="15" # min i-frame interval, should be equal to fps, 
     THREADS="2" # max 6
     CBR="1000k" # constant bitrate (should be between 1000k - 3000k)
     QUALITY="ultrafast"  # one of the many FFMPEG preset
     AUDIO_RATE="44100"
     STREAM_KEY="$1" # use the terminal command Streaming streamkeyhere to stream your video to twitch or justin
     SERVER="live-sjc" # twitch server in California, see https://bashtech.net/twitch/ingest.php to change 
     
     ffmpeg -f x11grab -s "$INRES" -r "$FPS" -i :0.0 -f alsa -i pulse -f flv -ac 2 -ar $AUDIO_RATE 
       -vcodec libx264 -g $GOP -keyint_min $GOPMIN -b:v $CBR -minrate $CBR -maxrate $CBR -pix_fmt yuv420p
       -s $OUTRES -preset $QUALITY -tune film -acodec libmp3lame -threads $THREADS -strict normal 
       -bufsize $CBR "rtmp://$SERVER.twitch.tv/app/$STREAM_KEY"
 }

Gdy kod jest w bashrc, zapisz edytor tekstu Nano za pomocą Ctrl + O i zamknij go za pomocą Ctrl + X.

Streaming

Aby przesyłać strumieniowo do Twitcha bezpośrednio z wiersza poleceń, otwórz terminal i użyj nowego polecenia przesyłania strumieniowego skonfigurowanego w bashrc. Musisz znać swój klucz transmisji Twitch. Zaloguj się do Twitcha, przejdź do deski rozdzielczej i znajdź swój klucz do transmisji strumieniowej.

Jeśli klucz jest poprawnie skonfigurowany, przesyłanie strumieniowe z wiersza poleceń powinno działać w ten sposób:

streaming streamkey

Aby zakończyć przesyłanie strumieniowe, naciśnij „Q” i powinno się zakończyć, ponieważ strumień używa FFmpeg. Jeśli przycisk Q nie działa, wymuś zamknięcie skryptu za pomocą Ctrl + Z.

Stream Script

Jeśli ciągłe wprowadzanie klucza strumienia staje się wyczerpujące, rozważ utworzenie skryptu strumienia. Pamiętaj, że wykonanie tej czynności spowoduje ujawnienie Twojego klucza każdemu, kto ma dostęp do Twojego komputera. Aby utworzyć skrypt, otwórz terminal i wprowadź następujące polecenia.

Najpierw użyj echa, aby dodać shebang. Shebang pozwala interpreterowi Bash wiedzieć, jakiego rodzaju skrypt ma zamiar uruchomić, jakie jest środowisko itp.

Uwaga: nie przenoś skryptu z katalogu domowego! Opiera się na skrypcie przesyłania strumieniowego wewnątrz bashrc. Jeśli przeniesiesz go do innych miejsc w systemie plików, które nie mają odpowiednich uprawnień, może nie działać poprawnie.

echo "#!/bin/bash" > ~/stream-script.sh

Następnie skopiuj polecenie przesyłania strumieniowego i użyj echo, aby zapisać je w skrypcie.

echo "streaming streamkey" >> ~/stream-script.sh

Na koniec zaktualizuj uprawnienia skryptu, aby system mógł działać poprawnie. Bez tego skrypt może zawieść.

sudo chmod +x stream-script.sh

Uruchom skrypt za pomocą:

./stream-script.sh

lub

sh stream-script.sh

Zamknij skrypt za pomocą Q lub Ctrl + Z.