Bit Goblin video transcoder
Go to file
Gregory Ballantine 6bce649458
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
Version bump to v0.3.1
2022-05-20 08:10:17 -04:00
src Added ability for the transcoder to determine if a video file is open in another program to avoid trying to transcode/remove a partially written file; reworked the main transcode loop to handle one file at a time instead of archiving everything, then transcoding, then cleanup 2022-05-20 07:58:52 -04:00
.gitignore Updated log4j config to output to both a log file and console; added local logs to .gitignore since we don't need to sync logs 2022-05-06 15:33:24 -04:00
.woodpecker.yml Added lsof to maven test docker image 2022-05-20 08:08:40 -04:00
LICENSE Created a Java w/ Maven project structure; added a simple directory creation and executes an FFMPEG command to transcode videos 2022-04-30 20:12:32 -04:00
pom.xml Version bump to v0.3.1 2022-05-20 08:10:17 -04:00
README.md Added ability to configure the transcoding job with some parameters in dragoon.toml 2022-05-02 23:46:21 -04:00

Dragoon

The Bit Goblin video transcoder.

Building

Currently this project is targeting Java 11 LTS and uses Maven to manage the software lifecycle. Thus, you must have a Java 11 JDK and Maven installed to build this project.

NOTE: The targeted Java version will likely change to 17 LTS soon.

Ubuntu

sudo apt install openjdk-11-jdk maven

Red Hat/Almalinux

sudo dnf install java-11-openjdk-devel maven

Actually Building

Now that the needed tools are installed, you should be able to build this project. To build a JAR file with it's dependencies included:

mvn clean compile assembly:single

Then you can run the transcoder:

java -jar target/Dragon-VERSION-jar-with-dependencies.jar

Configuration

If you were paying attention to Dragoon's output, you would have noticed that it failed with a complaint about not finding a configuration file. The location might move in the future or even be configurable, but for now you need to have a TOML file located at ~/.config/dragoon.toml with at minimum the following contents:

# This example transcodes footage to DNxHD 1080p60 for use in video editors like DaVinci Resolve.
[transcoder]
repo_path = '~/videos' # location of the videos to transcode
video_format = 'mov' # video container format
video_codec = 'dnxhd' # video codec to use
video_parameters = 'scale=1920x1080,fps=60,format=yuv422p' # video extra format parameters flag - this will be broken later into separate attributes
video_profile = 'dnxhr_hq' # DNxHD has multiple presets for various video qualities
audio_codec = 'pcm_s16le' # audio codec to use