As host of the podcast @Experiences404 one of the main problems is the creation of content to different plataforms. After recording an episode, we need to split this large video to different clips that uses a basic design and need to be in 9:16 aspect ratio.
This program tooks a base video (16:9) and based on a configuration file create different clips that can be post them on TikTok, Instagram and Facebook.
- Python
- MoviePy
- Conventional Commits
- Generate a configuration file
- Create diferent clips based on a base video
- Each clip can have footer text (Used to set the brand)
- You can add a common end clip to your videos to make them look standard
- You can customize the background, colors and font of your clips
- You can use a preview mode to check if result match with what you want.
- Clone the repository:
git clone [email protected]:boceto1/boceto1/content-creator.git
- Navigate to the project directory:
cd content-creator
- Install dependencies:
pip install requirements.txt
- Run
python main.py -c [nameProject]
. - Edit [nameProject].json file to add the location of your base video, endclip, styles and clips. It would like something like this.
{
"projectName": "Default Project",
"baseVideo": "./test-video.mp4",
"endClip": "./templates/endVideo.mp4",
"styles": {
"backgroundColor": "#1E1E1E",
"text": {
"general": {
"font": "./resources/OpenSans-ExtraBold.ttf",
"color": "ffffff"
},
"footer": {
"font": "./resources/BebasNeue-Regular.ttf",
"color": "#fbbc09"
}
}
},
"clips": [
{
"name": "De drones a developer",
"time": [831, 950],
"text": ["Top Text", "Bottom Text"]
}
]
}
Note: You can use fonts that are allowed by MoviePy. You can check here to know which fonts are supported. But also, you can add a custom file using a .ttf file.
- Run
python main.py -p ./[projectName].json
- It is going to create a dir with the name of your project. Inside this file you can have small clips with just text and styles. (No video).
Note: It's useful when you need to know how your clips are going to look. Process to generate clips takes time so this option helps you to check if all is fine before generate clips.
- Run
python main.py -g ./[projectName].json
- It is going to create a dir with the name of your project. Inside this file you can all your clips.
- Preview Mode
- Generate Mode
- Support the extraction of audio and creation of banners for Spotify
- Download videos for youtube or twitch directly
- Add more customizations
This project is licensed under the MIT License.
For any questions or inquiries, feel free to reach out to me at [email protected].