SamuraiPolix / Shorts-Maker

Create high-quality vertical quotes videos (1920x1080 - Perfect for all social medias) in about 15seconds per video!
GNU General Public License v3.0
91 stars 25 forks source link
bible-verse bible-verses bibledata biblequote christian christian-bot christianity ffmpeg moviepy pillow quote-maker reels shorts social-media tiktok video-generator video-maker video-maker-app videomaker youtube

Python PayPal

Quote Video Maker for Shorts/Reels/TikTok

This script creates high-quality vertical quotes videos (1920x1080) in about 15secs per video!

πŸ“ Table of Contents

  1. About
  2. Demo
  3. How it works
  4. How To Run
  5. Built Using
  6. Final Results
  7. Note

πŸŽ₯ Demo

https://github.com/SamuraiPolix/ShortsMaker/assets/52662032/fb67c274-8701-482a-a557-466ce4b9a9ef

🧐 About

This is my first big Python project, which I put a lot of effort into, hope you get the most out of it :)

I used it to sell bible verse videos on Fiverr for a while.

πŸ’­ How it works

#1 Content

I got a 50+ stock background video (of mainly nature), 40 audio files and 10 fonts.

#2 Editing

The script works by taking a background video from '/videos', an audio file from '/audios', a random font, and a quote (a bible verse) from the JSON file, and combining them all into 1 video.

I am using PILLOW to generate the text in different fonts and FFMPEG to combine them all as fast as possible (I used MoviePy at the beginning but it was too slow).

All the video files and audio files are copyright-free from stock footage websites (Pexels, Pixabay, etc.), and the fonts are copyright-free as well.

🏁 How to run

Follow the instructions given below to get this script up and running on your device.

  1. Download this repository as zip file / using git.
  2. Open the folder.
  3. Make sure all the required modules are installed. (pip install -r requirements.txt)
  4. Open main.py
  5. set the number of videos you want, your logo, and choose a quote file from '/sources/verses_data' (you can also use the topical bible verses scraper I developed)
    number_of_videos = 99
    customer_name = "your_name"
    image_file = f"{project_dir}/sources/logo.png"
    json_file = f"{project_dir}/sources/verses_data/love_data.json"
  6. RUN!
  7. And that's it! Everything else will be handled automatically!
  8. You can find your video in the customers/your-name/ directory.

⛏️ Built Using

  1. PILLOW - For generating text images.
  2. FFMPEG - For video editing.

πŸŽ₯ Final Results

After running the script you will get these 3 files:

  1. The edited video file.

    https://github.com/SamuraiPolix/ShortsMaker/assets/52662032/1640ba4f-13c5-4698-9f2f-bcbfacb9b908

  2. A spreadsheet containing all the File names, verses, and references, to make it easier to find the video you want.

    image

  3. The generated text image (for the quote in the video).

πŸ—’οΈ Note

Note that this script is very basic as of now. I added Text-to-Speak in a later version which I will hopefully post soon. If you want to contribute, you are free to do so and you may even fork and improve this repository.