Skip to content

Instantly share code, notes, and snippets.

@baharsah
Last active June 19, 2022 09:11
Show Gist options
  • Save baharsah/f65018fddb2b809ca567e374f6086883 to your computer and use it in GitHub Desktop.
Save baharsah/f65018fddb2b809ca567e374f6086883 to your computer and use it in GitHub Desktop.
Meng-livestream relay dengan ffmpeg dan stunnel

Intro

Sekitar 2 bulan lalu, saya sering melihat youtube channel dengan tayangan live stream yang panjang banget kayak radio. terlintas di fikiran "Itu dia bikinnya pake apa yah?"

Inti masalah

saya sering banget pake obs buat record-record atau livestream biasa. tapi kalau kasusnya seperti radio livestream, itu belum pernah.

banyak yang bilang kalau mereka itu pake OBS juga, cuma kan obs itu pake GUI, kan? berat pasti kalo buat VM kecil macam di cloud.

Pembahasan solusi : FFMPEG

ini adalah solusi yang terlitas di fikiran saya. saya fikir, ffmpeg itu adalahsebuah binari all-in-one yang bisa apa aja mengenai media. iseng-iseng cari, ternyata ada fiturnya.

temen-temen bisa cek disini Encoding for streaming sites

Masalah baru : RTMP yang deprecated.

di forum ini, Facebook to deprecate RTMP from Live API on 5/1/2019 menyebutkan bahwa di awal 2019 kemarin, facebook sudah tidak menggunakan fitur RTMP dan menggunakan RTMPS port 443. ini masalah, karena pada forum ini, Live Streaming over rtmps using FFMPEG disebutkan bahwa ffmpeg tidak mendukung RTMP.

Solusi Final : FFMPEG + STunnel.

STunnel adalah aplikasi yang bisa merubah koneksi non-SSL menjadi SSL. ini membantu banget buat aplikasi yang tidak mendukung SSL seperti FFMPEG RTMP. untuk cara lengkapnya, ada di bawah.

RTMP/RTMPS relay with stunnel

Disclaimer : di situs tersebut adalah implementasi Stunnel untuk Nginx RTMP Module. (Relay Livestream juga, tapi lebih spesifik) namun, jika temen-temen faham maksud dari blog tersebut, FFMPEG pun bisa melakukannya.

@baharsah
Copy link
Author

baharsah commented Jun 11, 2022

Di log STunnel bakal ada log seperti ini :

Service [nama-service] needs authentication to prevent MITM attacks

asalkan temen-temen listen ke loopback, gak masalah, sih

@baharsah
Copy link
Author

https://superuser.com/questions/1021958/make-ffmpeg-loop-video-indefinitely-while-streaming

kalo ada yang mau infinity loop videonya kayak radio beneran.

@baharsah
Copy link
Author

kalo ngerasa libx264 berat banget, coba deh render ke flv, baru di stream.

@baharsah
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment