File tree Expand file tree Collapse file tree 8 files changed +208
-6
lines changed Expand file tree Collapse file tree 8 files changed +208
-6
lines changed Original file line number Diff line number Diff line change 1+ name : Build AAC Encoder Plugin
2+
3+ on :
4+ push :
5+ branches : [ main, master ]
6+ pull_request :
7+ branches : [ main, master ]
8+
9+ jobs :
10+ build :
11+ runs-on : ubuntu-latest
12+ steps :
13+ - uses : actions/checkout@v3
14+ - name : Install dependencies
15+ run : |
16+ sudo apt-get update
17+ sudo apt-get install -y build-essential pkg-config libavcodec-dev libavutil-dev
18+ - name : Build plugin
19+ run : |
20+ make clean && make
21+ ./build.sh
22+ - name : Prepare artifact
23+ run : |
24+ mkdir -p artifact
25+ cp -r aac_encoder_plugin.dvcp.bundle artifact/
26+ - name : Upload artifact
27+ uses : actions/upload-artifact@v3
28+ with :
29+ name : aac_encoder_plugin-bundle
30+ path : artifact/aac_encoder_plugin.dvcp.bundle
Original file line number Diff line number Diff line change 1+ name : Release AAC Encoder Plugin
2+
3+ on :
4+ push :
5+ tags :
6+ - ' *'
7+
8+ jobs :
9+ build-and-release :
10+ runs-on : ubuntu-latest
11+ steps :
12+ - uses : actions/checkout@v3
13+ - name : Install dependencies
14+ run : |
15+ sudo apt-get update
16+ sudo apt-get install -y build-essential pkg-config libavcodec-dev libavutil-dev
17+ - name : Build plugin
18+ run : |
19+ make clean && make
20+ ./build.sh
21+ - name : Prepare release artifact
22+ run : |
23+ mkdir -p release_bundle
24+ cp -r aac_encoder_plugin.dvcp.bundle release_bundle/
25+ cp install.sh release_bundle/
26+ cp README_RELEASE.md release_bundle/README.txt
27+ - name : Archive release bundle
28+ run : |
29+ cd release_bundle
30+ tar czf ../aac_encoder_plugin-linux-bundle.tar.gz *
31+ - name : Create GitHub Release
32+ uses : softprops/action-gh-release@v2
33+ with :
34+ files : aac_encoder_plugin-linux-bundle.tar.gz
35+ generate_release_notes : true
Original file line number Diff line number Diff line change 11build /
2- bin /
2+ bin /
3+ aac_encoder_plugin.dvcp.bundle /
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ $(OBJDIR)/%.o: %.cpp
3333
3434$(TARGET ) :
3535 $(CC ) $(OBJDIR ) /* .o $(LDFLAGS ) -o $(TARGET )
36- install -Dm755 $(TARGET ) /opt/resolve/IOPlugins/aac_encoder_plugin.dvcp.bundle/Contents/Linux-x86-64/aac_encoder_plugin.dvcp
36+ # install -Dm755 $(TARGET) /opt/resolve/IOPlugins/aac_encoder_plugin.dvcp.bundle/Contents/Linux-x86-64/aac_encoder_plugin.dvcp
3737
3838clean : clean-subdirs
3939 rm -rf $(OBJDIR )
Original file line number Diff line number Diff line change 1+ # DaVinci Resolve FFmpeg AAC Audio Encoder Plugin
2+
3+ This project is a DaVinci Resolve audio encoder plugin for AAC using FFmpeg.
4+ It builds a plugin compatible with the IOPlugins system of DaVinci Resolve Studio (Free doesn't support plugins) for Linux.
5+
6+ ## Features
7+ - AAC encoding using FFmpeg
8+
9+ ## Requirements
10+ - DaVinci Resolve Studio (FREE does NOT support plugins!)
11+ - FFmpeg
12+
13+ ------------
14+
15+ ## Build Requirements
16+ - Linux x86-64
17+ - C++ compiler (g++ >= 9 recommended)
18+ - FFmpeg development libraries (` libavcodec-dev ` , ` libavutil-dev ` )
19+ - CMake (if you want to use it)
20+ - Make
21+
22+ ### Install dependencies (Ubuntu/Debian example)
23+ ```
24+ sudo apt update
25+ sudo apt install build-essential pkg-config libavcodec-dev libavutil-dev
26+ ```
27+
28+ ## Build
29+
30+ To build the plugin and package it for DaVinci Resolve:
31+
32+ ```
33+ ./build.sh
34+ ```
35+
36+ The output will be in:
37+ ```
38+ aac_encoder_plugin.dvcp.bundle/Contents/Linux-x86-64/aac_encoder_plugin.dvcp
39+ ```
40+
41+ ## Install
42+
43+ To install the plugin into DaVinci Resolve:
44+
45+ ```
46+ sudo ./install.sh
47+ ```
48+
49+ This will copy the plugin bundle to ` /opt/resolve/IOPlugins ` .
50+
51+ ---
52+
53+ ## License
54+ GPLv3
Original file line number Diff line number Diff line change 1+ AAC Encoder Plugin for DaVinci Resolve (Linux)
2+ ===============================================
3+
4+ This archive contains:
5+ - aac_encoder_plugin.dvcp.bundle/ (plugin bundle folder)
6+ - install.sh (installer script)
7+ - README.txt (this file)
8+
9+ How to install:
10+ ---------------
11+ Run the installer. The plugin will be installed to /opt/resolve/IOPlugins:
12+ ./install.sh
13+
14+ Or you can manally copy aac_encoder_plugin.dvcp.bundle folder to /opt/resolve/IOPlugins
15+
16+
17+ Requirements:
18+ -------------
19+ - DaVinci Resolve Studio (FREE does NOT support plugins!)
20+ - FFmpeg
21+
22+ After installation, restart DaVinci Resolve.
Original file line number Diff line number Diff line change 1- #! /usr/bin/bash
2- rm -rf build
3- rm -rf bin
4- make
1+ #! /bin/bash
2+ set -e
3+
4+ # Build the plugin and package it into the correct bundle structure
5+ PLUGIN_NAME=" aac_encoder_plugin.dvcp"
6+ BUNDLE_DIR=" aac_encoder_plugin.dvcp.bundle/Contents/Linux-x86-64"
7+
8+ # Clean previous build
9+ rm -rf aac_encoder_plugin.dvcp.bundle
10+ mkdir -p " $BUNDLE_DIR "
11+
12+ # Build (assumes Makefile produces $PLUGIN_NAME in current dir or bin/)
13+ make clean && make
14+
15+ # Copy the built plugin to the bundle
16+ if [ -f " bin/$PLUGIN_NAME " ]; then
17+ cp " bin/$PLUGIN_NAME " " $BUNDLE_DIR /"
18+ elif [ -f " $PLUGIN_NAME " ]; then
19+ cp " $PLUGIN_NAME " " $BUNDLE_DIR /"
20+ else
21+ echo " Error: $PLUGIN_NAME not found after build."
22+ exit 1
23+ fi
24+
25+ echo " Bundle created at $BUNDLE_DIR /$PLUGIN_NAME "
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ set -e
3+
4+ PLUGIN_BUNDLE=" aac_encoder_plugin.dvcp.bundle"
5+ PLUGIN_BUNDLE_FULL_PATH=" $PLUGIN_BUNDLE /Contents/Linux-x86-64/aac_encoder_plugin.dvcp"
6+ PLUGIN_PATH=" /opt/resolve/IOPlugins/$PLUGIN_BUNDLE /Contents/Linux-x86-64"
7+ IOPLUGINS_DIR=" /opt/resolve/IOPlugins"
8+
9+ # Check ffmpeg presence
10+ if ! command -v ffmpeg > /dev/null 2>&1 ; then
11+ echo " Error: ffmpeg is not installed or not in PATH. Please install ffmpeg."
12+ exit 10
13+ fi
14+
15+ if [ ! -f " $PLUGIN_BUNDLE_FULL_PATH " ]; then
16+ echo " Error: $PLUGIN_BUNDLE_FULL_PATH not found. Please build or extract the plugin bundle first."
17+ exit 2
18+ fi
19+
20+ # Try to create IOPlugins dir if not exists, check write access
21+ if [ ! -d " $IOPLUGINS_DIR " ]; then
22+ if ! mkdir -p " $IOPLUGINS_DIR " 2> /dev/null; then
23+ echo " No write access to $IOPLUGINS_DIR . Trying with sudo..."
24+ sudo mkdir -p " $IOPLUGINS_DIR "
25+ fi
26+ fi
27+
28+ # Try to create target path and copy plugin, fallback to sudo if needed
29+ if ! mkdir -p " $PLUGIN_PATH " 2> /dev/null; then
30+ echo " No write access to $PLUGIN_PATH . Trying with sudo..."
31+ sudo mkdir -p " $PLUGIN_PATH "
32+ fi
33+
34+ if ! cp " $PLUGIN_BUNDLE_FULL_PATH " " $PLUGIN_PATH /" 2> /dev/null; then
35+ echo " No write access to $PLUGIN_PATH . Trying with sudo..."
36+ sudo cp " $PLUGIN_BUNDLE_FULL_PATH " " $PLUGIN_PATH /"
37+ fi
38+
39+ echo " Plugin successfully installed to $PLUGIN_PATH /aac_encoder_plugin.dvcp"
You can’t perform that action at this time.
0 commit comments