Last active
July 5, 2025 07:47
-
-
Save DevStefIt/cf18fd8ac8627985d42f3d8ffe28720c to your computer and use it in GitHub Desktop.
Revisions
-
DevStefIt revised this gist
Feb 16, 2023 . 4 changed files with 25 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1 @@ ffmpeg -re -i INPUT -c:v libx264 -c:a aac -preset slower -f dash ARBITRARY_NAME.mpd This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,20 @@ # Remember to redirect all the stream files (the .ts files) in the playlist files (the .m3u8 files) using ffmpeg -i 'input_file.mkv' \ -filter_complex \ "[0:v]split=3[v1][v2][v3]; \ [v1]copy[v1out]; [v2]scale=w=640:h=360[v2out]; [v3]scale=w=352:h=288[v3out]" \ -map [v1out] -c:v:0 libx264 -b:v:0 5M -maxrate:v:0 5M -minrate:v:0 5M -bufsize:v:0 10M -preset slow \ -map [v2out] -c:v:1 libx264 -b:v:1 3M -maxrate:v:1 3M -minrate:v:1 3M -bufsize:v:1 3M -preset slow \ -map [v3out] -c:v:2 libx264 -b:v:2 1M -maxrate:v:2 1M -minrate:v:2 1M -bufsize:v:2 1M -preset slow \ -map a:0 -c:a:0 aac -b:a:0 96k -ac 2 \ -map a:0 -c:a:1 aac -b:a:1 96k -ac 2 \ -map a:0 -c:a:2 aac -b:a:2 48k -ac 2 \ -f hls \ -hls_time 2 \ -hls_playlist_type vod \ -hls_flags independent_segments \ -hls_segment_type mpegts \ -hls_segment_filename stream_%v/data%02d.ts \ -master_pl_name master.m3u8 \ -var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2" stream_%v.m3u8 This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -17,9 +17,11 @@ rtmp { 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; } } } This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,8 +4,8 @@ If you would like to stream your file via RTMP To view the content via HLS: `http://server_ip:8088/hls/ARBITRARY_NAME.m3u8` To view the content via DASH: `http://server_ip:8088/dash/ARBITRARY_NAME.mpd` -
DevStefIt created this gist
Feb 16, 2023 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,73 @@ 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; dash on; dash_path /var/www/html/stream/dash; } } } ... ``` 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` This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,11 @@ If you would like to stream your file via RTMP `ffmpeg -re -i INPUT -c:v libx264 -c:a aac -preset ultrafast -tune zerolatency -f flv rtmp://127.0.0.1/live/ARBITRARY_NAME` To view the content via HLS: http://server_ip:8088/hls/ARBITRARY_NAME.m3u8 To view the content via DASH: http://server_ip:8088/dash/ARBITRARY_NAME.mpd