Langsung ke konten utama

Live Streaming ke Banyak Media Sosial



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.
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.
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.
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):

[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:
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!

https://www.servermania.com/kb/articles/nginx-rtmp/
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

Komentar

  1. Play with Bitcoin on the merit casino【FULL review, registration
    Play with Bitcoin on the merit casino【FULL review, registration】➤ 메리트 카지노 쿠폰 Download The Merit Casino 2021 Bonus and Play with Bitcoin and

    BalasHapus

Posting Komentar

Terima kasih telah berkunjung.

Postingan populer dari blog ini

Hubungan Manis antara Conan Edogawa dan Haibara Ai.

( Hubungan Manis antara Conan Edogawa dan Haibara Ai)  Halo para Conaners, tahu kenyataan unik nggak. Ternyata Haibara Ai tuh demen lho sama Conan Edogawa. Tapi dia berusaha menyembunyikannya lantaran dia udah tau kalo Conan (Shinichi) tuh suka dan cinta sama Ran. Haibara yang kita ketahui mempunyai kepribadian dingin ini, tak gampang putus asa nih buat nunjukin kegigihannya untuk mendapatkan perhatian dari Conan. Yuk kita lihat, usaha apa saja yang dilakukan Haibara untuk menaklukan Conan :

Instalasi FreeRADIUS ft. daloRADIUS | [UPDATE - Study case pada Debian Buster]

NOTE: Artikel ini telah mengalami perubahan. Sebelumnya, versi sistem operasi yang saya gunakan adalah Debian Wheezy. Dengan menggunakan Debian Buster beberapa versi package  juga ikut berubah. Update package akan saya beri warna font merah Remote Authentication Dial-In User Service atau sering disebut dengan RADIUS adalah sebuah protokol jaringan yang melayani administrasi pengguna dalam penggunaan jaringan secara terpusat. Aspek pelayanan yang diberikan meliputi  Authetication, Authorization dan Accounting  yang kemudian disingkat AAA atau triple A . RADIUS akan sangat dibutuhkan oleh provider skala besar, misalkan  Internet Service Provider (ISP) . Untuk platform MikroTik, RADIUS sering dikenal dengan userman ( user manager ) karena tugasnya memang manajemen pengguna.