feat: profils d'encodage SVT-AV1 par type de contenu
- Défaut (BluRay live action) : tune=0 + film-grain=8 + enable-qm=1:qm-min=0:scd=1 - --animation : tune=2 (SSIM, meilleur pour aplats/contours) + film-grain=4 (dithering) - --vhs : tune=0 + irefresh-type=1 + enable-tf=0 (source débruitée, pas de film-grain) - enable-qm=1:qm-min=0 et scd=1 appliqués à tous les profils (gains gratuits) - --animation est maintenant fonctionnel Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -57,4 +57,4 @@ Fichier unique : `vid_convert.py`. Flux d'exécution séquentiel :
|
|||||||
- **Fichier de sortie** : `NEW_{nom_source}.mkv`, généré dans le même répertoire que la source. Les fichiers temporaires (`_video.mkv`, `_audio_*.mka`, `_subtitle_*.mkv`) sont supprimés après assemblage.
|
- **Fichier de sortie** : `NEW_{nom_source}.mkv`, généré dans le même répertoire que la source. Les fichiers temporaires (`_video.mkv`, `_audio_*.mka`, `_subtitle_*.mkv`) sont supprimés après assemblage.
|
||||||
- **Fichiers temporaires orphelins** : en cas d'interruption, les intermédiaires peuvent rester dans le répertoire de la source. Les supprimer manuellement si besoin.
|
- **Fichiers temporaires orphelins** : en cas d'interruption, les intermédiaires peuvent rester dans le répertoire de la source. Les supprimer manuellement si besoin.
|
||||||
- **HDR10+ et conteneur source** : `hevc_mp4toannexb` est appliqué uniquement pour les sources MP4/MOV (pas MKV) lors de l'extraction HDR10+ par `hdr10plus_parser`.
|
- **HDR10+ et conteneur source** : `hevc_mp4toannexb` est appliqué uniquement pour les sources MP4/MOV (pas MKV) lors de l'extraction HDR10+ par `hdr10plus_parser`.
|
||||||
- **`--animation` non fonctionnel** : le flag est parsé mais n'a pas d'effet (tune=0 est utilisé pour tous les contenus). Conservé pour compatibilité future.
|
- **Profils d'encodage par contenu** : les flags `--animation` et `--vhs` modifient `enc_options` passé à SVT-AV1. Défaut (BluRay live action) : `tune=0:film-grain=8`. Animation : `tune=2:film-grain=4`. VHS : `tune=0:irefresh-type=1:enable-tf=0` (pas de film-grain, source déjà débruitée par hqdn3d).
|
||||||
|
|||||||
@@ -322,7 +322,13 @@ if __name__ == '__main__':
|
|||||||
stabilization(file)
|
stabilization(file)
|
||||||
cropsize = cropping(file, infos)
|
cropsize = cropping(file, infos)
|
||||||
volumes = volume_audio(file, infos)
|
volumes = volume_audio(file, infos)
|
||||||
enc_options = 'preset=3:tune=0'
|
base = 'preset=3:enable-qm=1:qm-min=0:scd=1'
|
||||||
|
if args.animation:
|
||||||
|
enc_options = f'{base}:tune=2:film-grain=4'
|
||||||
|
elif args.vhs:
|
||||||
|
enc_options = f'{base}:tune=0:irefresh-type=1:enable-tf=0'
|
||||||
|
else:
|
||||||
|
enc_options = f'{base}:tune=0:film-grain=8'
|
||||||
is_hdr = 'side_data_list' in infos['video'] or 'hdr10plus' in infos['video']
|
is_hdr = 'side_data_list' in infos['video'] or 'hdr10plus' in infos['video']
|
||||||
crf = find_crf(file, enc_options, hdr=is_hdr)
|
crf = find_crf(file, enc_options, hdr=is_hdr)
|
||||||
for track in infos['subtitles']:
|
for track in infos['subtitles']:
|
||||||
|
|||||||
Reference in New Issue
Block a user