Skip to content

Instantly share code, notes, and snippets.

@smooker
Created December 21, 2022 04:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save smooker/eb071e90d3fd763d7c9c47b6fc91e569 to your computer and use it in GitHub Desktop.
Save smooker/eb071e90d3fd763d7c9c47b6fc91e569 to your computer and use it in GitHub Desktop.
3.6GB to 915MB video size reduction without quality loss
#!/bin/bash
#ffmpeg -y -v debug -i $1 -max_muxing_queue_size 9999 -c:v hevc_nvenc -preset p7 -an $2
#-filter:v "setpts=0.5*PTS"
#ffmpeg -y -v debug -i $1 -max_muxing_queue_size 9999 -c:v hevc_nvenc -preset p7 -an -r 30 -filter:v "setpts=0.02*PTS" $2
#ffmpeg -y -loglevel info -threads 4 -hwaccel nvdec -i $1 -max_muxing_queue_size 9999 -c:v hevc_nvenc -preset p7 -an -r 30 -filter:v "select=gt(scene\,0.01),metadata=print,setpts=0.02*PTS" -flush_packets 1 $2
#ffmpeg -y -loglevel info -threads 4 -hwaccel nvdec -i $1 -max_muxing_queue_size 9999 -c:v hevc_nvenc -preset p7 -an -filter:v "setpts=0.01*PTS" -filter:a "atempo=100.0" -r 60 -flush_packets 1 $2
#ffmpeg -y -loglevel info -threads 4 -hwaccel nvdec -i $1 -max_muxing_queue_size 9999 -c:v hevc_nvenc -preset p7 -filter_complex "[0:v]fps=10,setpts=0.1*PTS[v];[0:a]atempo=1.0[a]" -map "[v]" -map "[a]" -r 10 -flush_packets 1 $2
#ffmpeg -y -loglevel info -threads 4 -hwaccel nvdec -i $1 -max_muxing_queue_size 9999 -c:v hevc_nvenc -preset p7 -tune hq -rc-lookahead 65535 -multipass fullres -filter_complex "[0:v]fps=10,setpts=1.0*PTS[v];[0:a]atempo=1.0[a]" -map "[v]" -map "[a]" -r 10 -flush_packets 1 $2
# to be checked
# -zerolatency
# -strict_gop
# -tier high
# -level 123 #level 4.1
#-rw-r--r-- 1 smooker smooker 3.6G Dec 21 04:50 cam4_saved_2022-10-22_13-21-49.mkv
#-rw-r--r-- 1 smooker smooker 915M Dec 21 06:45 cam4_saved_2022-10-22_13-21-49.mkv.4.mkv
ffmpeg -y -loglevel info -threads 4 -hwaccel nvdec -i $1 -max_muxing_queue_size 9999 -c:v hevc_nvenc -preset p7 -tune hq -rc-lookahead 65535 -multipass fullres -2pass -filter_complex "[0:v]fps=10,setpts=1.0*PTS[v];[0:a]atempo=1.0[a]" -map "[v]" -map "[a]" -r 10 -flush_packets 1 $2
#select=gt(scene\,0.003)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment