Skip to content

Instantly share code, notes, and snippets.

@bousqi
Last active May 5, 2023 01:49
Show Gist options
  • Save bousqi/b83db0069beea36c1f8a72f9b6230d0a to your computer and use it in GitHub Desktop.
Save bousqi/b83db0069beea36c1f8a72f9b6230d0a to your computer and use it in GitHub Desktop.
FFMPEG Video Convert
##########################
# FFMPEG 5
##########################
# refer to : https://superuser.com/questions/1380946/how-do-i-convert-10-bit-h-265-hevc-videos-to-h-264-without-quality-loss
# 10-bit/12-bit HEVC to 8-bit H.264
ffmpeg -i input.mkv -map 0 -c:v libx264 -crf 18 -vf format=yuv420p -c:a copy output.mkv
# 10-bit/12-bit HEVC to 10-bit H.264
ffmpeg -i input.mkv -map 0 -c:v libx264 -crf 18 -c:a copy output.mkv
# to exlcude a stream : -map -0:5
# For NVIDIA graphic card encoder usage : 6 time faster (your GC might not support 10bit encoding)
# replace encoder from libx264 to h264_nvenc
ffmpeg -i input.mkv -map 0 -c:v h264_nvenc -crf 18 -vf format=yuv420p -c:a copy output.mkv
##########################
# FFMPEG 4
##########################
# x265 to x264 (audio copy)
set FNAME="file"
set BITRATE="3500K"
# 2pass
ffmpeg -hwaccel cuvid -i %FNAME%.mkv -f matroska -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -an -b:v %BITRATE% -pass 1 -2pass -1 %FNAME%.new.mkv
ffmpeg -hwaccel cuvid -i %FNAME%.mkv -f matroska -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -acodec copy -b:v %BITRATE% -pass 2 -2pass -1 -y %FNAME%.new.mkv
# 1pass
ffmpeg -hwaccel cuvid -i %FNAME%.mkv -f matroska -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -acodec copy -b:v %BITRATE% -y %FNAME%.new.mkv
# x265 to x264 (audio aac 192k)
set FNAME="file"
set BITRATE="3500K"
# 2pass
ffmpeg -hwaccel cuvid -i %FNAME%.mkv -f matroska -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -an -b:v %BITRATE% -pass 1 -2pass -1 %FNAME%.new.mkv
ffmpeg -hwaccel cuvid -i %FNAME%.mkv -f matroska -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -c:a aac -b:a 192k -ac 2 -b:v %BITRATE% -pass 2 -2pass -1 -y %FNAME%.new.mkv
# 1pass
ffmpeg -hwaccel cuvid -i %FNAME%.mkv -f matroska -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -c:a aac -b:a 192k -ac 2 -b:v %BITRATE% -y %FNAME%.new.mkv
#------------------------------------------------------------------------------------------------------------------------------------------------------
# SW enc
ffmpeg.exe -i .\MVI_3796.MOV -c:v libx264 -crf 19 -preset slow -c:a aac -b:a 192k -ac 2 .\MVI_3796.AVI
# HW encoder (for NVidia)
++ ffmpeg.exe -i .\MVI_3796.MOV -c:v h264_nvenc -qmin 28 -qmax 52 -preset fast -c:a aac -b:a 128k -ac 2 .\MVI_3796.AVI
+ ffmpeg.exe -i .\MVI_3796.MOV -c:v h264_nvenc -crf 19 -preset slow -c:a aac -b:a 192k -ac 2 .\MVI_3796.AVI
ffmpeg.exe -hwaccel cuvid -i IMG_2616.MOV -c:v h264_nvenc -crf 19 -preset slow -c:a aac -b:a 192k -ac 2 IMG_2616.AVI
# HW decoder + encoder (faster, less CPU)
ffmpeg.exe -hwaccel cuda -i IMG_2616.MOV -c:v h264_nvenc -crf 19 -preset slow -c:a aac -b:a 192k -ac 2 IMG_2616.AVI
ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i IMG_2616.MOV -crf 19 -preset slow -c:a aac -b:a 192k -ac 2 IMG_2616.AVI
ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -vsync 0 -i MVI_3796.MOV -vcodec h264_nvenc MVI_3796.AVI
ffmpeg -h encoder=nvenc
# deprecated
ffmpeg -hwaccel cuvid -i "IMG_2616.MOV" -c:v h264_nvenc -preset llhq -profile:v high -rc ll_2pass_quality -an -b:v 2.4M -pass 1 -2pass -1 "IMG_2616.high.avi"
ffmpeg -hwaccel cuvid -i "IMG_2616.MOV" -c:v h264_nvenc -preset llhq -profile:v high -rc ll_2pass_quality -acodec copy -b:v 2.4M -pass 2 -2pass -1 -y "IMG_2616.high.avi"
# with correct plugin
ffmpeg -hwaccel cuvid -i "IMG_2616.MOV" -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -an -b:v 2.4M -pass 1 -2pass -1 "IMG_2616.high_cbr.avi"
ffmpeg -hwaccel cuvid -i "IMG_2616.MOV" -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -acodec copy -b:v 2.4M -pass 2 -2pass -1 -y "IMG_2616.high_cbr.avi"
# with audio compression
# ffmpeg -hwaccel cuvid -i "IMG_2616.MOV" -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -b:v 2.4M -pass 1 -2pass -1 -an "IMG_2616.high_cbr_aac.avi"
# ffmpeg -hwaccel cuvid -i "IMG_2616.MOV" -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -b:v 2.4M -pass 2 -2pass -1 -y -c:a aac -b:a 192k -ac 2 "IMG_2616.high_cbr_aac.avi"
# with correct plugin
ffmpeg -hwaccel cuvid -i "IMG_2616.MOV" -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -an -b:v 4M -pass 1 -2pass -1 "IMG_2616.high_cbr4M.avi"
ffmpeg -hwaccel cuvid -i "IMG_2616.MOV" -c:v h264_nvenc -preset llhq -profile:v high -rc cbr_ld_hq -acodec copy -b:v 4M -pass 2 -2pass -1 -y "IMG_2616.high_cbr4M.avi"
DVD :
ffmpeg.exe -i concat:"z:\tmp\GRAND_INCENDIE_DE_PONTYPANDY___71-1.vob|z:\tmp\GRAND_INCENDIE_DE_PONTYPANDY___71-1.vob" -vf yadif -c:v libx264 -crf 28 -preset slow -c:a aac -b:a 128k -ac 2 C:\Work\Sam_le_Pompier.mp4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment