First of all, we need to do all the things indicated here: https://gist.github.com/DevStefIt/23b8971db7e3fe084d29f2c915fb7773 We need to modify the Nginx configuration file:
sudo vim /etc/nginx/nginx.conf
Then, have to add the following lines in the existing RTMP configuration (or create a new one if you do not have it)
. . .
rtmp {
server {
...
application live {
live on;
record off;
hls on;
hls_path /var/www/html/stream/hls;
hls_fragment 3;
hls_playlist_length 60;
hls_cleanup off;
dash on;
dash_path /var/www/html/stream/dash;
dash_cleanup off;
}
}
}
...
We need to configure a block in the sites-available
folder.
sudo vim /etc/nginx/sites-available/rtmp
And insert the following lines:
...
server {
listen 8088;
location / {
add_header Access-Control-Allow-Origin *;
root /var/www/html/stream;
}
}
types {
application/dash+xml mpd;
}
Port 8088
is chosen because it is different than the other chose ports.
We enable port 8088 in TCP mode on the firewall
sudo ufw allow 8088/tcp
We create the folders of interest
sudo mkdir -p /var/www/html/stream/hls
sudo mkdir -p /var/www/html/stream/dash
We also grant a reasonable access for the current user
sudo chown -R $USER:$USER /var/www/html/stream
sudo chmod -R 775 /var/www/html/stream
We reload Nginx
sudo systemctl reload nginx
try using this command to start stream but replace file name with yours and also the paths to your hls and dash root@TashingaPc:/mnt/d# ffmpeg -re -i 'Big_Buck_Bunny.mp4' -c:v libx264 -preset slower -tune zerolatency -c:a aac -f flv rtmp://localhost/live/bbb -f hls -hls_time 3 -hls_list_size 20 -hls_segment_filename "/var/www/html/stream/hls/segment_%03d.ts" "/var/www/html/stream/hls/index.m3u8" -f dash -seg_duration 3 -init_seg_name "init.m4s" -media_seg_name "chunk_%03d.m4s" "/var/www/html/stream/dash/manifest.mpd" -loglevel debug