From 54824be40a1ee114f609fc9a8aa6d591de0ff436 Mon Sep 17 00:00:00 2001 From: Daniel Krastev Date: Wed, 5 Feb 2025 00:43:26 +0000 Subject: [PATCH] move the ffmpeg cmd line ideas to separate file --- src/api/api.py | 42 ----------------------------------------- src/api/ffmpeg-ideas.md | 40 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 42 deletions(-) create mode 100644 src/api/ffmpeg-ideas.md diff --git a/src/api/api.py b/src/api/api.py index 7714cdd..4b27560 100644 --- a/src/api/api.py +++ b/src/api/api.py @@ -263,48 +263,6 @@ def hls_converter(): break logger_job.warning(f'{input_file} found. Converting to HLS...') -ffmpeg -i input_video.mp4 \ - -filter_complex \ - "[0:v]split=3[v1][v2][v3]; \ - [v1]scale=w=1920:h=1080[v1out]; \ - [v2]scale=w=1280:h=720[v2out]; \ - [v3]scale=w=854:h=480[v3out]" \ - -map "[v1out]" -c:v:0 libx264 -b:v:0 5000k -maxrate:v:0 5350k -bufsize:v:0 7500k \ - -map "[v2out]" -c:v:1 libx264 -b:v:1 2800k -maxrate:v:1 2996k -bufsize:v:1 4200k \ - -map "[v3out]" -c:v:2 libx264 -b:v:2 1400k -maxrate:v:2 1498k -bufsize:v:2 2100k \ - -map a:0 -c:a aac -b:a:0 192k -ac 2 \ - -map a:0 -c:a aac -b:a:1 128k -ac 2 \ - -map a:0 -c:a aac -b:a:2 96k -ac 2 \ - -f hls \ - -hls_time 10 \ - -hls_playlist_type vod \ - -hls_flags independent_segments \ - -hls_segment_type mpegts \ - -hls_segment_filename stream_%v/data%03d.ts \ - -master_pl_name master.m3u8 \ - -var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2" stream_%v/playlist.m3u8 - - -ffmpeg -i brooklynsfinest_clip_1080p.mp4 \ --filter_complex \ -"[0:v]split=3[v1][v2][v3]; \ -[v1]copy[v1out]; [v2]scale=w=1280:h=720[v2out]; [v3]scale=w=640:h=360[v3out]" \ --map "[v1out]" -c:v:0 libx264 -x264-params "nal-hrd=cbr:force-cfr=1" -b:v:0 5M -maxrate:v:0 5M -minrate:v:0 5M -bufsize:v:0 10M -preset slow -g 48 -sc_threshold 0 -keyint_min 48 \ --map "[v2out]" -c:v:1 libx264 -x264-params "nal-hrd=cbr:force-cfr=1" -b:v:1 3M -maxrate:v:1 3M -minrate:v:1 3M -bufsize:v:1 3M -preset slow -g 48 -sc_threshold 0 -keyint_min 48 \ --map "[v3out]" -c:v:2 libx264 -x264-params "nal-hrd=cbr:force-cfr=1" -b:v:2 1M -maxrate:v:2 1M -minrate:v:2 1M -bufsize:v:2 1M -preset slow -g 48 -sc_threshold 0 -keyint_min 48 \ --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 - - except Exception as e: logger_job.error(e) diff --git a/src/api/ffmpeg-ideas.md b/src/api/ffmpeg-ideas.md new file mode 100644 index 0000000..0f81caf --- /dev/null +++ b/src/api/ffmpeg-ideas.md @@ -0,0 +1,40 @@ +ffmpeg -i input_video.mp4 \ + -filter_complex \ + "[0:v]split=3[v1][v2][v3]; \ + [v1]scale=w=1920:h=1080[v1out]; \ + [v2]scale=w=1280:h=720[v2out]; \ + [v3]scale=w=854:h=480[v3out]" \ + -map "[v1out]" -c:v:0 libx264 -b:v:0 5000k -maxrate:v:0 5350k -bufsize:v:0 7500k \ + -map "[v2out]" -c:v:1 libx264 -b:v:1 2800k -maxrate:v:1 2996k -bufsize:v:1 4200k \ + -map "[v3out]" -c:v:2 libx264 -b:v:2 1400k -maxrate:v:2 1498k -bufsize:v:2 2100k \ + -map a:0 -c:a aac -b:a:0 192k -ac 2 \ + -map a:0 -c:a aac -b:a:1 128k -ac 2 \ + -map a:0 -c:a aac -b:a:2 96k -ac 2 \ + -f hls \ + -hls_time 10 \ + -hls_playlist_type vod \ + -hls_flags independent_segments \ + -hls_segment_type mpegts \ + -hls_segment_filename stream_%v/data%03d.ts \ + -master_pl_name master.m3u8 \ + -var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2" stream_%v/playlist.m3u8 + + +ffmpeg -i brooklynsfinest_clip_1080p.mp4 \ +-filter_complex \ +"[0:v]split=3[v1][v2][v3]; \ +[v1]copy[v1out]; [v2]scale=w=1280:h=720[v2out]; [v3]scale=w=640:h=360[v3out]" \ +-map "[v1out]" -c:v:0 libx264 -x264-params "nal-hrd=cbr:force-cfr=1" -b:v:0 5M -maxrate:v:0 5M -minrate:v:0 5M -bufsize:v:0 10M -preset slow -g 48 -sc_threshold 0 -keyint_min 48 \ +-map "[v2out]" -c:v:1 libx264 -x264-params "nal-hrd=cbr:force-cfr=1" -b:v:1 3M -maxrate:v:1 3M -minrate:v:1 3M -bufsize:v:1 3M -preset slow -g 48 -sc_threshold 0 -keyint_min 48 \ +-map "[v3out]" -c:v:2 libx264 -x264-params "nal-hrd=cbr:force-cfr=1" -b:v:2 1M -maxrate:v:2 1M -minrate:v:2 1M -bufsize:v:2 1M -preset slow -g 48 -sc_threshold 0 -keyint_min 48 \ +-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 \ No newline at end of file