Hello guest, if you like this forum, why don't you register? https://fanrestore.com/member.php?action=register (December 14, 2021) x


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
x264 BD compliant "perfect" settings
Can anyone help getting these settings in a FFMPEG command line? Im encoding a prores master on a mac.
Reply
Thanks given by:
(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"
Reply
Thanks given by:
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 ?
Reply
Thanks given by:
(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!"
Reply
Thanks given by:
@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).
Reply
Thanks given by:
(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 Smile

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 Smile
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.
Reply
Thanks given by:
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! Big Grin

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! Ok
Reply
Thanks given by: jaminmc
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.
Reply
Thanks given by:
I do not use handbrake, sorry... Sad
Reply
Thanks given by:
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.
Reply
Thanks given by:


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Help] Best Topaz Video Enhance settings ? mysun 6 1,298 2024-10-24, 01:01 PM
Last Post: SHM
  [Help] How to convert Dolby Vision Profile 8 to 7 to make it UHD BD compliant? Red41804 5 487 2024-10-24, 12:59 PM
Last Post: SHM
  xvYCC for x264 nightstalkerpoet 10 9,110 2023-03-15, 10:42 PM
Last Post: Falcon
  x265 UHD-BD compliant "perfect" settings spoRv 18 16,977 2021-12-06, 06:12 PM
Last Post: bronan
  I want to change AR, do I have to re-encode? If so, how can I keep original settings? Onti 3 2,462 2021-07-14, 06:28 PM
Last Post: Onti
  x264 - filesize output calculator for 2-pass and CRF ? loa 7 5,464 2020-08-05, 10:30 PM
Last Post: spoRv
  NVenc Test Settings Chewtobacca 2 2,511 2020-08-04, 07:56 PM
Last Post: Chewtobacca
  [Idea] x264 BD compliant "perfect" settings - faster version spoRv 26 21,400 2020-05-11, 08:36 PM
Last Post: Stamper
  Handbrake settings - question JackForrester 3 3,432 2020-03-21, 09:25 PM
Last Post: deleted user
  x264 encoding from Adobe Premiere DoomBot 26 20,683 2019-03-25, 08:26 PM
Last Post: jaminmc

Forum Jump:


Users browsing this thread: 9 Guest(s)