Skip to content

RodriguesStack/Ai-Shorts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#AI-Shorts-Creator! 🎥✂️ (WIP, You Might face some Bugs)

AI-Shorts-Creator is a powerful tool designed for content creators, podcasters, and video enthusiasts to effortlessly extract captivating segments from their videos. Leveraging the advanced language model GPT-4, this innovative solution intelligently analyzes video transcripts to identify the most viral and exciting moments. By harnessing the capabilities of FFmpeg and OpenCV, AI-Shorts-Creator automatically crops videos, allowing you to focus on the key highlights and provide an enhanced viewing experience.

AI-Shorts-Creator is a powerful tool designed to:

  • Automatically extract captivating segments from videos.
  • Identify the most viral and exciting moments using GPT-4.
  • Crop videos to emphasize key highlights with precise face detection.
  • Streamline video editing and save time by eliminating manual searching.
  • Work seamlessly with various video formats for maximum compatibility.
  • Enhance the viewing experience for your audience with perfectly cropped highlights.

Examples:

Source Video : https://www.youtube.com/watch?v=NHaczOsMQ20 thumbnail

Output Shorts:

Demo GIF 1 Demo GIF 2 Demo GIF 3
output_shorts.mp4

Get started with AI-Shorts-Creator today and unlock the potential of your videos like never before!

Requirements

  • Python 3.x
  • pytube library (install with pip install pytube)
  • opencv-python library (install with pip install opencv-python)
  • openai library (install with pip install openai)
  • youtube-transcript-api library (install with pip install youtube-transcript-api)
  • FFmpeg (install according to your operating system)

Usage

  1. Install the required libraries by running the following command:
pip install -r requirements.txt
  1. Install FFmpeg by following the installation instructions for your operating system. Make sure the ffmpeg command is accessible from the command line.

  2. Set up your OpenAI API key by replacing openai.api_key = '' with your actual OpenAI API key.

  3. Modify the video_id variable in the main() function to specify the YouTube video you want to process.

  4. Run the script:

python auto_cropper.py

The script will download the YouTube video, analyze its transcript using OpenAI's GPT-4, extract the best sections based on the analysis, crop the video using FFmpeg, and apply face detection using OpenCV to further refine the cropping.

Additional Information

  • The download_video(url, filename) function downloads a YouTube video by providing the URL and specifying the filename.
  • The segment_video(response) function segments the video into interesting sections based on a transcript analysis using OpenAI's GPT-4 model.
  • The detect_faces(video_file) function uses face detection to identify faces in a video file.
  • The crop_video(faces, input_file, output_file) function crops the video around the detected faces using FFmpeg.
  • The is_talking_in_batch(frames) function analyzes the lip movement or facial muscle activity within a batch of frames to determine if talking behavior is present.
  • The adjust_focus(frame, talking) function applies visual effects or adjustments to emphasize the speaker in the frame.

Please note that the GPT-4 model and transcript analysis functionality in the provided code are simulated and not fully functional. You would need a valid OpenAI API key and a working GPT-4 model to perform transcript analysis.

sudo apt-get install build-essential cmake && sudo apt-get install libopenblas-dev liblapack-dev && sudo apt-get install libx11-dev libgtk-3-dev && sudo apt-get install python3-dev python3-pip && sudo apt-get install libboost-all-dev

sudo apt-get remove cmake && sudo snap install cmake --classic

import subprocess

def baixar_video_youtube(url, saida='./video.mp4'): try: # Baixar o vídeo usando youtube-dl ou yt-dlp comando = ['yt-dlp', '-o', saida, url]

    # Executa o comando no sistema operacional
    resultado = subprocess.run(comando, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
    
    # Verifica se houve erros
    if resultado.returncode == 0:
        print(f"Download concluído! Vídeo salvo como: {saida}")
    else:
        print(f"Erro durante o download: {resultado.stderr}")
        
except Exception as e:
    print(f"Ocorreu um erro: {e}")

Exemplo de uso

url_video = "https://www.youtube.com/watch?v=bBCbhIKKup8" baixar_video_youtube(url_video, saida='./meu_video.mp4')

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors