[FFmpeg-user] How to Transcode HEVC HDR to SVT-AV1 HDR?

Robin v. d. Linden rsm.vanderlinden at gmail.com
Fri Oct 28 23:20:09 EEST 2022


 Hello,

I'm currently trying to encode a mp4 containing a HEVC 10 Bit stream with
proper HDR grading to a HLS stream in two codec versions, the first is HEVC
and the second is SVT-AV1. The problem here is that the two encoded
versions differ from each other according to the color grading. The SVT-AV1
version looks much colder compared to the HEVC grading.

These are my commands:

SVT-AV1

/usr/bin/ffmpeg -i "/tmp/VODProcessing/testclip.m4v" -map 0:0 -c:v
libsvtav1 -b:v 4718592 -maxrate:v 4954521 -bufsize 18874368 -vf
zscale=width=3840:height=1600 -svtav1-params
"enable-hdr=1:input-depth=10:fast-decode=1:color-primaries=9:transfer-characteristics=16:matrix-coefficients=9:mastering-display=G(0.265,0.69)B(0.15,0.06)R(0.68,0.32)WP(0.3127,0.329)L(4000.0,0.005):content-light=368,226"
-pix_fmt yuv420p10le -max_muxing_queue_size 1024 -profile:v main -preset 7
-crf 20 -keyint_min 48 -g 48 -use_timeline 1 -use_template 1 -seg_duration
6 -strict experimental -map_metadata -1 -map_chapters -1 -f hls -hls_time 6
-streaming 1 -hls_list_size 0  -hls_segment_filename
"/tmp/VODProcessing/output/testclip/v-av01-2160p-av01.0.12H.10/f-%04d.m4s"
 -hls_fmp4_init_filename "init-v-av01-2160p-av01.0.12H.10.m4s"
 -hls_segment_type fmp4 -movflags
frag_every_frame+delay_moov+skip_trailer+faststart -hls_flags
independent_segments
"/tmp/VODProcessing/output/testclip/v-av01-2160p-av01.0.12H.10/master.m3u8"



X265

/usr/bin/ffmpeg -i "/tmp/VODProcessing/testclip.m4v" -map 0:0 -c:v libx265
-b:v 6291456 -maxrate:v 6606028 -bufsize 25165824 -vf
zscale=width=3840:height=1600 -x265-params
"hdr-opt=1:repeat-headers=1:colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc:master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(40000000,50):max-cll=368,226"
-pix_fmt yuv420p10le -profile:v main10 -bf 0 -crf 16 -preset fast
-keyint_min 48 -g 48 -use_timeline 1 -use_template 1 -seg_duration 6 -tune
fastdecode -vtag hvc1 -map_metadata -1 -map_chapters -1 -f hls -hls_time 6
-streaming 1 -hls_list_size 0  -hls_segment_filename
"/tmp/VODProcessing/output/testclip/v-hevc-2160p-hvc1.2.4.L150.B0/f-%04d.m4s"
 -hls_fmp4_init_filename "init-v-hevc-2160p-hvc1.2.4.L150.B0.m4s"
 -hls_segment_type fmp4 -movflags
frag_every_frame+delay_moov+skip_trailer+faststart -hls_flags
independent_segments
"/tmp/VODProcessing/output/testclip/v-hevc-2160p-hvc1.2.4.L150.B0/master.m3u8"


I'm using the following script to get the grading:
https://pastebin.com/AZdKbPEL
But to me, it seems that the encoder ignores these values, talking about
SVT-AV1.
Can somebody provide a little help here?

-- 
Kind regards,

Robin van der Linden


More information about the ffmpeg-user mailing list