Tutorial: Streaming Video ke Facebook Live Menggunakan Script PHP dan FFmpeg di VPS Linux

 


Streaming video langsung ke Facebook Live bisa menjadi cara efektif untuk menjangkau audiens yang lebih luas. Dalam tutorial ini, kita akan menggunakan PHP dan FFmpeg untuk melakukan streaming video dari URL (misalnya, dari TikTok) ke Facebook Live. Artikel ini akan memandu Anda melalui setiap langkah yang diperlukan, mulai dari persiapan VPS Linux, instalasi paket, hingga menjalankan script PHP.

## Bagian 1: Persiapan VPS Linux

### 1. Menyewa VPS

Langkah pertama adalah memiliki VPS (Virtual Private Server) yang menjalankan sistem operasi Linux, seperti Ubuntu atau CentOS. Anda bisa menyewa VPS dari penyedia layanan seperti DigitalOcean, Linode, atau AWS.

### 2. Mengakses VPS

Setelah Anda memiliki VPS, gunakan SSH untuk mengakses server. Jika Anda menggunakan sistem operasi Windows, Anda bisa menggunakan aplikasi seperti PuTTY. Di macOS atau Linux, Anda bisa langsung menggunakan terminal.

ssh root@ip_address_vps_anda

Gantilah `ip_address_vps_anda` dengan alamat IP VPS yang Anda miliki.

### 3. Memperbarui Sistem

Pastikan sistem Anda diperbarui ke versi terbaru.

apt-get update

apt-get upgrade -y


## Bagian 2: Instalasi Paket yang Diperlukan

### 1. Instalasi PHP

PHP adalah bahasa pemrograman yang akan kita gunakan untuk menjalankan script. Untuk menginstalnya, jalankan perintah berikut:

apt-get install php -y


### 2. Instalasi FFmpeg

FFmpeg adalah alat penting yang digunakan untuk mengkonversi dan streaming media. Instal FFmpeg dengan perintah berikut:

apt-get install ffmpeg -y


### 3. Instalasi Web Server

Agar script PHP dapat diakses, kita memerlukan web server seperti Apache atau Nginx. Kita akan menggunakan Apache untuk tutorial ini.

apt-get install apache2 -y

Setelah instalasi, pastikan Apache berjalan:

systemctl start apache2

systemctl enable apache2



## Bagian 3: Penjelasan Script PHP dan FFmpeg

Berikut adalah script PHP yang akan digunakan:

<?php

// Lokasi file FFmpeg

$ffmpeg = '/usr/bin/ffmpeg';


// Sumber video (URL TikTok)

$videoSource = 'https://pull-flv-l11-va01.tiktokcdn.com/stage/stream-299801767676777_uhd.flv'; // Ganti dengan URL video Anda


// URL RTMP tujuan (Facebook Live)

$rtmpUrl = 'rtmps://live-api-s.facebook.com:443/rtmp/FB-77777'; // Ganti dengan URL RTMP Anda


// Pengaturan video

$videoCodec = 'libx264';

$videoProfile = 'baseline';

$videoBitrate = '2500K';

$resolution = '720x1280';

$frameRate = 30; // Set frame rate ke 30 fps

$keyFrameRate = 60; // Set key frame rate ke 60 (1 key frame per 2 detik)


// Pengaturan audio

$audioCodec = 'aac';

$audioChannels = 1;

$audioBitrate = '56k';


// Pengaturan teks watermark

$fontSizeSmall = 24;

$fontSizeLarge = 48;

$fontColor = 'white';

$boxColor = 'black@0.5';

$watermarkText = 'WA: 085723479648';


// Command FFmpeg

$ffmpegCommand = "$ffmpeg -i \"$videoSource\" -threads 1 -c:v $videoCodec -profile:v $videoProfile -b:v $videoBitrate -s $resolution -r $frameRate -g $keyFrameRate -f flv -c:a $audioCodec -ac $audioChannels -strict -2 -b:a $audioBitrate";

$ffmpegCommand .= " -vf \"drawtext=text='%{localtime\\: %d-%m-%Y}':x=w-tw-10:y=10:fontsize=$fontSizeSmall:fontcolor=$fontColor:box=1:boxcolor=$boxColor,";

$ffmpegCommand .= "drawtext=text='%{localtime\\: %T}':x=w-tw-10:y=40:fontsize=$fontSizeSmall:fontcolor=$fontColor:box=1:boxcolor=$boxColor,";

$ffmpegCommand .= "drawtext=text='$watermarkText':x=(w-text_w)/2:y=(h-text_h)/2:fontsize=$fontSizeLarge:fontcolor=orange:box=1:boxcolor=$boxColor\" \"$rtmpUrl\"";


// Loop untuk memastikan FFmpeg dijalankan kembali jika berhenti

while (true) {

    // Menjalankan command FFmpeg

    exec($ffmpegCommand, $output, $returnCode);


    // Output pesan sukses atau error

    if ($returnCode === 0) {

        echo "Streaming telah dimulai!";

        break; // Keluar dari loop jika streaming berjalan dengan sukses

    } else {

        echo "Error saat memulai streaming: " . implode(PHP_EOL, $output);

        echo "Mencoba untuk memulai ulang streaming...\n";

        sleep(5); // Tunggu 5 detik sebelum mencoba ulang

    }

}

?>


### Penjelasan Script


1. Lokasi FFmpeg:

   - `'/usr/bin/ffmpeg'`: Menentukan lokasi instalasi FFmpeg di server Linux Anda. Ini adalah jalur standar pada banyak distribusi Linux.


2. Sumber Video:

   - `$videoSource`: URL dari video yang ingin di-streamingkan. Dalam contoh ini, video diambil dari TikTok.


3. URL RTMP Tujuan:

   - `$rtmpUrl`: URL RTMP yang digunakan untuk streaming ke Facebook Live. Gantilah dengan URL yang Anda dapatkan dari dashboard Facebook Live Anda.


4. Pengaturan Video:

   - `$videoCodec = 'libx264'`: Mengatur codec video menjadi `libx264`, yang merupakan codec video yang banyak digunakan untuk streaming.

   - `$videoProfile = 'baseline'`: Menetapkan profil video sebagai 'baseline' untuk kompatibilitas yang lebih luas.

   - `$videoBitrate = '2500K'`: Menentukan bitrate video, yang mempengaruhi kualitas dan ukuran streaming.

   - `$resolution = '720x1280'`: Resolusi video yang akan di-streaming.

   - `$frameRate = 30`: Mengatur frame rate video ke 30 frame per detik.

   - `$keyFrameRate = 60`: Mengatur interval keyframe, penting untuk kualitas streaming yang stabil.


5. Pengaturan Audio:

   - `$audioCodec = 'aac'`: Codec audio yang digunakan.

   - `$audioChannels = 1`: Menentukan jumlah channel audio (1 untuk mono).

   - `$audioBitrate = '56k'`: Bitrate audio.


6. Watermark:

   - `$watermarkText`: Teks watermark yang akan ditampilkan di video, bisa diubah sesuai kebutuhan Anda.

   - `-vf "drawtext..."`: FFmpeg filter untuk menambahkan teks watermark, waktu, dan tanggal pada video.


7. Loop untuk Menjalankan Ulang:

   - Loop `while (true)` memastikan bahwa jika proses FFmpeg berhenti, script akan mencoba memulai ulang streaming setelah jeda 5 detik.


## Bagian 4: Menjalankan Script

### 1. Membuat File Script

Buat file PHP baru di server Anda:

nano /var/www/html/streaming.php

Tempelkan script PHP yang telah dijelaskan di atas ke dalam file ini, lalu simpan dan keluar dari editor (Ctrl + X, lalu Y, dan Enter).


### 2. Menjalankan Script

Jalankan script dengan perintah PHP dari command line:

php /var/www/html/streaming.php


### 3. Verifikasi Streaming

Buka dashboard Facebook Live Anda untuk memastikan bahwa streaming berhasil berjalan. Anda seharusnya melihat video yang diambil dari URL yang di-streaming-kan ke akun Facebook Anda.


## Bagian 5: Menangani Masalah

Jika script berhenti atau Anda melihat pesan error, script akan mencoba memulai ulang streaming setelah 5 detik. Pastikan Anda telah mengatur semua URL dan jalur dengan benar.


## Kesimpulan

Dengan mengikuti langkah-langkah di atas, Anda sekarang dapat melakukan streaming video dari berbagai sumber ke Facebook Live menggunakan PHP dan FFmpeg di VPS Linux. Tutorial ini memberikan dasar yang kuat untuk memahami bagaimana streaming video bekerja dan bagaimana Anda bisa menyesuaikan pengaturan sesuai kebutuhan Anda. Jika Anda ingin menambahkan fitur lain seperti teks kustom atau menyesuaikan kualitas video lebih lanjut, Anda bisa mengubah script sesuai kebutuhan.

Previous article
Next article

0 Response to "Tutorial: Streaming Video ke Facebook Live Menggunakan Script PHP dan FFmpeg di VPS Linux"

Posting Komentar

Kode Iklan Atas Artikel

Kode Iklan Tengah Artikel 1

Kode Iklan Tengah Artikel 2

Kode Iklan Bawah Artikel

Berapa Harga Jasa Installasi IPTV Panel Xtream UI ???