FFmpeg dapat menerbitkan sumber uji RTMP ke endpoint yang ditetapkan, tetapi perintah yang selesai bukan hasil penerimaan. Gunakan input yang diketahui, lindungi URL dan kunci, lalu verifikasi aktivitas penerbit, media yang didekode, dan jalur penerima yang dipilih.
Pilih mode akses terlebih dahulu
Dalam mode terkontrol, Publisher dan Receiver adalah peran terpisah pada nama stream terkonfigurasi yang sama dan dapat menggunakan URL RTMP yang sama. Dalam mode Guest, buka endpoint dengan sengaja dan gunakan nama stream yang tidak kosong; penerima harus menggunakan nama yang sama.
Sebelum menerbitkan
Dapatkan URL publikasi RTMP dan kunci stream dari deployment. Jangan tempel kunci nyata ke riwayat shell, tiket, atau artikel. Pastikan build FFmpeg Anda mengekspos dukungan RTMP: dokumentasi protokol FFmpeg menjelaskan opsi protokol; dokumentasi format menjelaskan perilaku muxer.
ffmpeg -protocols | grep rtmp
Hasil yang diharapkan: perintah mencantumkan varian protokol RTMP yang didukung build tersebut. Jika tidak, sesuaikan pengujian dengan build terpasang, jangan berasumsi paket menyertakan protokol itu.
Publikasikan berkas pada kecepatan waktu nyata
ffmpeg -re -stream_loop -1 -i input.mp4 -c copy -f flv "rtmp://INGEST_HOST:PORT/APP/STREAM_NAME_OR_KEY"
Hasil yang diharapkan: FFmpeg terus melaporkan kemajuan frame, bukan mengirim berkas secepat penyimpanan mengizinkan. -re membaca berkas pada laju asli untuk uji terbatas ini. Ganti placeholder dengan nilai listener yang diberikan; jangan ubah jalur aplikasi atau kunci.
Transkode ketika kontrak output membutuhkannya
ffmpeg -re -stream_loop -1 -i input.mov -c:v libx264 -pix_fmt yuv420p -g 60 -c:a aac -ar 48000 -b:a 128k -f flv "rtmp://INGEST_HOST:PORT/APP/STREAM_NAME_OR_KEY"
Hasil yang diharapkan: penerima melihat penerbit kontinu dengan video dan audio yang dapat didekode. Ini contoh, bukan resep encoding universal: pilih frame rate, interval GOP/keyframe, bitrate, resolusi, dan parameter audio untuk penerima serta alur kerja pengiriman sebenarnya.
Verifikasi di server, lalu di hasil yang dimaksud
- Pastikan RTMP Server melaporkan penerbit dan bitrate masuk yang diharapkan.
- Periksa gambar dan audio dari penerima atau titik pemantauan terkonfigurasi.
- Uji satu output hilir yang dimaksud: perekaman, rute, atau pemutar browser.
- Hentikan proses sekali dan verifikasi status penerima serta rencana pemulihan.
Untuk perangkat tangkap langsung, ganti input berkas dengan sintaks input FFmpeg yang didokumentasikannya dan pertahankan pemeriksaan penerimaan sisi server. Hindari loop sambung ulang otomatis sampai Anda memahami bagaimana listener memperlakukan sesi duplikat; loop dapat menyembunyikan galat berguna pertama.
Pilih protokol endpoint yang diberikan
Gunakan protokol endpoint yang diberikan untuk pekerjaan ini. Callaba RTMP Server menyediakan listener, aturan akses, dan tampilan aktivitas; tampilan browser menggunakan output yang dikonfigurasi terpisah.
Konfigurasi terkait
Konfigurasikan listener di Callaba RTMP Server, gunakan panduan operator untuk pemeriksaan akses dan status, atau ikuti RTMP ke HLS jika hasil yang dimaksud adalah pengiriman browser.
Pengirim dan penerima diagnostik lokal
ffmpeg -re -f lavfi -i testsrc2=size=1280x720:rate=30 -f lavfi -i sine=frequency=1000:sample_rate=48000 -c:v libx264 -pix_fmt yuv420p -g 60 -c:a aac -b:a 128k -f flv "rtmp://INGEST_HOST:PORT/APP/STREAM_NAME_OR_KEY"
Hasil yang diharapkan: FFmpeg melaporkan frame video sekitar 30 fps dan satu stream audio; Callaba melaporkan bitrate input. Nilai GOP 60 memberi keyframe setiap dua detik pada 30 fps, titik awal praktis untuk alur kerja segmen dua detik—bukan pengaturan server wajib.
Lakukan copy hanya setelah memeriksa input: ffprobe -v error -show_entries stream=codec_name,codec_type -of default=nw=1 input.mp4. Gunakan output ini untuk membandingkan codec input dan detail audio dengan kontrak terdokumentasi penerima. Copy masuk akal hanya setelah keduanya cocok. Untuk penerima diagnostik, ffplay -fflags nobuffer "rtmp://RECEIVER_HOST:PORT/APP/STREAM_NAME_OR_KEY" harus membuka gambar dan nada setelah penerima terhubung. Lihat sumber filter FFmpeg untuk testsrc2 dan sine.
Langkah berikutnya
Konfigurasikan listener di Callaba RTMP Server, lalu verifikasi akses dan aktivitas dalam panduan operator.