Where a new hobby and technology intersect.
My adventure into software development began as a personal pursuit, driven by a desire to understand how the digital tools and platforms I use in my creative work function on a deeper level. This curiosity led me to dabble in various programming languages and experiment with creating some small, yet exciting and helpful projects. Although I am by no means a professional developer, I’ve managed to create a handful of projects that I’m particularly proud of. These range from some simple computer applications to some more complicated, patent-pending web applications. Each represents a step in my self-taught journey in coding. In this section, you’ll find some projects that I’ve worked on in my spare time.
ATEM Auto Switcher (Video Follows Audio)
In my journey into software development, one of the first projects that I completed was an Automated Camera Switching System designed for Blackmagic ATEM video switchers. This project was born out of a need to streamline video production efforts for Create Hope Studios’ video podcast production suite at New Hope Community Church. The podcast production suite is an environment where a dynamic, multi-camera setup is essential, but human resources to operate the video switching is usually limited, with a single person acting as the producer for the entire podcast.
The core functionality of this software hinges on intelligent audio-based switching (called VFA or Video Follows Audio). It utilizes several key factors to determine which camera feed to broadcast:
Audio Level Detection: The system continuously monitors the audio levels coming into the switcher from each camera.
Sustained Audio Duration: It doesn’t just react to fleeting audio spikes or someone saying “yeah,” “great,” or “okay” briefly. Instead, the software gauges the duration of sustained audio levels to make a calculated decision about which camera feed to take.
Audio Comparison: By comparing the audio levels of all inputs, the system identifies the most prominent audio source at any given moment.
Threshold-Based Switching: If an audio input consistently exceeds the levels of others for a set duration, the software automatically switches to that input, ensuring that the focus is always on the main speaker or sound source.
Wide Shot Transition: In scenarios where multiple audio inputs reach a predefined threshold and sustain that level for a sufficient duration, the system has the ability to switch to a camera positioned for a wider shot, capturing multiple speakers or participants.
Scalability: One of the remarkable features of this system is in its scalability. It efficiently operates across all available inputs on an ATEM switcher, regardless of the number of cameras involved.
Development Framework: This project was developed using the Blackmagic ATEM SDK, which provided the necessary tools and interfaces to integrate seamlessly with our production environment.
I believe that this software represents a significant stride in making video production more efficient and intelligent. It’s particularly useful in settings like panel discussions, podcasts, and interviews, where the focus can shift rapidly between multiple speakers. By automating the switching process in a reliable and calculated manner, this system not only reduces the workload on production teams, but also ensures a smooth and professional viewing experience.
Video Directing Suite Launcher and Automation
In an effort to streamline the video production process for Sunday morning live stream services at New Hope Community Church, I developed a specialized Video Directing Suite Launcher and Automation tool. This project was specifically designed to address the unique needs of our church’s video directors, ensuring a smooth and efficient setup for each service.
Key features of this system include:
Streamlined Live Stream Creation: The tool automates the entire live stream setup process. It configures the stream with essential details such as the speaker’s name, the sermon title, and the sermon series and sorts recordings appropriately across multiple platforms (New Hope’s website, app, Facebook, and YouTube channel).
Multi-Platform Publishing: Once the stream is set up, it automatically publishes the scheduled stream to various platforms including our church’s website, mobile app, Facebook, and YouTube. This ensures a broad and accessible reach for our congregation and online viewers.
Efficient Program Loading and Positioning: Recognizing the challenges of managing multiple software tools, the system not only loads all required programs for streaming but also positions them optimally on a dual monitor setup. This feature significantly reduces the prep time and potential errors in manual setup.
Program-Specific Settings Configuration: To maintain consistency and quality in our streams, the tool automatically loads settings within specific programs that are tailored for Sunday morning services. This includes color correction profiles and other essential configurations that enhance the visual quality of our live streams.
This Video Directing Suite Launcher and Automation tool represents a significant technological advancement for New Hope Community Church, allowing our video directors to focus more on the creative aspects of production rather than the technical setup. By reducing setup time and automating critical processes, it ensures that our Sunday services are broadcasted seamlessly, delivering the best quality stream that we can to our congregation and viewers nationwide.
AI-Driven Website Automatic Content Update Platform (under development and patent pending)
I am currently in the development stages of an exciting project that truly represents the cutting edge of website content management and optimization. The system leverages the power of Natural Language Models (NLMs), and advanced server-side applications to revolutionize how websites update and present their content.
At the heart of this project is the concept of a website that is not static in nature, but dynamically and ever-evolving. The system continuously monitors a wide array of factors, including search trends, industry trends, industry-specific social media trends, seasonal changes, time of day, and even local weather patterns. Based on this data, it utilizes an NLM to intelligently rewrite and reorganize website content to maintain the same overall brand message, but to also insert keywords the appropriate amount for SEO, as well as dynamically reorganize content on the site itself. The goal is to ensure that the content is not only up-to-date but also highly relevant and tailored to maximize user engagement and conversion rates.