diff --git a/CHANGELOG.md b/CHANGELOG.md index f7e8544..6c583c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. Changes are grouped by the date they are merged to the main branch of the repository and are ordered from newest to oldest. Dates use the ISO 8601 extended calendar date format, i.e. YYYY-MM-DD. +## 2024-11-29 + +- Fix to Handbrake encoding harness. + ## 2024-11-20 - Add Alan Wake 2 test harness. diff --git a/handbrake/handbrake.py b/handbrake/handbrake.py index 998a2f7..4983b51 100644 --- a/handbrake/handbrake.py +++ b/handbrake/handbrake.py @@ -30,27 +30,27 @@ logging.basicConfig( ) ENCODER_TO_PRESET = { - "h264 (cpu)": { + "h264_cpu": { "file": f"{SCRIPT_DIR}\\presets\\h264_bigbuckbunny_1080p_cpu_test.json", "name": "\"CPU 1080p BBB H264\"" }, - "h265 (cpu)": { + "h265_cpu": { "file": f"{SCRIPT_DIR}\\presets\\h265_bigbuckbunny_1080p_cpu_test.json", "name": "\"CPU 1080p BBB H265\"" }, - "av1 (cpu)": { + "av1_cpu": { "file": f"{SCRIPT_DIR}\\presets\\av1-svt_bigbuckbunny_1080p_cpu_test.json", "name": "\"CPU 1080p BBB AV1\"" }, - "h264 (nvenc)": { + "h264_nvenc": { "file": f"{SCRIPT_DIR}\\presets\\h264_nvenc_bigbuckbunny_1080p_gpu_test.json", "name": "\"NVENC 1080p BBB H264\"" }, - "h265 (nvenc)": { + "h265_nvenc": { "file": f"{SCRIPT_DIR}\\presets\\h265_nvenc_bigbuckbunny_1080p_gpu_test.json", "name": "\"NVENC 1080p BBB H265\"" }, - "av1 (nvenc)": { + "av1_nvenc": { "file": f"{SCRIPT_DIR}\\presets\\av1-nvenc_bigbuckbunny_1080p_gpu_test.json", "name": "\"NVENC 1080p BBB AV1\"" } diff --git a/handbrake/manifest.yaml b/handbrake/manifest.yaml index d9801f9..f51f27c 100644 --- a/handbrake/manifest.yaml +++ b/handbrake/manifest.yaml @@ -7,10 +7,10 @@ options: - name: encoder type: select values: - - h264 (cpu) - - h265 (cpu) - - av1 (cpu) - - h264 (nvenc) - - h265 (nvenc) - - av1 (nvenc) + - h264_cpu + - h265_cpu + - av1_cpu + - h264_nvenc + - h265_nvenc + - av1_nvenc tooltip: Select which preset to use diff --git a/handbrake/presets/av1-nvenc_bigbuckbunny_1080p_gpu_test.json b/handbrake/presets/av1-nvenc_bigbuckbunny_1080p_gpu_test.json new file mode 100644 index 0000000..85534ef --- /dev/null +++ b/handbrake/presets/av1-nvenc_bigbuckbunny_1080p_gpu_test.json @@ -0,0 +1,111 @@ +{ + "PresetList": [ + { + "AlignAVStart": true, + "AudioCopyMask": [ + "copy:aac" + ], + "AudioEncoderFallback": "av_aac", + "AudioLanguageList": [], + "AudioList": [ + { + "AudioBitrate": 160, + "AudioCompressionLevel": 0, + "AudioEncoder": "av_aac", + "AudioMixdown": "stereo", + "AudioNormalizeMixLevel": false, + "AudioSamplerate": "auto", + "AudioTrackQualityEnable": false, + "AudioTrackQuality": -1, + "AudioTrackGainSlider": 0, + "AudioTrackDRCSlider": 0 + } + ], + "AudioSecondaryEncoderMode": true, + "AudioTrackSelectionBehavior": "first", + "ChapterMarkers": true, + "ChildrenArray": [], + "Default": false, + "FileFormat": "av_mp4", + "Folder": false, + "FolderOpen": false, + "Optimize": false, + "Mp4iPodCompatible": false, + "PictureCropMode": 0, + "PictureBottomCrop": 0, + "PictureLeftCrop": 0, + "PictureRightCrop": 0, + "PictureTopCrop": 0, + "PictureDARWidth": 1920, + "PictureDeblockPreset": "off", + "PictureDeblockTune": "medium", + "PictureDeblockCustom": "strength=strong:thresh=20:blocksize=8", + "PictureDeinterlaceFilter": "decomb", + "PictureCombDetectPreset": "default", + "PictureCombDetectCustom": "", + "PictureDeinterlacePreset": "default", + "PictureDeinterlaceCustom": "", + "PictureDenoiseCustom": "", + "PictureDenoiseFilter": "off", + "PictureSharpenCustom": "", + "PictureSharpenFilter": "off", + "PictureSharpenPreset": "medium", + "PictureSharpenTune": "none", + "PictureDetelecine": "off", + "PictureDetelecineCustom": "", + "PictureColorspacePreset": "off", + "PictureColorspaceCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", + "PictureChromaSmoothCustom": "", + "PictureItuPAR": false, + "PictureKeepRatio": true, + "PicturePAR": "auto", + "PicturePARWidth": 1, + "PicturePARHeight": 1, + "PictureWidth": 1920, + "PictureHeight": 1080, + "PictureUseMaximumSize": true, + "PictureAllowUpscaling": false, + "PictureForceHeight": 0, + "PictureForceWidth": 0, + "PicturePadMode": "none", + "PicturePadTop": 0, + "PicturePadBottom": 0, + "PicturePadLeft": 0, + "PicturePadRight": 0, + "PresetName": "NVENC 1080p BBB AV1", + "PresetDescription": "This is the standard preset for our GPU NVenc encoding test for AV1 Big Buck Bunny at 1080p", + "Type": 1, + "SubtitleAddCC": false, + "SubtitleAddForeignAudioSearch": true, + "SubtitleAddForeignAudioSubtitle": false, + "SubtitleBurnBehavior": "foreign", + "SubtitleBurnBDSub": false, + "SubtitleBurnDVDSub": false, + "SubtitleLanguageList": [], + "SubtitleTrackSelectionBehavior": "none", + "VideoAvgBitrate": 0, + "VideoColorMatrixCode": 0, + "VideoEncoder": "nvenc_av1", + "VideoFramerateMode": "cfr", + "VideoGrayScale": false, + "VideoScaler": "swscale", + "VideoPreset": "slow", + "VideoTune": "", + "VideoProfile": "main", + "VideoLevel": "5.1", + "VideoOptionExtra": "", + "VideoQualityType": 2, + "VideoQualitySlider": 20, + "VideoMultiPass": true, + "VideoTurboMultiPass": true, + "x264UseAdvancedOptions": false, + "PresetDisabled": false, + "MetadataPassthrough": true + } + ], + "VersionMajor": 53, + "VersionMicro": 0, + "VersionMinor": 0 +} \ No newline at end of file diff --git a/handbrake/presets/h264_nvenc_bigbuckbunny_1080p_gpu_test.json b/handbrake/presets/h264_nvenc_bigbuckbunny_1080p_gpu_test.json new file mode 100644 index 0000000..a81550a --- /dev/null +++ b/handbrake/presets/h264_nvenc_bigbuckbunny_1080p_gpu_test.json @@ -0,0 +1,110 @@ +{ + "PresetList": [ + { + "AlignAVStart": true, + "AudioCopyMask": [ + "copy:aac" + ], + "AudioEncoderFallback": "av_aac", + "AudioLanguageList": [], + "AudioList": [ + { + "AudioBitrate": 160, + "AudioCompressionLevel": 0, + "AudioEncoder": "av_aac", + "AudioMixdown": "stereo", + "AudioNormalizeMixLevel": false, + "AudioSamplerate": "auto", + "AudioTrackQualityEnable": false, + "AudioTrackQuality": -1, + "AudioTrackGainSlider": 0, + "AudioTrackDRCSlider": 0 + } + ], + "AudioSecondaryEncoderMode": true, + "AudioTrackSelectionBehavior": "first", + "ChapterMarkers": true, + "ChildrenArray": [], + "Default": false, + "FileFormat": "av_mp4", + "Folder": false, + "FolderOpen": false, + "Optimize": false, + "Mp4iPodCompatible": false, + "PictureCropMode": 0, + "PictureBottomCrop": 0, + "PictureLeftCrop": 0, + "PictureRightCrop": 0, + "PictureTopCrop": 0, + "PictureDARWidth": 1920, + "PictureDeblockPreset": "off", + "PictureDeblockTune": "medium", + "PictureDeblockCustom": "strength=strong:thresh=20:blocksize=8", + "PictureDeinterlaceFilter": "decomb", + "PictureCombDetectPreset": "default", + "PictureCombDetectCustom": "", + "PictureDeinterlacePreset": "default", + "PictureDeinterlaceCustom": "", + "PictureDenoiseCustom": "", + "PictureDenoiseFilter": "off", + "PictureSharpenCustom": "", + "PictureSharpenFilter": "off", + "PictureSharpenPreset": "medium", + "PictureSharpenTune": "none", + "PictureDetelecine": "off", + "PictureDetelecineCustom": "", + "PictureColorspacePreset": "off", + "PictureColorspaceCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", + "PictureChromaSmoothCustom": "", + "PictureItuPAR": false, + "PictureKeepRatio": true, + "PicturePAR": "auto", + "PicturePARWidth": 1, + "PicturePARHeight": 1, + "PictureWidth": 1920, + "PictureHeight": 1080, + "PictureUseMaximumSize": true, + "PictureAllowUpscaling": false, + "PictureForceHeight": 0, + "PictureForceWidth": 0, + "PicturePadMode": "none", + "PicturePadTop": 0, + "PicturePadBottom": 0, + "PicturePadLeft": 0, + "PicturePadRight": 0, + "PresetName": "NVENC 1080p BBB H264", + "Type": 1, + "SubtitleAddCC": false, + "SubtitleAddForeignAudioSearch": true, + "SubtitleAddForeignAudioSubtitle": false, + "SubtitleBurnBehavior": "foreign", + "SubtitleBurnBDSub": false, + "SubtitleBurnDVDSub": false, + "SubtitleLanguageList": [], + "SubtitleTrackSelectionBehavior": "none", + "VideoAvgBitrate": 0, + "VideoColorMatrixCode": 0, + "VideoEncoder": "nvenc_h264", + "VideoFramerateMode": "cfr", + "VideoGrayScale": false, + "VideoScaler": "swscale", + "VideoPreset": "slow", + "VideoTune": "", + "VideoProfile": "high", + "VideoLevel": "5.1", + "VideoOptionExtra": "", + "VideoQualityType": 2, + "VideoQualitySlider": 20, + "VideoMultiPass": true, + "VideoTurboMultiPass": true, + "x264UseAdvancedOptions": true, + "PresetDisabled": false, + "MetadataPassthrough": true + } + ], + "VersionMajor": 53, + "VersionMicro": 0, + "VersionMinor": 0 +} \ No newline at end of file diff --git a/handbrake/presets/h265_nvenc_bigbuckbunny_1080p_gpu_test.json b/handbrake/presets/h265_nvenc_bigbuckbunny_1080p_gpu_test.json new file mode 100644 index 0000000..4d31257 --- /dev/null +++ b/handbrake/presets/h265_nvenc_bigbuckbunny_1080p_gpu_test.json @@ -0,0 +1,110 @@ +{ + "PresetList": [ + { + "AlignAVStart": true, + "AudioCopyMask": [ + "copy:aac" + ], + "AudioEncoderFallback": "av_aac", + "AudioLanguageList": [], + "AudioList": [ + { + "AudioBitrate": 160, + "AudioCompressionLevel": 0, + "AudioEncoder": "av_aac", + "AudioMixdown": "stereo", + "AudioNormalizeMixLevel": false, + "AudioSamplerate": "auto", + "AudioTrackQualityEnable": false, + "AudioTrackQuality": -1, + "AudioTrackGainSlider": 0, + "AudioTrackDRCSlider": 0 + } + ], + "AudioSecondaryEncoderMode": true, + "AudioTrackSelectionBehavior": "first", + "ChapterMarkers": true, + "ChildrenArray": [], + "Default": false, + "FileFormat": "av_mp4", + "Folder": false, + "FolderOpen": false, + "Optimize": false, + "Mp4iPodCompatible": false, + "PictureCropMode": 0, + "PictureBottomCrop": 0, + "PictureLeftCrop": 0, + "PictureRightCrop": 0, + "PictureTopCrop": 0, + "PictureDARWidth": 1920, + "PictureDeblockPreset": "off", + "PictureDeblockTune": "medium", + "PictureDeblockCustom": "strength=strong:thresh=20:blocksize=8", + "PictureDeinterlaceFilter": "decomb", + "PictureCombDetectPreset": "default", + "PictureCombDetectCustom": "", + "PictureDeinterlacePreset": "default", + "PictureDeinterlaceCustom": "", + "PictureDenoiseCustom": "", + "PictureDenoiseFilter": "off", + "PictureSharpenCustom": "", + "PictureSharpenFilter": "off", + "PictureSharpenPreset": "medium", + "PictureSharpenTune": "none", + "PictureDetelecine": "off", + "PictureDetelecineCustom": "", + "PictureColorspacePreset": "off", + "PictureColorspaceCustom": "", + "PictureChromaSmoothPreset": "off", + "PictureChromaSmoothTune": "none", + "PictureChromaSmoothCustom": "", + "PictureItuPAR": false, + "PictureKeepRatio": true, + "PicturePAR": "auto", + "PicturePARWidth": 1, + "PicturePARHeight": 1, + "PictureWidth": 1920, + "PictureHeight": 1080, + "PictureUseMaximumSize": true, + "PictureAllowUpscaling": false, + "PictureForceHeight": 0, + "PictureForceWidth": 0, + "PicturePadMode": "none", + "PicturePadTop": 0, + "PicturePadBottom": 0, + "PicturePadLeft": 0, + "PicturePadRight": 0, + "PresetName": "NVENC 1080p BBB H265", + "Type": 1, + "SubtitleAddCC": false, + "SubtitleAddForeignAudioSearch": true, + "SubtitleAddForeignAudioSubtitle": false, + "SubtitleBurnBehavior": "foreign", + "SubtitleBurnBDSub": false, + "SubtitleBurnDVDSub": false, + "SubtitleLanguageList": [], + "SubtitleTrackSelectionBehavior": "none", + "VideoAvgBitrate": 0, + "VideoColorMatrixCode": 0, + "VideoEncoder": "nvenc_h265", + "VideoFramerateMode": "cfr", + "VideoGrayScale": false, + "VideoScaler": "swscale", + "VideoPreset": "slow", + "VideoTune": "", + "VideoProfile": "main", + "VideoLevel": "5.1", + "VideoOptionExtra": "", + "VideoQualityType": 2, + "VideoQualitySlider": 20, + "VideoMultiPass": true, + "VideoTurboMultiPass": true, + "x264UseAdvancedOptions": false, + "PresetDisabled": false, + "MetadataPassthrough": true + } + ], + "VersionMajor": 53, + "VersionMicro": 0, + "VersionMinor": 0 +} \ No newline at end of file