diff --git a/vid_convert.py b/vid_convert.py index c62dcb2..7ed0127 100755 --- a/vid_convert.py +++ b/vid_convert.py @@ -188,17 +188,18 @@ def convert_video(file, infos, crf, crop, enc_options, interlaced, vhs): track = infos['video']['index'] codec = 'libsvtav1' svtav1_params = enc_options - hdr = '' if interlaced: crop = f"{crop},yadif" if vhs: crop = f"{crop},hqdn3d,unsharp=5:5:0.8:3:3:0.4" + color_args = '' if 'side_data_list' in infos['video'].keys(): try: light_level = f"{infos['video']['side_data_list'][1]['max_content']},{infos['video']['side_data_list'][1]['max_average']}" color_primaries = infos['video']['color_primaries'] color_transfer = infos['video']['color_transfer'] color_space = infos['video']['color_space'] + color_args = f'-color_primaries {color_primaries} -color_trc {color_transfer} -colorspace {color_space}' green_x = infos['video']['side_data_list'][0]['green_x'].split('/') green_x = int(int(green_x[0])*(int(green_x[1])/50000)) green_y = infos['video']['side_data_list'][0]['green_y'].split('/') @@ -239,7 +240,7 @@ def convert_video(file, infos, crf, crop, enc_options, interlaced, vhs): else: svtav1_params = hdr10plus_param svtav1_args = f'-svtav1-params {svtav1_params}' if svtav1_params else '' - command = f'ffmpeg -loglevel error -i {file} -map 0:{track} -an -sn -c:v {codec} {svtav1_args} -crf {crf} -pix_fmt {fmt} -filter:v {crop} -y {output}' + command = f'ffmpeg -loglevel error -i {file} -map 0:{track} -an -sn -c:v {codec} {svtav1_args} -crf {crf} -pix_fmt {fmt} {color_args} -filter:v {crop} -y {output}' logging.info("Encodage vidéo en cours (AV1-SVT)...") logging.debug(command) result = subprocess.getoutput(command)