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

Wielu entuzjastów systemu Linux korzysta z narzędzia Open Broadcaster do przesyłania strumieniowego na Twitchu, jednak nie każdy jest z niego zadowolony i wielu z nich poszukuje alternatywnych rozwiązań. Możesz oglądać transmisje Twitcha bez użycia przeglądarki, a także wykorzystać prosty skrypt bash do streamingu na Twitchu.

Jeżeli korzystasz z VPN w połączeniu z Twitch, pamiętaj, aby aktywować go osobno.

Instalacja narzędzia kodującego FFmpeg

Aby przesyłać strumieniowo na Twitcha z poziomu terminala w systemie Linux, potrzebujesz narzędzia kodującego FFmpeg. Zanim przystąpisz do dalszych działań w tym przewodniku, upewnij się, że zainstalowałeś je na swoim systemie. Otwórz terminal i wprowadź odpowiednie polecenia. FFmpeg można zainstalować na systemach Ubuntu, Debian, Arch Linux, Fedora lub OpenSUSE. W przypadku innych dystrybucji Linuksa, możesz pobrać i zainstalować FFmpeg bezpośrednio z jego strony 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

Po zakończeniu instalacji, uruchom FFmpeg w terminalu, aby upewnić się, że działa poprawnie. FFmpeg nie wymaga wcześniejszego kodowania plików do uruchomienia. W terminalu spróbuj wpisać:

ffmpeg --help

Sprawdź, czy strona pomocy wyświetla się prawidłowo, a następnie wpisz „clear”, aby wyczyścić ekran terminala.

Edytowanie pliku Bashrc

Skoro narzędzie kodujące jest już zainstalowane i działa, czas skonfigurować alias do przesyłania strumieniowego na Twitchu. Aby to zrobić, musisz zmodyfikować plik bashrc, który zawiera różne zmienne poleceń dla użytkowników. Modyfikacja tego pliku wpływa na wszystkich użytkowników, więc każdy, kto chce korzystać z tego polecenia do streamingu na Twitchu, musi wykonać poniższe kroki.

Na początku wykonaj kopię zapasową pliku bashrc, aby w razie potrzeby móc cofnąć wprowadzone zmiany. Możesz to zrobić, tworząc kopię pliku:

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

Po utworzeniu kopii zapasowej przystąp do edycji. Otwórz plik bashrc w terminalu. Pamiętaj, aby nie używać konta root, ponieważ możesz przypadkowo edytować plik bashrc dla użytkownika root, co byłoby niepożądane.

nano ~/.bashrc

Na końcu pliku bashrc wklej poniższy kod. Pamiętaj, że może być konieczne dostosowanie go do własnych potrzeb, zwłaszcza w zakresie rozdzielczości, liczby wątków, jakości i CBR.

Uwaga: nie wpisuj klucza strumienia bezpośrednio w bashrc, ponieważ jest to niebezpieczne. Skrypt zapyta o klucz za każdym razem, gdy będziesz transmitować, co zwiększa bezpieczeństwo.

 streaming() {
     INRES="1920x1080" # rozdzielczość wejściowa
     OUTRES="1920x1080" # rozdzielczość wyjściowa
     FPS="15" # docelowa liczba klatek na sekundę
     GOP="30" # interwał i-frame, powinien być dwukrotnością FPS
     GOPMIN="15" # minimalny interwał i-frame, powinien być równy FPS
     THREADS="2" # maksymalna liczba wątków
     CBR="1000k" # stały bitrate (powinien wynosić od 1000k do 3000k)
     QUALITY="ultrafast"  # jeden z wielu presetów FFMPEG
     AUDIO_RATE="44100"
     STREAM_KEY="$1" # użyj polecenia Streaming streamkeyhere, aby przesyłać wideo do Twitcha lub Justin
     SERVER="live-sjc" # serwer Twitch w Kalifornii, zobacz https://bashtech.net/twitch/ingest.php, aby zmienić
     
     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 został dodany do pliku bashrc, zapisz zmiany w edytorze Nano, używając kombinacji klawiszy Ctrl + O, a następnie zamknij edytor za pomocą Ctrl + X.

Przesyłanie strumieniowe

Aby rozpocząć przesyłanie strumieniowe na Twitchu bezpośrednio z terminala, otwórz go i użyj nowego polecenia przesyłania strumieniowego, które skonfigurowałeś w pliku bashrc. Musisz znać swój klucz transmisji na Twitchu. Zaloguj się do Twitcha, przejdź do swojego panelu sterowania i znajdź swój klucz do transmisji.

Jeśli klucz jest poprawnie skonfigurowany, przesyłanie strumieniowe z terminala powinno działać w następujący sposób:

streaming streamkey

Aby zakończyć przesyłanie, naciśnij „Q”, co powinno spowodować zatrzymanie strumienia, ponieważ używasz FFmpeg. Jeśli klawisz Q nie działa, wymuś zatrzymanie skryptu, używając Ctrl + Z.

Skrypt do strumieniowania

Jeśli ciągłe wprowadzanie klucza transmisji staje się uciążliwe, możesz stworzyć skrypt do strumieniowania. Pamiętaj, że w ten sposób Twój klucz będzie dostępny dla każdego, kto ma dostęp do Twojego komputera. Aby utworzyć skrypt, otwórz terminal i wprowadź następujące polecenia.

Najpierw użyj polecenia echo, aby dodać shebang. Shebang informuje interpreter Bash, jakiego skryptu ma użyć i w jakim środowisku ma działać.

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

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

Następnie skopiuj polecenie przesyłania strumieniowego i dodaj je do skryptu za pomocą polecenia echo:

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

Na koniec zaktualizuj uprawnienia skryptu, aby umożliwić jego prawidłowe działanie. Bez tej operacji skrypt może nie działać.

sudo chmod +x stream-script.sh

Uruchom skrypt za pomocą:

./stream-script.sh

lub

sh stream-script.sh

Aby zamknąć skrypt, użyj klawisza Q lub Ctrl + Z.


newsblog.pl