Skip to content

Instantly share code, notes, and snippets.

@cobaltgit
Last active September 25, 2025 17:34
Show Gist options
  • Select an option

  • Save cobaltgit/c63fa898559f6a484696dbe8efb3f510 to your computer and use it in GitHub Desktop.

Select an option

Save cobaltgit/c63fa898559f6a484696dbe8efb3f510 to your computer and use it in GitHub Desktop.
Handbrake preset for 640x480 handheld emulator consoles

Handbrake Preset for 480p Handheld Consoles

This is a Handbrake preset designed with cheap emulation handhelds (640x480p screen, mono speaker) in mind, including but not limited to the Anbernic RG-35XX family and the Miyoo Mini/A30, as these usually feature built-in media player apps.

We are using H.264 video (for best compatibility and CPU load) encoded with a CRF value of 19 for good compression to quality ratio, however this can be changed by the user as they wish. (higher RF = higher compression, lower RF = higher quality) Opus audio is being used as it is the most efficient codec at the bitrate set (64kbps per channel is near-transparent) without having to compile Handbrake with support for Fraunhofer's AAC encoder for HE-AAC

Some additional settings are enabled that can be changed by the user:

  • Tune: defaults to None, however I recommend Film for live-action and realistic CGI content (i.e. Transformers), or Animation for 2D animation and less realistic CGI content (i.e. Toy Story and other earlier majority-CGI films)
  • Deinterlace filter: only use this for interlaced content, you may disable it if you wish to spare encoding time on progressive scan content
{
"PresetList": [
{
"AlignAVStart": false,
"AudioCopyMask": [
"copy:aac"
],
"AudioEncoderFallback": "av_aac",
"AudioLanguageList": [],
"AudioList": [
{
"AudioBitrate": 64,
"AudioCompressionLevel": 0,
"AudioEncoder": "opus",
"AudioMixdown": "mono",
"AudioNormalizeMixLevel": false,
"AudioSamplerate": "auto",
"AudioTrackQualityEnable": false,
"AudioTrackQuality": -1,
"AudioTrackGainSlider": 0,
"AudioTrackDRCSlider": 0
}
],
"AudioSecondaryEncoderMode": true,
"AudioTrackSelectionBehavior": "first",
"ChapterMarkers": false,
"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": 640,
"PictureDeblockPreset": "off",
"PictureDeblockTune": "medium",
"PictureDeblockCustom": "strength=strong:thresh=20:blocksize=8",
"PictureDeinterlaceFilter": "decomb",
"PictureCombDetectPreset": "default",
"PictureCombDetectCustom": "",
"PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureSharpenCustom": "",
"PictureSharpenFilter": "off",
"PictureSharpenPreset": "medium",
"PictureSharpenTune": "none",
"PictureDetelecine": "off",
"PictureDetelecineCustom": "",
"PictureColorspacePreset": "bt709",
"PictureColorspaceCustom": "",
"PictureChromaSmoothPreset": "off",
"PictureChromaSmoothTune": "none",
"PictureChromaSmoothCustom": "",
"PictureItuPAR": false,
"PictureKeepRatio": true,
"PicturePAR": "none",
"PicturePARWidth": 1,
"PicturePARHeight": 1,
"PictureWidth": 640,
"PictureHeight": 480,
"PictureUseMaximumSize": true,
"PictureAllowUpscaling": false,
"PictureForceHeight": 0,
"PictureForceWidth": 0,
"PicturePadMode": "none",
"PicturePadTop": 0,
"PicturePadBottom": 0,
"PicturePadLeft": 0,
"PicturePadRight": 0,
"PicturePadColor": "black",
"PresetDescription": "Handbrake preset for handheld consoles with 640x480 displays and mono speakers (e.g. RG-35XX, Miyoo Mini Plus). Contains H.264 video and Opus mono audio",
"PresetName": "640x480 Handheld",
"Type": 1,
"SubtitleAddCC": false,
"SubtitleAddForeignAudioSearch": true,
"SubtitleAddForeignAudioSubtitle": false,
"SubtitleBurnBehavior": "foreign",
"SubtitleBurnBDSub": false,
"SubtitleBurnDVDSub": false,
"SubtitleLanguageList": [],
"SubtitleTrackSelectionBehavior": "none",
"VideoAvgBitrate": 0,
"VideoColorMatrixCode": 0,
"VideoEncoder": "x264",
"VideoFramerateMode": "vfr",
"VideoGrayScale": false,
"VideoScaler": "swscale",
"VideoPreset": "veryslow",
"VideoTune": "",
"VideoProfile": "high",
"VideoLevel": "3.2",
"VideoOptionExtra": "",
"VideoQualityType": 2,
"VideoQualitySlider": 19,
"VideoMultiPass": true,
"VideoTurboMultiPass": false,
"x264UseAdvancedOptions": false,
"PresetDisabled": false,
"MetadataPassthrough": true
}
],
"VersionMajor": 56,
"VersionMicro": 0,
"VersionMinor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment