Posts: 27
Threads: 2
Joined: 2017 Jul
Thanks: 0
Given 5 thank(s) in 5 post(s)
Country:
Can anyone help getting these settings in a FFMPEG command line? Im encoding a prores master on a mac.
Posts: 16
Threads: 2
Joined: 2015 Nov
Thanks: 6
Given 1 thank(s) in 1 post(s)
Country:
2018-10-13, 06:03 PM
(This post was last modified: 2018-10-13, 06:03 PM by dvdboy.)
(2018-10-13, 02:31 AM)Chewielewis Wrote: Can anyone help getting these settings in a FFMPEG command line? Im encoding a prores master on a mac.
Try this, line breaks added to readability. I've not explored two-pass encoding with FFMPEG:
Code: ffmpeg -i "Path\To\Source"
-map 0:v
-c:v libx264 -level:v 4.1 -tune film -crf 18 -r 24000/1001
-x264opts bluray-compat=1:vbv-maxrate=40000:vbv-bufsize=30000:keyint=24:open-gop=1:slices=4:colorprim=bt709:transfer=bt709:colormatrix=bt709:sar=1/1
"Path\To\Output.264"
Posts: 5
Threads: 0
Joined: 2018 Sep
Thanks: 0
Given 0 thank(s) in 0 post(s)
Country:
2019-03-19, 04:01 PM
(This post was last modified: 2019-03-19, 04:01 PM by h666.)
hey,
sometimes my commandline freezes during encoding ( for example 15% during 1st pass or 73% during second pass) and I don't know why because it doesn't generate any error logs.
So now I'm going to switch to the Simple-x264-Launcher so that if something is wrong I can see exactly why.
I read through this thread but to make shure I got everything right I try to make a summary what to configure in Simple-x264-Launcher
Architecture: 32-bit
Variant: 8-bit
Mode: 2-Pass
Target Bitrate: for example 25000 (BD25)
Preset: slow
Tuning: Film
Profile: high
Custom Encoder Parameters:
--bluray-compat --level 4.1 --threads 12 --tune film --keyint 24 --sar 1:1 --slices 4 --vbv-bufsize 30000 --vbv-maxrate 40000 --b-pyramid none --weightp 0 --colorprim bt709 --transfer bt709 --colormatrix bt709 --merange 24
My CPU is a Intel Core i7-6800K (6x 3.40GHz) so chosing "--threads 12" should be ok right ?
I don't need to include the " --stats ".stats" " commands do I ?
Posts: 4
Threads: 0
Joined: 2019 Mar
Thanks: 1
Given 0 thank(s) in 0 post(s)
Country:
(2018-10-13, 02:31 AM)Chewielewis Wrote: Can anyone help getting these settings in a FFMPEG command line? Im encoding a prores master on a mac.
Here is my script I made!
You will need to install mediainfo for this script to work.
`brew install mediainfo` will work if you use Homebrew.
Should also work on Linux
My default is to make the video with cfr=16. Also, after looking at the keyframe distance of "The Greatest Showman", it has the keyframes set at a distance of 48, when the framerate is 24000/1001 (23.976) so I just modified my script to do the keyframes as 2 seconds (2x fps rounded to integer. so 30x2 for 29.97) For years it has been said that Bluray keyframe distance should be 1 second, or = to FPS as a Integer.
I have options for Watermarking, audio, and other things I needed over the years I have been making Bluray's
It also does bitrate, and 2pass options for it.
Code: #/bin/sh
q=16
max=40M
Interlace=0
bitrate=0
flags=""
while getopts ":q:r:21lnocb:ivs:h8w:7dt:" opt; do
case $opt in
h)
echo "usage: br [options] infile [outfile]
Default will add a suffix of -br to output file in the same location as source if there is no output specified.
-q Sets the quality of output. 16 is the default, and is visually lossless. Higher the number, the more it will be compressed.
This is the same as -crf in FFMPEG.
-c Crops the image to 1920x1080. Usefull for encoding 1:85 flat DCP video to Blu-Ray
-b Set bitrate for video. IE \"-b 25M\" will make your bitrate 25 Mbps
-l Resize and Letterbox to 1080p
-m Set Max bitrate. Default is 40M. Use -d for DVD-R.
-d If you intend on making Blu-rays that are burned onto DVD-r's. This sets the max bitrate to 17M instead of the norm of 40M
-2 Use with -b to make a 2 pass
-n Don't make Audio files
-7 Make output 720p
-8 Crop frame to 185
-o Open GOP
-i Make the output Interlaced. It will detect if source is interlaced, and set this automatically if it does.
-t Enable Timecode burn-in
-w Add watermark to video. like this \"-w /Volumes/MyDrive/Watermark.png\" -- Can't have spaces in the command!
-s Delay start by this many seconds. IE \"-S 10\" will start the encode 10 seconds into the source.
-v Enable very slow profile for x264.
"
exit 1
;;
q)
echo "Setting Quality to $OPTARG"
q=$OPTARG
;;
c)
echo "Cropping enabled from higher than 1080 res."
ffextra="-filter:v scale=-1:1080,crop=1920:1080"
;;
l)
echo "Making video fit to 1080p and Letterboxing"
ffextra="-filter:v scale=1920:-1,pad=iw:1080:0:(oh-ih)/2"
;;
r)
echo "Setting Res to $OPTARG"
ffextra="-s $OPTARG $ffextra"
;;
b)
echo "Setting Bitrate to $OPTARG"
ffextra="-b:v ${OPTARG} $ffextra"
bitrate=1
bitr="${OPTARG}"
;;
m)
echo "Setting Max Bitrate to $OPTARG"
max=$OPTARG
;;
1)
echo "2 Pass compression enabled, Skipping pass 1!!"
nofirstpass=1
;;
2)
echo "2 Pass compression enabled!!"
twopass=1
;;
n)
noaudio=1
;;
o)
echo "Enabling Open-GOP"
ffextra="-flags -cgop $ffextra"
;;
7)
is720=1
;;
8)
echo "cropping to 185 aspect"
ffextra="-vf crop=1920:804,pad=1920:1080:0:130 $ffextra"
;;
i)
echo "Making sure it stays interlaced."
x2extra=":tff=1"
ffextra="-flags +ildct+ilme -top 1 $ffextra"
Interlace=1
;;
d)
echo "Compressing for DVD-R."
max=20M
;;
t)
t=1
;;
w)
echo "Adding Watermark $OPTARG"
# ffextraw="-i $OPTARG -filter_complex overlay,crop=1920:1080"
ffextraw="-i $OPTARG -filter_complex overlay,crop=1920:1080,pad=1920:1080:0:130"
watermark=1
;;
s)
echo "Starting $OPTARG seconds in source"
ffextrapre="-ss $OPTARG $ffextrapre"
;;
v)
echo "Setting very slow profile for x264."
ffextra="-preset veryslow $ffextra"
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
shift $((OPTIND-1))
if [[ "$2" = "" ]]; then
if [[ $watermark = 1 ]]; then
out="${1%.*}-br-Watermarked.m4v"
elif [[ $bitrate = 1 ]]; then
out="${1%.*}-br-v$bitr.m4v"
else
out="${1%.*}-br-crf$q.m4v"
fi
echo "No target specified. Using source with -br appended. $2"
else
if [[ $watermark = 1 ]]; then
out="${2%.*}-Watermarked.m4v"
else
out="${2%.*}.m4v"
fi
fi
infile="$1"
fps=$(mediainfo --Inform="Video;%FrameRate%" "$infile" | awk '{printf("%d\n",$1 + 0.5)}')
fpsr=$(mediainfo --Inform="Video;%FrameRate%" "$infile" )
iframe=$(( $fps * 2 ))
echo "Detected I frame distance is \"$fps\""
if [[ $(mediainfo "$infile" | grep Audio) = "" ]]; then
noaudio=1
fi
if [[ $fps = 25 ]]; then
if [[ $(ffmpeg $ffextrapre -i "$infile" 2>&1 | grep x720) != "" ]]; then
ffextra="-r 60 $ffextra"
fi
fi
if [[ $is720 = 1 ]]; then
if ([[ $fps = 30 ]] || [[ $fps = 25 ]]) && [[ $(mediainfo "$infile" | grep -m 1 "Scan type" | sed -e 's/.*:\ //') = "Interlaced" ]]; then
echo "Detected Interlaced Source!!!!"
echo "Resizing to 720p and Deinterlacing to double frame rate"
if [[ $( mediainfo --Inform="Video;%ScanOrder%" "$infile" ) = "BFF" ]]; then
ffextra="$ffextra -filter:v yadif=1:1,scale=1280:720"
else
ffextra="$ffextra -filter:v yadif=1:0,scale=1280:720"
fi
iframe=$(( $iframe * 2 ))
echo "Doubling frame rate... I frame distance is now \"$iframe\""
else
echo "Resizing to 720p"
ffextra="-s 1280x720 $ffextra"
fi
fi
if [[ $t = 1 ]]; then
if [[ $(ffmpeg $ffextrapre -i "$infile" 2>&1 | awk '$1 ~ /^timecode/ {print $NF}') != "" ]]; then
tc="$(ffmpeg $ffextrapre -i "$infile" 2>&1 | awk '$1 ~ /^timecode/ {print $NF}')"
tc=${tc//:/\\:}
else
tc='00:00:00:00'
tc=${tc//:/\\:}
fi
fi
echo " \$infile=$infile"
echo " \$2=$2"
echo " \$out=$out"
echo " \$3=$3"
if [[ $bitrate = 1 ]]; then
echo "Bitrate is $bitr"
else
ffextra="-crf $q $ffextra"
twopass=0
echo "Quality is $q"
fi
if [[ $(mediainfo --Inform="Audio;%Channels%" "$infile") > 2 ]]; then
echo "Audio is greater than Stereo, Raising audio bitrate"
ffaex="-b:a 384k"
else
ffaex="-b:a 192k"
fi
if ([[ $fps = 30 ]] || [[ $fps = 25 ]]) && [[ $( mediainfo --Inform="Video;%ScanType%" "$infile" ) != "Progressive" ]] && [[ $is720 != 1 ]]; then
echo "Detected Interlaced Source!!!!"
echo "Making sure it stays interlaced."
if [[ $( mediainfo --Inform="Video;%ScanOrder%" "$infile" ) = "BFF" ]]; then
ffextra="-flags +ildct+ilme -top 0 $ffextra"
x2extra=":bff=1"
Interlace=1
else
ffextra="-flags +ildct+ilme -top 1 $ffextra"
x2extra=":tff=1"
Interlace=1
fi
elif ([[ $fps = 30 ]] || [[ $fps = 25 ]]) && [[ $Interlace = 0 ]]; then
echo "Didn not Detect Interlaced. Will encode Fake Interlaced..."
fi
if [ -e "${out%.*}.h264" ]; then
rm "${out%.*}.h264" "${out%.*}.m4v"
fi
echo "Extra ffmpeg options: $ffextrapre $ffextra"
echo "Extra x264 options: $x2extra"
outtemp="/tmp/${out##*/}"
if [[ $t = 1 ]]; then
if [[ $twopass != 1 ]]; then
echo "ffmpeg $ffextrapre -i \"$infile\" -vf \"drawtext=fontfile=/Library/Fonts/AppleGothic.ttf: text='$(basename \"$infile\") ': timecode='$tc': r=$fpsr: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1\" -pix_fmt yuv420p -an -y -metadata xmp=\"\" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709\"$x2extra\" -maxrate:v \"$max\" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 \"${out%.*}.m4v\""
ffmpeg $ffextrapre -i "$infile" -vf "drawtext=fontfile=/Library/Fonts/AppleGothic.ttf: text='$(basename "$infile") ': timecode='$tc': r=$fpsr: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" -pix_fmt yuv420p -an -y -metadata xmp="" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709"$x2extra" -maxrate:v "$max" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 "${out%.*}.m4v"
if [[ $noaudio != 1 ]]; then
ffmpeg $ffextrapre -i "$infile" "${out%.*}.ac3" -vn $ffaex -y "${out%.*}.m4a" -map 0:a -c pcm_s24le -rf64 auto "${out%.*}.wav"
fi
else
if [[ $nofirstpass != 1 ]]; then
echo "Pass 1"
echo "ffmpeg $ffextrapre -i \"$infile\" -vf \"drawtext=fontfile=/Library/Fonts/AppleGothic.ttf: text='$(basename \"$infile\") ': timecode='$tc': r=$fpsr: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1\" -pix_fmt yuv420p -an -y -metadata xmp=\"\" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709\"$x2extra\" -maxrate:v \"$max\" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 -pass 1 -passlogfile \"${out%.*}.tmp\" \"${out%.*}.m4v\""
ffmpeg $ffextrapre -i "$infile" -vf "drawtext=fontfile=/Library/Fonts/AppleGothic.ttf: text='$(basename "$infile") ': timecode='$tc': r=$fpsr: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" -pix_fmt yuv420p -an -y -metadata xmp="" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709"$x2extra" -maxrate:v "$max" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 -pass 1 -passlogfile "${out%.*}.tmp" "${out%.*}.m4v"
fi
echo "Pass 2"
echo "ffmpeg $ffextrapre -i \"$infile\" -vf \"drawtext=fontfile=/Library/Fonts/AppleGothic.ttf: text='$(basename \"$infile\") ': timecode='$tc': r=$fpsr: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1\" -pix_fmt yuv420p -an -y -metadata xmp=\"\" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709\"$x2extra\" -maxrate:v \"$max\" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 -pass 2 -passlogfile \"${out%.*}.tmp\" \"${out%.*}.m4v\""
ffmpeg $ffextrapre -i "$infile" -vf "drawtext=fontfile=/Library/Fonts/AppleGothic.ttf: text='$(basename "$infile") ': timecode='$tc': r=$fpsr: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" -pix_fmt yuv420p -an -y -metadata xmp="" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709"$x2extra" -maxrate:v "$max" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 -pass 2 -passlogfile "${out%.*}.tmp" "${out%.*}.m4v"
if [[ $noaudio != 1 ]]; then
ffmpeg $ffextrapre -i "$infile" "${out%.*}.ac3" -vn $ffaex -y "${out%.*}.m4a" -map 0:a -c pcm_s24le -rf64 auto "${out%.*}.wav"
fi
fi
elif ([[ $fps = 30 ]] || [[ $fps = 25 ]]) && [[ $Interlace = 0 ]] && [[ $is720 != 1 ]]; then
echo "Progressive ${fpsr}P Video encoding with fake interlace!"
if [[ $twopass != 1 ]]; then
echo "ffmpeg $ffextrapre -i \"$infile\" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp=\"\" -loglevel verbose -bluray-compat 1 -x264opts fake-interlaced=1:colorprim=bt709:transfer=bt709:colormatrix=bt709\"$x2extra\" -maxrate:v \"$max\" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 \"${out%.*}.m4v\""
ffmpeg $ffextrapre -i "$infile" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp="" -loglevel verbose -bluray-compat 1 -x264opts fake-interlaced=1:colorprim=bt709:transfer=bt709:colormatrix=bt709"$x2extra" -maxrate:v "$max" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 "${out%.*}.m4v"
if [[ $noaudio != 1 ]]; then
ffmpeg $ffextrapre -i "$infile" "${out%.*}.ac3" -vn $ffaex -y "${out%.*}.m4a" -map 0:a -c pcm_s24le -rf64 auto "${out%.*}.wav"
fi
else
echo "Pass 1"
echo "ffmpeg $ffextrapre -i \"$infile\" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp=\"\" -loglevel verbose -bluray-compat 1 -x264opts fake-interlaced=1:colorprim=bt709:transfer=bt709:colormatrix=bt709\"$x2extra\" -maxrate:v \"$max\" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 -pass 1 -passlogfile \"${out%.*}.tmp\" \"${outtemp%.*}.m4v\""
ffmpeg $ffextrapre -i "$infile" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp="" -loglevel verbose -bluray-compat 1 -x264opts fake-interlaced=1:colorprim=bt709:transfer=bt709:colormatrix=bt709"$x2extra" -maxrate:v "$max" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 -pass 1 -passlogfile "${out%.*}.tmp" "${outtemp%.*}.m4v"
echo "Pass 2"
echo "ffmpeg $ffextrapre -i \"$infile\" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp=\"\" -loglevel verbose -bluray-compat 1 -x264opts fake-interlaced=1:colorprim=bt709:transfer=bt709:colormatrix=bt709\"$x2extra\" -maxrate:v \"$max\" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 -pass 2 -passlogfile \"${out%.*}.tmp\" \"${out%.*}.m4v\""
ffmpeg $ffextrapre -i "$infile" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp="" -loglevel verbose -bluray-compat 1 -x264opts fake-interlaced=1:colorprim=bt709:transfer=bt709:colormatrix=bt709"$x2extra" -maxrate:v "$max" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 -pass 2 -passlogfile "${out%.*}.tmp" "${out%.*}.m4v"
if [[ $noaudio != 1 ]]; then
ffmpeg $ffextrapre -i "$infile" "${out%.*}.ac3" -vn $ffaex -y "${out%.*}.m4a" -map 0:a -c pcm_s24le -rf64 auto "${out%.*}.wav"
fi
rm "${out%.*}.tmp"* "${outtemp%.*}.m4v"
fi
else
if [[ $twopass != 1 ]]; then
echo "ffmpeg $ffextrapre -i \"$infile\" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp=\"\" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709\"$x2extra\" -maxrate:v \"$max\" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 \"${out%.*}.m4v\""
ffmpeg $ffextrapre -i "$infile" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp="" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709"$x2extra" -maxrate:v "$max" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 "${out%.*}.m4v"
if [[ $noaudio != 1 ]]; then
ffmpeg $ffextrapre -i "$infile" "${out%.*}.ac3" -vn $ffaex -y "${out%.*}.m4a" -map 0:a -c pcm_s24le -rf64 auto "${out%.*}.wav"
fi
else
echo "Pass 1"
echo "ffmpeg $ffextrapre -i \"$infile\" -pass:v 1 -passlogfile \"${out%.*}.tmp\" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp=\"\" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709\"$x2extra\" -maxrate:v \"$max\" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 \"${outtemp%.*}.m4v\""
ffmpeg $ffextrapre -i "$infile" -pass:v 1 -passlogfile "${out%.*}.tmp" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp="" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709"$x2extra" -maxrate:v "$max" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 /dev/null
echo "Pass 2"
echo "ffmpeg $ffextrapre -i \"$infile\" -pass:v 2 -passlogfile \"${out%.*}.tmp\" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp=\"\" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709\"$x2extra\" -maxrate:v \"$max\" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 \"${out%.*}.m4v\""
ffmpeg $ffextrapre -i "$infile" -pass:v 2 -passlogfile "${out%.*}.tmp" $ffextraw -pix_fmt yuv420p -an -y -metadata xmp="" -loglevel verbose -bluray-compat 1 -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709"$x2extra" -maxrate:v "$max" -g $iframe $ffextra -bufsize:v 30M -level 4.1 -slices 4 -f h264 -aspect 16:9 "${out%.*}.m4v"
if [[ $noaudio != 1 ]]; then
ffmpeg $ffextrapre -i "$infile" "${out%.*}.ac3" -vn $ffaex -y "${out%.*}.m4a" -map 0:a -c pcm_s24le -rf64 auto "${out%.*}.wav"
fi
rm "${out%.*}.tmp"* "${outtemp%.*}.m4v"
fi
fi
say "$(basename "$out") is done!"
Posts: 7,153
Threads: 601
Joined: 2015 Jan
Thanks: 1081
Given 1466 thank(s) in 963 post(s)
Country:
@ jaminmc: well, using CFR instead of a given bitrate will defeat the purpose of the "perfect settings" to get a given sized file to be put on BD (or other physical media).
Posts: 4
Threads: 0
Joined: 2019 Mar
Thanks: 1
Given 0 thank(s) in 0 post(s)
Country:
(2019-03-25, 06:41 PM)spoRv Wrote: @jaminmc: well, using CFR instead of a given bitrate will defeat the purpose of the "perfect settings" to get a given sized file to be put on BD (or other physical media).
The other reply was using -crf 18. My script does both CRF and BITRATE limiting, so if you are trying to get a perfect size, you can
I tend to have to make new Bluray's for the same project, multiple revisions. If you can find the sweet crf number, it makes making those disks a lot faster! Like the last film I worked on -q 12 (same as -crf) is perfect! then others, i need -q 18.
For the final for Authoring for a release, I could do a multiple pass encode at say -2 -b 25M, and it will be spot on, with a constant quality being bitrate constrained. the max the Video bitrate can be with my script is 40M, the Bluray max spec.
"Perfect Settings" is subjective for the purposes you are encoding for
I have incorporated all the perfect settings I could find for all the needs I have had for Blu-ray encoding.
Just like how I discovered that Major Studios are using 2xfps for their GOP's so I modified my script for that.
I am a Colorist, and Editor. (Technically I wear many hats) I went the FFMpeg route, as the h264 encodes from Adobe Media Encoder have always been lacking in quality. FFMpeg (x264) does such a better job.
Posts: 7,153
Threads: 601
Joined: 2015 Jan
Thanks: 1081
Given 1466 thank(s) in 963 post(s)
Country:
The fact is, if you need, let's say, a 20GB video (that, added to audio and subtracks, and including m2ts overhead, will lead to 23GB and something, just to fill out a BD-25), with CRF you can't be sure to get 20GB - instead, for example, you can get 20.1GB that will not fit the disc, hence, even if faster, you are forced to encode it again...
And yes, "perfect settings" just for our purposes!
Colorist, editor? Welcome! Why don't you post your skills on the Presentation forum? We always need "new blood" - even better if new members could actively improve our knowledge, as supposedly you can!
Posts: 2,712
Threads: 48
Joined: 2015 Jan
Thanks: 1647
Given 963 thank(s) in 613 post(s)
Sporv, how do I reencode 4K in h264 1080p with the fastest settings in handbrake?
For some reason, handbrake has the file blocked at 1920x1080 even though it 2.39:1 and I crop the black bars.
Posts: 7,153
Threads: 601
Joined: 2015 Jan
Thanks: 1081
Given 1466 thank(s) in 963 post(s)
Country:
I do not use handbrake, sorry...
Posts: 2,712
Threads: 48
Joined: 2015 Jan
Thanks: 1647
Given 963 thank(s) in 613 post(s)
Settings are the same you posted in #1 I just copy paste them LOL
But I cannot get why I can't produce a 1920x820 file.
|