많은 리눅스 사용자들이 오픈 브로드캐스터 소프트웨어(OBS)를 통해 트위치 스트리밍을 선호하지만, 모든 사용자가 OBS를 선호하는 것은 아닙니다. 몇몇 사용자는 다른 대안을 찾고 있으며, 브라우저 없이 트위치 스트림을 시청하거나 간단한 bash 스크립트를 이용하여 트위치 스트리밍을 하고 싶어합니다.
만약 VPN을 사용 중이라면, 트위치 스트리밍 시 VPN을 별도로 활성화해야 할 수 있습니다.
FFmpeg 인코딩 도구 설치
리눅스 명령줄을 통해 트위치 스트리밍을 하기 위해서는 FFmpeg 인코딩 도구가 필요합니다. 진행하기 전에, 리눅스 PC에 FFmpeg를 설치해야 합니다. 터미널 창을 열고 아래 명령어를 입력하여 설치를 진행하세요. FFmpeg는 우분투, 데비안, 아치 리눅스, 페도라, 오픈수세 등 다양한 리눅스 배포판에서 설치 가능합니다. 이 외 다른 리눅스 배포판을 사용한다면 FFmpeg 공식 웹사이트에서 직접 빌드하여 설치할 수 있습니다.
우분투
sudo apt install ffmpeg
데비안
sudo apt-get install ffmpeg
아치 리눅스
sudo pacman -S ffmpeg
페도라
sudo dnf install ffmpeg
오픈수세
sudo zypper install ffmpeg
FFmpeg 설치가 완료되었다면, 터미널에서 다음 명령어를 실행하여 정상적으로 작동하는지 확인하십시오. FFmpeg는 파일 인코딩 없이도 실행 가능하며, 터미널에 아래 명령어를 입력하면 됩니다.
ffmpeg --help
도움말 페이지가 정상적으로 표시되는지 확인하고, `clear` 명령어를 입력하여 터미널 화면을 정리합니다.
bashrc 파일 수정하기
인코딩 도구가 설치되고 정상적으로 작동한다면, 다음 단계는 트위치 스트리밍을 위한 별칭을 시스템에 설정하는 것입니다. 이를 위해 `bashrc` 파일을 수정해야 합니다. `bashrc` 파일은 각 사용자별로 다양한 명령 변수를 포함하고 있으며, 사용자별로 적용되기 때문에 트위치 스트리밍을 원하는 각 사용자는 아래 단계를 따라야 합니다.
먼저 `bashrc` 파일을 백업하여 스트리밍 명령 삭제 시 또는 실수로 편집한 부분을 되돌릴 수 있도록 합니다. 파일 복사본을 만들어 백업을 생성합니다.
mkdir ~/bashrc-backup cp ~/.bashrc ~/bashrc-backup/.bashrc-bak
백업이 완료되었다면, 이제 편집을 시작합니다. 터미널에서 `bashrc` 파일을 엽니다. 루트 권한을 사용하지 않도록 주의하세요. 실수로 루트 사용자의 `bashrc` 파일을 편집할 수 있으며, 이는 원치 않는 결과를 초래할 수 있습니다.
nano ~/.bashrc
`bashrc` 파일의 맨 아래에 다음 코드를 붙여넣습니다. 이 코드를 살펴보고 필요에 따라 해상도, 스레드, 품질, CBR 등을 변경해야 할 수도 있습니다.
주의: 보안상의 이유로 `bashrc` 파일에 스트림 키를 직접 입력하지 마십시오. 이 스크립트는 스트리밍을 시작할 때마다 키를 입력하도록 요구합니다.
streaming() { INRES="1920x1080" # 입력 해상도 OUTRES="1920x1080" # 출력 해상도 FPS="15" # 목표 FPS GOP="30" # i-프레임 간격, FPS의 두 배 GOPMIN="15" # 최소 i-프레임 간격, FPS와 동일 THREADS="2" # 최대 6 CBR="1000k" # 고정 비트 전송률 (1000k - 3000k 사이 권장) QUALITY="ultrafast" # FFMPEG 사전 설정 값 중 하나 AUDIO_RATE="44100" STREAM_KEY="$1" # 터미널에서 'streaming streamkeyhere' 명령어를 사용하여 스트리밍 SERVER="live-sjc" # 트위치 서버 (캘리포니아), https://bashtech.net/twitch/ingest.php 에서 변경 가능 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" }
코드를 `bashrc` 파일에 붙여넣은 후, Ctrl + O를 눌러 Nano 텍스트 편집기를 저장하고 Ctrl + X를 눌러 종료합니다.
스트리밍 시작하기
명령줄에서 트위치 스트리밍을 시작하려면, 터미널을 열고 `bashrc` 파일에 설정한 새로운 스트리밍 명령어를 사용하면 됩니다. 트위치 스트림 키가 필요하며, 트위치에 로그인 후 대시보드에서 스트림 키를 확인할 수 있습니다.
스트림 키를 올바르게 설정했다면, 명령줄에서 다음과 같이 스트리밍을 시작할 수 있습니다.
streaming 스트림키
스트리밍을 종료하려면 “Q” 키를 누르면 FFmpeg가 종료되어야 합니다. 만약 Q 키가 작동하지 않는다면, Ctrl + Z를 눌러 스크립트를 강제 종료합니다.
스트림 스크립트 만들기
스트림 키를 매번 입력하는 것이 번거롭다면, 스트림 스크립트를 만드는 것이 좋습니다. 하지만 스크립트를 사용하면 PC에 접근할 수 있는 다른 사람에게 스트림 키가 노출될 수 있으니 주의해야 합니다. 스크립트를 만들려면 터미널을 열고 다음 명령어를 입력합니다.
먼저 `echo` 명령어를 사용하여 shebang을 추가합니다. shebang은 Bash 인터프리터에게 실행하려는 스크립트의 종류와 환경을 알려주는 역할을 합니다.
주의: 홈 폴더에서 스크립트를 이동하지 마십시오. `bashrc` 파일 내 스트리밍 스크립트에 의존합니다. 올바른 권한이 없는 파일 시스템 내 다른 위치로 이동하면 스크립트가 제대로 작동하지 않을 수 있습니다.
echo "#!/bin/bash" > ~/stream-script.sh
다음으로, 스트리밍 명령어를 복사하여 `echo` 명령어로 스크립트에 작성합니다.
echo "streaming 스트림키" >> ~/stream-script.sh
마지막으로 스크립트의 권한을 변경하여 시스템에서 올바르게 실행되도록 합니다. 권한 설정이 되어있지 않으면 스크립트가 실행되지 않을 수 있습니다.
sudo chmod +x stream-script.sh
다음과 같이 스크립트를 실행할 수 있습니다.
./stream-script.sh
또는
sh stream-script.sh
Q 키 또는 Ctrl + Z 키를 사용하여 스크립트를 종료할 수 있습니다.