DEV Community

Cover image for Code Against the Clock: Automating the youtube shorts creation
Boopathi
Boopathi

Posted on • Updated on

Code Against the Clock: Automating the youtube shorts creation

Welcome back to "Code Against the Clock!" blog series where I’ll reveal how I turned my most boring tasks into streamlined, time-saving machines. I’ll share the exact steps I took to automate these chores and the cool tricks I discovered along the way. Ready to see how you can save time and make life a bit more exciting? Let’s dive in and get your tasks on autopilot!

A Solution to Balancing Content Creation with Busy Schedules

Today, I'll be sharing how I automated YouTube shorts for my channel. I've been running my YouTube channel for over two years, actively posting videos about teaching programming languages during my college days. However, when I entered my final year, I found it challenging to dedicate time to posting videos regularly. I didn't want my channel to stagnate, so I decided to automate video creation.

The Idea

My initial idea was to create videos featuring code writing with background music, requiring minimal human intervention. Then, I thought, why not create animations or cartoons using HTML and CSS, and add background music? You can check out one of my videos here which make use of automation.

A screenshot of final output

Output
The Challenge

I initially planned to use Python's PyAutoGUI library in laptop, but I realized it would be more challenging than I anticipated. So, I decided to learn about automating Android apps and discovered the Android Debug Bridge (ADB), a versatile command-line tool that lets you communicate with a device.

Breaking Down the Problem

I chose to work with ADB and found a Python library ppadb that helps interact with it. I came up with an algorithm that would guide my script's logic:

The Algorithm

Step 1: Initialize Android Device Connection

To start, I need to establish a connection to the Android device using the ppadb library. This will allow me to set up the device for automation and perform subsequent actions.

Step 2: Write HTML Code

Next, I need to write HTML code to the Android device's web page editor. I'll create a string containing the HTML code and use the writeHTML function to send it to the device.

Step 3: Write CSS Code

After that, I need to write CSS code to the Android device's CSS editor. I'll split the CSS code into individual styles using the splitme separator and write each style to the device using the writeCss function.

Step 4: Write JavaScript Code

Then, I need to write JavaScript code to the Android device's JavaScript editor. I'll create a string containing the JavaScript code and use the writeJs function to send it to the device (although this functionality is not implemented in this code).

Step 5: Start Video Recording

Next, I need to start a video recording on the Android device using the videoStart function. This will capture the device's screen activity.

Step 6: Wait for Animations to Complete

After starting the video recording, I need to wait for a specified amount of time (5 seconds in this code) to allow any animations to complete.

Step 7: Stop Video Recording

Once the animations have completed, I need to stop the video recording on the Android device using the videoStop function.

Step 8: Retrieve Video from Android Device

Then, I need to retrieve the recorded video from the Android device using the getVideoToSys function.

Step 9: Process Video

After retrieving the video, I need to process it using the editVideo function which will run a javascript program as subprocess in python and the javascript use fluent-ffmpeg lib to add backgrround music to the video

Step 10: Upload Video to Android Device

Finally, I need to upload the processed video back to the Android device using the putVideoToMobile function.

After following the steps outlined in the algorithm, I was able to automate the creation of YouTube Shorts with impressive results. The automation process not only streamlined content creation but also ensured a consistent quality across videos. The background music and animations added a professional touch, making the content engaging and visually appealing.

Note: If you want the source code feel free to ping me :)

Your Turn!

Have you ever automated a task using code? Share your experiences and tips in the comments below! What tasks do you wish you could automate? Let's discuss!

Thanks for joining me on this automation journey. Don’t forget to subscribe to my blog for more tips and updates. Happy coding!

Finally, if the article was helpful, please clap 👏and follow, thank you!

Top comments (0)