SoMe-Portal Helper Script for Resolve (Linux)
Description
Like in my previous post, I wanted to address one of Resolve’s shortcoming on Linux. As the proprietary AAC codec is not included, it can’t decode nor encode files with AAC audio. So, I wrote a little script to bridge this gap.

The script will let you add the active timeline to its queue with a few export settings, a bit like the render queue in Resolve. The big difference is that it first creates an intermediate file of your timeline through the Resolve renderer. Once Resolve has finished, it then sends that file to ffmpeg to create a delivery file with codecs not available in Resolve on Linux.
Intermediate files can be encoded with these video codecs
- ProRes 422
- ProRes 422 HQ
- DNxHD 220/185/175 10-bit
- DNxHR HQX 10-bit
Audio is encoded with a selection of Linear PCM 16 bit to 32 bit.
The particular export focus is of course the AAC audio codec. For now, it provides 4 the render presets for 4 Social Media platforms:
- YouTube Standard
- YouTube HQ
- Vimeo
The script creates clever queue groups. It puts deliveries from the same timeline together so that the same inter file is used for the conversion. It also uses intermediate settings as grouping criteria, so if you want your Instagram delivery come from ProRes 422 and your YouTube delivery from DNxHR, you can do this with the same rendering queue.
If you do that however, I do advise to use separate sub folders as files could get skipped or overwritten, depending on the settings. Even though the script takes care of file naming of the intermediate files according to the settings, deliveries with the same name can occur.
There are, of course, solutions like HandBrake that can also do this for you. This script is however comfortably integrated into Resolve, let’s you setup your deliveries and then it takes care of your exports in one go.
These two sources were invaluable for this project:
https://extremraym.com/cloud/resolve-scripting-doc/#overview
https://resolvedevdoc.readthedocs.io/en/latest/index.html
The script comes with 3 files that are needed to make it run:
- SoMe-Portal v1.x.py – the main python script
- Inter Baseline.xml – a baseline render preset for Resolve
- ffmpeg_args.json – the settings the script uses for ffmpeg
Put the content of the zip file in
~/.local/share/DaVinciResolve/Fusion/Scripts/Deliver/
or which ever sub-folder you like, then launch it from the Scripts menu in Resolve. On first start, the script creates SoMe-Portal_settings.json to store your settings.
Give it a try, I am happy to receive feedback.
Full disclosure: I did use the aid of GPT 5.6 Sol for this script. I wrote the majority of it myself but needed AI support to navigate some of the weird UI API parts, a bit of help with Python (as I am still quite new to that language) and to clean up some of the mess I made while testing. I do make a point to always understand the generated code and not blindly paste it into my script.
As a next step, I am planning to create a “Custom Profile” window where you can customize and fine tune your export settings. This is quite a bit more work to do properly. It will take me a while to add it, so be patient.
This script is Linux only.
Update Log:
v1.2.3188 – Added resolution to the render settings. For Instagram, the script checks if the timeline is within the specifications for Insta Reels and throws a descriptive error if that is not the case.
v1.3.3182 – The script now checks for uneven resolution numbers and shows an error dialog window. Also fixed a folder creation bug when sending jobs.
Replace all the files in the script folder with the ones in the zip file.
updated on 2026/09/02
This script is free of charge. If you like the script and it is useful in your production, please consider supporting me on ko-fi so I can keep supporting this script and develop more tools for you. Thank you! ❤️
IMPORTANT: I am a hobby coder. Although I tested the script to the best of my abilities and incorporated the help of a fellow Resolve user, bugs are still possible. Use the script responsibly. Loss of data is unlikely, I can not be held responsible in such a case.


