Beberapa dekade terakhir, banyak sekali para gamer yang "nyambi" cari uang dengan melakukan live stream di media sosial terutama Facebook.
Sebenarnya saya juga mulai kesel karena para fans live streamer sering membagikan live streaming-nya ke grup Facebook. Sehingga grup Facebook yang awalnya diperuntukkan sebagai media diskusi malah jadi ajang pencarian views. Spam dan annoying banget.
Diluar itu, saya mendapatkan saran yang mungkin bagus bagi para live streamer. Sebelum kita masuk ke artikel utamanya. Kita akan belajar sedikit marketing.
Kalo dibagian pemasaran, hal terpenting dari penjualan adalah menarik calon pelanggan. Diruang lingkup ini, kita menyebutnya sebagai fans. Beberapa live streamer kadang sangat fokus pada satu media sosial. Padahal pada kenyataannya hampir semua orang punya preferensi media sosial yang berbeda. Contoh, Budi sangat aktif di Facebook, Citra eksis di Instagram, Beni lebih sering membuka YouTube.
Yang dilakukan kebanyakan live streamer adalah membiarkan fans untuk mengikuti media sosial yang ia gunakan. Ya ngga sepenuhnya salah sih cara tersebut cuman kalo menurut saya saya hal tersebut akan berdampak pada views yang minim.
Ide utama dari artikel ini adalah: Jangan biarkan mereka mendatangi konten kita, namun kita yang berusaha menarik para fans dengan cara menghampirinya melalui melalui setiap media sosial sesuai preferensi mereka. Intinya adalah, kita harus melakukan live streamer diberbagai media sosial.
Masalahnya, kira-kira kuat ngga bandwidth kita buat upload live stream ke semua media sosial? Jawabannya adalah menggunakan teknik Simulcast(ing)
Prerequisite
1. Kita akan membutuhkan 1 VPS dengan bandwidth yang cukup untuk melakukan connection stream ke sejumlah media sosial.
1. Kita akan membutuhkan 1 VPS dengan bandwidth yang cukup untuk melakukan connection stream ke sejumlah media sosial.
2. VPS harus menggunakan Debian (saya menggunakan Debian 10)
Yok kita kerjain!
1. Siapkan stream key
Langkah pertama yang perlu kita lakukan adalah mendapatkan link RTMP dari masing-masing media sosial. Sejauh ini yang paling terkenal untuk live streaming gaming adalah Facebook Live, YouTube Gaming dan Twitch. Selain itu ada juga Periscope (Twitter), DailyMotion, Smashcast, Mixer.com, Restream.io, LiveEdu.tv dan lain-lain.
Facebook
URL = rtmps://live-api-s.facebook.com:443/rtmp/
Key = (silahkan anda lihat stream keys milik anda)
Instagram
URL = rtmps://live-upload.instagram.com:443/rtmp/
Key = (tidak terdokumentasi. silahkan gunakan http://instafeed.me atau yellowduck)
YouTube
URL = rtmp://a.rtmp.youtube.com/live2
Key = (silahkan anda lihat stream keys milik anda)
Twitch
URL = rtmp://live-sin.twitch.tv/app/
Key = (silahkan anda lihat stream keys milik anda)
Periscope
URL = rtmp://sg.pscp.tv:80/x
Key = (silahkan anda lihat stream keys milik anda)
2. Login ke VPS
Karena tujuan kita biar hemat bandwidth untuk simulcast, maka kita harus menggunakan VPS. Kalo udah dapet VPS yang sesuai, langsung login saja. Jangan lupa, posisi juga harus sebagai root.
3. Download dan compile
Download dan pasang kebutuhan compile.
Ngomong-ngomong, sebenarnya metode yang saya praktikkan mungkin tidak memerlukan ffmpeg, tapi tetap saja disarankan nanti untuk uji coba.
Yok kita kerjain!
1. Siapkan stream key
Langkah pertama yang perlu kita lakukan adalah mendapatkan link RTMP dari masing-masing media sosial. Sejauh ini yang paling terkenal untuk live streaming gaming adalah Facebook Live, YouTube Gaming dan Twitch. Selain itu ada juga Periscope (Twitter), DailyMotion, Smashcast, Mixer.com, Restream.io, LiveEdu.tv dan lain-lain.
URL = rtmps://live-api-s.facebook.com:443/rtmp/
Key = (silahkan anda lihat stream keys milik anda)
URL = rtmps://live-upload.instagram.com:443/rtmp/
Key = (tidak terdokumentasi. silahkan gunakan http://instafeed.me atau yellowduck)
YouTube
URL = rtmp://a.rtmp.youtube.com/live2
Key = (silahkan anda lihat stream keys milik anda)
Twitch
URL = rtmp://live-sin.twitch.tv/app/
Key = (silahkan anda lihat stream keys milik anda)
Periscope
URL = rtmp://sg.pscp.tv:80/x
Key = (silahkan anda lihat stream keys milik anda)
2. Login ke VPS
Karena tujuan kita biar hemat bandwidth untuk simulcast, maka kita harus menggunakan VPS. Kalo udah dapet VPS yang sesuai, langsung login saja. Jangan lupa, posisi juga harus sebagai root.
3. Download dan compile
Download dan pasang kebutuhan compile.
apt-get install -y git build-essential ffmpeg libpcre3 libpcre3-dev libssl-dev zlib1g-dev stunnel4
Ngomong-ngomong, sebenarnya metode yang saya praktikkan mungkin tidak memerlukan ffmpeg, tapi tetap saja disarankan nanti untuk uji coba.
Dan juga karena Facebook menggunakan protokol secure maka diperlukan semacam relay yang membantu VPS untuk membuat jalur secure. Bisa menggunakan stunnel.
Download package beserta modul dari rtmp. Versi terbaru dari Nginx dapat dilihat di http://nginx.org/en/download.html. Saat saya menulis artikel ini, versi stable dari Nginx adalah 1.18.0. Untuk mendownload bisa menggunakan wget untuk Nginx dan git untuk modul rtmp.
setuid = stunnel4
setgid = stunnel4
pid = /tmp/stunnel.pid
output = /var/log/stunnel4/stunnel.log
include = /etc/stunnel/conf.d
[fb-live]
client = yes
accept = 127.0.0.1:8091
connect = live-api-s.facebook.com:443
verifyChain = no
dan untuk Instagram
[ig-live]
client = yes
accept = 127.0.0.1:8092
connect = live-upload.instagram.com:443
verifyChain = no
Jalankan stunnel dengan perintah:
Jika tidak ada pesan kesalahan yang muncul, berarti stunnel sudah berjalan.
4.2 Nginx
user www-data;
worker_processes auto;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid;
events { worker_connections 1024;}
#RTMP section
rtmp_auto_push on; #aktifkan multi-worker untuk live streaming
rtmp_auto_push_reconnect 1s; #jika 1s tidak ada koneksi, maka reconnect
rtmp {
ping 3m;
ping_timeout 30;
server {
listen 1935; #port standar untuk RTMP
chunk_size 4096; #semakin besar nilai chunk, makin kecil CPU overhead
application live { #live adalah nama aplikasinya. Anda bisa membuat lebih dari satu aplikasi
live on; #siap menerima koneksi rtmp
record off; #matikan mode perekaman
meta copy; #copy meta dari stream sumber ke stream tujuan
push rtmp://localhost:8091/rtmp/<facebook-key>;
push rtmp://localhost:8092/rtmp/<instagram-key>;
push rtmp://a.rtmp.youtube.com/live2/<youtube-key>;
push rtmp://live-sin.twitch.tv/app/<twitch-key>;
push rtmp://sg.pscp.tv:80/x/<periscope-key>;
}
}
}
Setelah disimpan, periksa kesalahan konfigurasi dengan menjalankan perintah:
Jika tidak muncul kesalahan, Nginx bisa dijalankan.
Atau jika Nginx sudah berjalan sebelumny, silahkan reload saja dengan perintah:
Download package beserta modul dari rtmp. Versi terbaru dari Nginx dapat dilihat di http://nginx.org/en/download.html. Saat saya menulis artikel ini, versi stable dari Nginx adalah 1.18.0. Untuk mendownload bisa menggunakan wget untuk Nginx dan git untuk modul rtmp.
wget http://nginx.org/download/nginx-1.18.0.tar.gz
git clone https://github.com/sergey-dryabzhinsky/nginx-rtmp-module.git
Modul rtmp sudah dalam bentuk folder. Sedangkan Nginx sendiri masih berupa archive. Jadi harus diekstrak terlebih dahulu dan masuk ke direktori nginx.
tar xvfz nginx-1.18.0.tar.gz
cd nginx-1.18.0/
Lakukan konfigurasi sebelum compile. Kita bisa menggunakan direktori /usr/local/nginx sebagai base dari direktori instalasi. Dalam konfigurasi ini, modul rtmp juga harus disertakan.
./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=../nginx-rtmp-module
Konfigurasi selesai. Kita bisa langsung melakukan compile dan pasang.
make -j 1
make install
make clean
4. Konfigurasi
4.1 Stunnel
Karena Facebook menggunakan protokol berbasis secure kita harus menggunakan stunnel. Sebelumnya paket stunnel telah terpasang. Ada dua konfigurasi stunnel. Satu sebagai init dan yang lainnya digunakan untuk memanggil setiap layanan live streaming. Berikut adalah konfigurasi stunnel sebagai init.
Buat dan buka file /etc/stunnel/stunnel.conf
nano /etc/stunnel/stunnel.conf
Isikan konfigurasi di bawah ini:setuid = stunnel4
setgid = stunnel4
pid = /tmp/stunnel.pid
output = /var/log/stunnel4/stunnel.log
include = /etc/stunnel/conf.d
Kemudian buat folder pada /etc/stunnel/conf.d dan buat file untuk live streaming section dengan nama misalkan fb.conf untuk Facebook dan ig.conf untuk Instagram
mkdir /etc/stunnel/conf.d
nano /etc/stunnel/conf.d/fb.conf
Isikan konfigurasi dibawah ini (Facebook):
client = yes
accept = 127.0.0.1:8091
connect = live-api-s.facebook.com:443
verifyChain = no
dan untuk Instagram
[ig-live]
client = yes
accept = 127.0.0.1:8092
connect = live-upload.instagram.com:443
verifyChain = no
Jalankan stunnel dengan perintah:
stunnel4
Jika tidak ada pesan kesalahan yang muncul, berarti stunnel sudah berjalan.
4.2 Nginx
Jika memang VPS ini hanya digunakan sebagai simulcast saja, maka kita bisa menghapus konfigurasi dasar dari Nginx yang letaknya di /usr/local/nginx/conf/nginx.conf
rm /usr/local/nginx/conf/nginx.conf
Buat system-user untuk nginx (biasanya menggunakan www-data).
useradd -M www-data
usermod -L www-data
Tuliskan konfigurasinya pada file /usr/local/nginx/conf/nginx.conf.
nano /usr/local/nginx/conf/nginx.conf
Berikut adalah isi dari konfigurasi yang dimaksud:
user www-data;
worker_processes auto;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid;
events { worker_connections 1024;}
#RTMP section
rtmp_auto_push on; #aktifkan multi-worker untuk live streaming
rtmp_auto_push_reconnect 1s; #jika 1s tidak ada koneksi, maka reconnect
rtmp {
ping 3m;
ping_timeout 30;
server {
listen 1935; #port standar untuk RTMP
chunk_size 4096; #semakin besar nilai chunk, makin kecil CPU overhead
application live { #live adalah nama aplikasinya. Anda bisa membuat lebih dari satu aplikasi
live on; #siap menerima koneksi rtmp
record off; #matikan mode perekaman
meta copy; #copy meta dari stream sumber ke stream tujuan
push rtmp://localhost:8091/rtmp/<facebook-key>;
push rtmp://localhost:8092/rtmp/<instagram-key>;
push rtmp://a.rtmp.youtube.com/live2/<youtube-key>;
push rtmp://live-sin.twitch.tv/app/<twitch-key>;
push rtmp://sg.pscp.tv:80/x/<periscope-key>;
}
}
}
Setelah disimpan, periksa kesalahan konfigurasi dengan menjalankan perintah:
/usr/local/nginx/sbin/nginx -t
Jika tidak muncul kesalahan, Nginx bisa dijalankan.
/usr/local/nginx/sbin/nginx
Atau jika Nginx sudah berjalan sebelumny, silahkan reload saja dengan perintah:
/usr/local/nginx/sbin/nginx -s reload
4.3 Konfigurasi streamer client
Anda bisa menggunakan ffmpeg dan sampel video. Misalkan video yang anda putar bernama sample.mp4 . Maka anda dapat menggunakan sintaks:
ffmpeg -re -i sample.mp4 -c:v libx264 -preset faster -b:v 3000k -maxrate 3500k -bufsize 7000k -framerate 30 -g 60 -profile:a aac_low -c:a aac -b:a 128k -ac 2 -ar 44100 -f flv rtmp://<ip_vps>/live
Sebelum menjalankan sintaks diatas, silahkan buka halaman pengolahan live streaming pada masing-masing media sosial (terutama Facebook dan YouTube). Biasanya kita diharuskan mengatur beberapa parameter sebelum melakukan live streaming.
Untuk streamer, biasanya saya menggunakan OBS untuk aplikasinya. OBS ini sangat membantu sekali karena fiturnya yang dapat menambahkan berbagai layer atau overlay langsung pada saat kita melakukan live streaming (on-the-fly).
Untuk konfigurasi OBS, di samping kanan sendiri ada beberapa tombol, pilih settings. Pilih bagian menu Stream. Selanjutnya pada bagian Stream Type, pilih Custome Streaming Server dan isikan parameter URL dengan rtmp://<ip_vps>/live dan Stream key isi dengan terserah. Tekan apply dan Ok. Selanjutnya pada tombol sebelah kanan lagi, pilih Start streaming.
Di halaman pengolahan live streaming, misalkan pada Facebook anda akan ditunjukkan tampilan preview sebelum anda siarkan live streaming anda.
4.4 Konfigurasi Player
Anda dapat menyaksikan live streaming langsung dari media sosial atau dapat menggunakan VLC sebagai player. Jika menggunakan VLC masuk ke menu Media, kemudian Open Network Stream dan masukkan URL rtmp pada box yang disedikan. Anda tinggal menekan tombol play
5. WARNING
Sistem ini belum memiliki autentikasi. Sehingga siapapun yang mengetahui url dari rtmp akan dapat melakukan live streaming. Jadi simpan baik-baik url tersebut. Beberapa referensi di bawah bisa anda gunakan untuk membangun sistem autentikasi sederhana. Tapi waktu saya coba selalu gagal (pada OBS akses selalu ditolak).
Itu saja yang bisa saya sampaikan. Mungkin Artikelnya sedikit berantakan + ngga ada gambar. Saya lagi pake gnome jadi masih butuh penyesuain. Jika ada yang perlu anda tanyakan silahkan isi kolom komentar anda.
Tetap semangat!
Sumber:
https://www.scaleway.com/en/docs/setup-rtmp-streaming-server/
https://github.com/arut/nginx-rtmp-module/wiki/Directives
https://smartshitter.com/musings/2017/12/nginx-rtmp-streaming-with-simple-authentication/
https://software.endy.muhardin.com/aplikasi/live-stream-nginx-rtmp/
https://redaksi.pens.ac.id/2018/07/11/ffmpeg-solusi-mudah-streaming-di-youtube-dan-facebook/?fbclid=IwAR2RQSMFQKkpox5eMEaiL3dwK_FZOYdykfwHfu_sYAFCw4l45vp5ymqAANE
https://trac.ffmpeg.org/wiki/EncodingForStreamingSites
https://www.freepik.com/free-vector/live-streaming-background_2756270.htm (image)
P.S
Setiap konten (kutipan teks, gambar, suara, video) terpublikasi di internet dan dapat diakses secara terbuka tanpa catatan copyright. Saya telah mencantumkan sumber setiap konten. Jika memang konten anda bermuatan nilai hak cipta, silahkan inbox saya di blackhiden@gmail.com
Play with Bitcoin on the merit casino【FULL review, registration
BalasHapusPlay with Bitcoin on the merit casino【FULL review, registration】➤ 메리트 카지노 쿠폰 Download The Merit Casino 2021 Bonus and Play with Bitcoin and