Coder Social home page Coder Social logo

manish-4007 / yt-video-transcription Goto Github PK

View Code? Open in Web Editor NEW
9.0 1.0 3.0 82.92 MB

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

Home Page: https://video-transcription-m.streamlit.app/

License: Apache License 2.0

Python 0.33% Jupyter Notebook 99.67% Shell 0.01%
bart nlp python recommendation sentiment-analysis speech-recognition summarization transformer translation video-analysis video-to-text subtile-embedding named-entity-recognition topic-modeling

yt-video-transcription's Introduction

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 - [email protected]

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.

yt-video-transcription's People

Contributors

manish-4007 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.