Rust의 RTMP 서버를 GCP에 배포할 때 기록
소개
Rust의 RTMP 서버를 GCP에 배포하고 OBS로 동작 확인할 수 있었으므로 비망록적으로 남겨 둡니다.
별로 프로그램의 부분은 쓰고 있지 않기 때문에, 동작을 확인하는 것이 메인이 될까 생각합니다.
샘플 프로그램
htps : // 기주 b. m / ka lD rx / rst-me-a-bs / t-re / m-r / e-mp s / th-d d-rtmp_se r ょ r
이번에는이 리포지토리의 threaded_rtmp_server
라이브러리 버전을
Cargo.toml[package]
name = "everlong"
version = "0.1.0"
authors = ["Papillon6814 <[email protected]>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
slab = "0.4.2"
bytes = "0.5.4"
rml_rtmp = "0.3.2"
이렇게 조정하고 실행했습니다.
Google Compute Engine 가상 인스턴스 만들기
다음은 GCP 에 액세스하여 VMインスタンス
를 만듭니다.

VMインスタンス
는 가상으로 만들어진 서버와 같습니다.インスタンスを作成
를 선택하면 VM 인스턴스 생성 페이지로 이동합니다.
거기에 이렇게 입력했습니다.
[package]
name = "everlong"
version = "0.1.0"
authors = ["Papillon6814 <[email protected]>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
slab = "0.4.2"
bytes = "0.5.4"
rml_rtmp = "0.3.2"
이제 VM 인스턴스를 만듭니다.
GCP에서 RTMP 통신용 포트 1935 열기
VPCネットワーク
에서 ファイアウォールルール
를 선택합니다.
그리고,
ファイアウォールルールを作成
라고 하는 버튼으로부터, RTMP 통신용의 포트 1935 에서의 TCP 통신을 허가합니다.
이러한 내용으로 새로운 규칙을 만들었습니다.
VM 인스턴스에 방화벽 규칙 적용
규칙을 작성한 것만으로는 VM 인스턴스에 적용되지 않으므로 수동으로 규칙을 설정합니다.
VM 인스턴스 편집 화면으로 이동하여

ネットワーク タグ
라는 항목에 앞서 만든 allow1935-server
를 추가합니다.Cloud SDK 배포
terminal에서 ssh 연결을 원했기 때문에
Google Cloud SDK
를 소개합니다.아래의 링크를 참고로 도입할 수 있다고 생각합니다.
htps : // c ぉ d. 오, ぇ. 이 m / sdk / 도cs / 구이 cks rt-마코 s? hl = 그럼
자신의 VM 인스턴스에 ssh 연결
Cloud SDK
가 배포되면 VM 인스턴스에 ssh 연결합니다.GCP
VMインスタンス
페이지에서 ssh 연결을 위해 gcloudコマンドを表示
라는 항목을 선택하고 명령을 터미널에서 실행합니다.
그러면 내 VM 인스턴스에 ssh 연결할 수 있을까 생각합니다.
VM 인스턴스에 Rust 배포
VM 인스턴스에서도 Rust를 실행할 수 있도록 해야 하므로 ssh 연결을 한 터미널에서 Rust 설치 명령을 실행합니다.
~$ curl https://sh.rustup.rs -sSf | sh
이 명령으로 Rust 실행 환경을 도입할 수 있습니다.
Rust RTMP 서버 배포
ssh 연결된 VM 인스턴스에서,
mkdir ~/Documents
cd ~/Documents
mkdir ./Github
cd ./Github
git clone https://github.com/Papillon-inc/Everlong.git (ここは自分のクローンしたいリポジトリ)
을 실행합니다.
이제 RTMP 서버를 도입할 수 있었습니다.
서버 실행
Cargo.toml
의 어느 계층에서,cargo build
./target/debug/[プロジェクト名]
에서 프로그램을 실행합니다.
$ ./target/debug/everlong
Listening for connections on 0.0.0.0:1935
이와 같이, 1935번 포트에서 RTMP의 접수가 시작되었습니다.
OBS에서 서버가 반응하는지 확인
OBS 을 열고
設定
의 配信
를 엽니다.
이
サーバー
필드에 VM 인스턴스의 글로벌 IP와 1935로 구성된 URL을 입력합니다.rtmp://???.???.???.???:1935
이런 느낌입니다!스트림 키는 우선 이번에는 무엇이든 괜찮습니다.
그런 다음 캡처 할 항목을 OBS로 선택하고
配信開始
버튼을 누르면
이 방법으로 RTMP 통신에 반응하는지 확인할 수 있습니다!
끝
ios의 HaishinKit
를 사용하여 RTMP 서버에 연결이 잘 되었기 때문에 기회가 있다면 요약해 보겠습니다.
이번 서버는 일단 움직여주셔서 기뻤습니다.
참고 링크
htps : // chick kc ぉ ck. 하테나 bぉg. 코m/엔트리/2018/09/12/203900
htps : // 이 m/좋은 1111/이고 ms/0c3d08658560d4b91431
Reference
이 문제에 관하여(Rust의 RTMP 서버를 GCP에 배포할 때 기록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Papillon6814/items/ec2332d70b35276045b3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Rust의 RTMP 서버를 GCP에 배포할 때 기록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Papillon6814/items/ec2332d70b35276045b3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)