Skip to content

An AI tools which helps to analyze any YouTube video, give the sentiment of the video and suggest description and topics related the content. Lastly, It extract the subtitles from the video by understanding the audio then transcribe it in any language with timestamps and also embed the subtitles into the video

License

Notifications You must be signed in to change notification settings

manish-4007/YT-video-Transcription

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

project-image

Video Transcriptor

This Web App is an AI tool packed with a wide array of capabilities designed to enhance the experience of interacting with YouTube videos YouTube Shots or any video content. It offers a versatile set of functionalities including transcription and scrolling subtitle embeddings. This versatile web app is a valuable resource for content creators researchers and anyone seeking to gain deeper insights into video content on YouTube or other platforms. Whether you need accurate transcriptions multi-language support sentiment analysis or enhanced accessibility through embedded subtitles into video with this tool. It also generates best description for the video and suggest the topics which are covered in the video.

πŸ“” Table of Contents

🌟 About the Project

πŸŽ₯ Video Tutorial

Video Analyzer

Yt.Transcriptor-1.Video.Analyzer.Short.-1.mp4

Drone Pratap-Kalamadhyama ( Kannada )

Video Transcription

Yt.Transcriptor-2.Subtitle.Generator.Short.-1.mp4

Upcoming Mobile Phones: August 2023 ( Telugu )

Subtitle Embedder

Yt.Transcriptor-3.Subtitle.Embedding.Short.-1.mp4

πŸ“· Screenshots

HomePage

Screenshot 2023-09-05 160251

Video Transcriptor

ubuntu installation

Screenshot 2023-09-05 151354

🎯 Features

  • Video Scrapping and Data Visualization
  • Content Analyzer
  • Video Transcription
  • Subtitle Embedding into Video
  • Video Sentimental Analysis based comments
  • Name Entity Recognition on Video Content
  • Suggest Description and Topics by analyzing Video Content

πŸ”‘ Environment Variables

To run this project, you will need to add the following environment variables to your .env file

ImageMagick

ffmpeg

API Keys

🧰 Getting Started

‼️ Prerequisites

πŸ› οΈ Installation Steps:

First, set-up FFmpeg and ImageMagick packages into the system and save into the environmental variable path in the program to use ffmpeg and ffprobe

Check at the main file where we use these packages into the code must have detected the path of ffmpeg and ffprobe (or else add them manually as done in the setup.py file)

ffmpeg_binary =  "/usr/bin/ffmpeg"
   
ffprobe_binary = "/usr/bin//ffprobe"
   
pydub.AudioSegment.ffmpeg = ffmpeg_binary

ffmpeg.input.ffmpeg = ffmpeg_binary

pydub.AudioSegment.ffprobe = ffprobe_binary

ffmpeg.input.ffprobe = ffprobe_binary

Or For Streamlit we can add a packages.txt which installs all the required files and setup for the FFmpeg and ImageMagick, It actually automatically runs the command:

apt-get install package ( for all the packages in the packages.txt)

βš™οΈ Installation

To use ImageMagick for editing the video with the Moviepy python package we need to allow permissions to read/write to the policy.xml ( as per default policy it is set as none )

sudo cat /etc/ImageMagick-6/policy.xml | sed 's/none/read,write/g'> /etc/ImageMagick-6/policy.xml

πŸƒ Run Locally

Clone the project

https://github.com/manish-4007/YT-video-Transcription

Go to the project directory

cd video_transcriptor

Create Virtual Environment

python -m venv venv

Activate the environment

./venv/Scripts/activate

Now run the setup.py file to install all the dependencies

python ./setup.py

if still some packages did not installed then run the the requirement.txt using pip

pip install -r ./requirements.txt

Now all setup done, just run the streamlit file from the terminal to run it in the local server

streamlit run ./Home.py

πŸ’» Technologies Used in the Project

βš™οΈ Built with

  • Pytube and Youtube API v3 ( for Video Analysis )
  • Pydub Speech Recognition Fast Whisper (for Speech Recognition from Video to Text )
  • Moviepy ffmpeg and ImageMagick ( Editing Video)
  • NLTK SpaCy SpacyTextBlob ( For NLP Tasks like Sentiment Analysis and Text Summarizer )
  • Googletrans and Transformers ( For Text Translation and Topic Modelling )
  • Hugging Face Transformers - Bart Model by "facebook/bart-large-mnli"
  • Streamlit and Streamlit-extras ( Web App Creation and Deployment )

🧭 Roadmap

  • Video Analyzer
  • Download Video Feature
  • Video Analatytics
  • Sentiment Analysis on Comments
  • Show comments based on Sentiment
  • Video Transcription to any languages
  • Subtitle Generator
  • Description Generator
  • Name Entity Recognition on Video Content
  • Subtitle Converter into any Languages
  • Subtile Embeding into Video
  • Topic Modelling on Video Content

⚠️ License

This project is licensed under the Apache-2.0 license

🀝 Contact

Manish Rai Chodhury - LinkedIn Profile - manish.rai709130@gmail.com

Project Link: https://github.com/manish-4007/YT-video-Transcription

πŸ’Ž Acknowledgements

Use this section to mention useful resources and libraries that you have used in your projects.

About

An AI tools which helps to analyze any YouTube video, give the sentiment of the video and suggest description and topics related the content. Lastly, It extract the subtitles from the video by understanding the audio then transcribe it in any language with timestamps and also embed the subtitles into the video

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages