Web Streaming RTSP use HLS.js and convert to M3U8 use FFMPEG - Webserver Apache, Nginx GNU/Linux


Assalamualaikum Wr.Wb...
dengan diberikan nikmat dan rezeki dari Allah SWT, saya Mr.Gagaltotal666 akan
berbagi kepada anda yaitu tentang cara Web Streaming RTSP use HLS.js
and convert to M3u8 use FFMPEG - Webserver Apache, Nginx GNU/Linux.

ada projek dari kantor, saya mencoba untuk mencari apakah RTSP bisa
di streaming kan di website ? tentu bisa namun itu harus bantuan
dengan converisasi dengan FFMPEG atau juga bisa di Framework Node.js

disini saya menggunakan plugin JS yaitu HLS.js
dan untuk mengconverisasi nya menggunakan FFMPEG

oke langsung saja ikuti langkah berikut

pertama install FFMPEG di linux server anda

kalau sudah buat file bash yaitu .sh
contoh disini saya menamakan nya rtsp-cctv.sh

#!/bin/bash
VIDSOURCE="rtsp://192.168.100.254:7447/5f97b841848ef75490fd9824_1"
AUDIO_OPTS="-c:a aac -b:a 160000 -ac 2"
VIDEO_OPTS="-s 854x480 -c:v libx264 -b:v 2048000"
OUTPUT_HLS="-hls_time 6 -hls_list_size 6 -hls_wrap 6"
ffmpeg -rtsp_transport tcp -v verbose -i "$VIDSOURCE" -y $AUDIO_OPTS $VIDEO_OPTS $OUTPUT_HLS /var/www/html/live/namacctv.m3u8

contoh ini hanya 1 cctv saja
dan bagaimana jika untuk multi atau banyak nya cctv ?
bisa kok, contoh seperti ini

#!/bin/bash

#Code By Mr.GhostGTR666 & Mr.Gagaltotal666 | gagaltotal666.my.id | gagaltotal.github.io |

#link url RTSP
cctv1="rtsp://ayang:liatayang@192.168.111.104:554/Streaming/channels/101"
cctv2="rtsp://ayang:liatayang@192.168.111.109:554/Streaming/channels/101"
cctv3="rtsp://192.168.100.254:7447/5e464590848e2cc5ec3e5fef_1"
cctv4="rtsp://192.168.100.254:7447/5f97b841848ef75490fd9824_1"
cctv5="rtsp://192.168.100.254:7447/5fe04797848e7febe162eb1f_1"
cctv6="rtsp://192.168.100.254:7447/5e464491848e2cc5ec3e5d4c_1"
cctv7="rtsp://192.168.100.254:7447/5fb38964848e9d5f114f2d4a_1"

#setting audio dan resolution
AUDIO_OPTS="-c:a aac -b:a 160000 -ac 2"
VIDEO_OPTS="-s 854x480 -c:v libx264 -b:v 2048000"
OUTPUT_HLS="-hls_time 6 -hls_list_size 6 -hls_wrap 6"

#convert RTSP to hls m3u8
ffmpeg -rtsp_transport tcp -v verbose -i "$cctv1" -i "$cctv2" -i "$cctv3" -i "$cctv4" -i "$cctv5" -i "$cctv6" -i "$cctv7" \
        -map 0 -y $AUDIO_OPTS $VIDEO_OPTS $OUTPUT_HLS /var/www/html/live/namacctv1.m3u8 \
                                        -map 1 -y $AUDIO_OPTS $VIDEO_OPTS $OUTPUT_HLS /var/www/html/live/namacctv2.m3u8 \
  -map 2 -y $AUDIO_OPTS $VIDEO_OPTS $OUTPUT_HLS /var/www/html/live/namacctv3.m3u8 \
-map 3 -y $AUDIO_OPTS $VIDEO_OPTS $OUTPUT_HLS /var/www/html/live/namacctv4.m3u8 \
-map 4 -y $AUDIO_OPTS $VIDEO_OPTS $OUTPUT_HLS /var/www/html/live/namacctv5.m3u8 \
-map 5 -y $AUDIO_OPTS $VIDEO_OPTS $OUTPUT_HLS /var/www/html/live/namacctv6.m3u8 \
-map 6 -y $AUDIO_OPTS $VIDEO_OPTS $OUTPUT_HLS /var/www/html/live/namacctv7.m3u8

setelah itu buat file untuk di website nya untuk streaming
menggunakan HLS.js, contoh bisa tag html, dan php

<!DOCTYPE html>
<html>
<head>
  <title>Live RTSP HLS.JS</title>
</head>
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<body>
  
  <!-- Use this if you only support Safari!!
    <div id="player">
        <video id="video" autoplay="true" controls="controls">
            <source src="http://192.1xx.x.1xx:8080/playlist.m3u8" />
            Your browser does not support HTML5 streaming!
        </video>
    </div>
-->

  <video id="video" autoplay="true" controls="controls" type='application/x-mpegURL'></video>
  
  <script>
    if (Hls.isSupported()) {
      var video = document.getElementById('video');
      var hls = new Hls();
      hls.attachMedia(video);
      hls.on(Hls.Events.MEDIA_ATTACHED, function () {
        console.log("video and hls.js are now bound together !");
        hls.loadSource("http://192.168.100.110/live/tamansari.m3u8");
        hls.on(Hls.Events.MANIFEST_PARSED, function (event, data) {
        });
      });
    }
  </script>
</body>
</html>

jika sudah save dan jalankan script bash nya di linux server

$ chmod +x nama-file-rtsp.sh
$ ./nama-file-rtsp.sh

contoh gambar berikut



kalian bisa ambil Source code gratis di github saya [gagaltotal666]
jika kalian masih kurang paham silakan simak video dibawah ini


oke mungkin itu saja mengenai RTSP streaming
kalau ada kesalahan dan kekurangan nya
mohon berikan masukan nya ya

sekian dan semoga bermanfaat...

Wasalamualaikum Wr.Wb....

Post a Comment

0 Comments