Skip to main content

A package for downloading YouTube videos, extracting audio and frames, and analyzing sound intervals

Project description

youtube-video-analyzer

youtube-video-analyzer is a Python package that allows you to download videos from YouTube, extract audio and frames from local videos, and analyze the intervals where there is sound in the extracted audio.

----> Github

Features

  • Download videos from YouTube
  • Extract audio from a video
  • Extract frames from a video
  • Analyze the intervals where there is sound in the extracted audio
  • Save the sound intervals to a JSON file

Installation

You can install youtube-video-analyzer from PyPI using pip install youtube-video-analyzer:

Usage

Here's an example of how to use the package:

from youtube_video_analyzer import VideoDownloader, AudioExtractor, SoundIntervalAnalyzer, FrameExtractor

# Download a video from YouTube
downloader = VideoDownloader(video_url, output_directory)
video_path = downloader.download_video()

# Extract frame of frame : select a intervals
frame_extractor = FrameExtractor(video_path, output_directory, quality, oneperframe )
frame_extractor.extract_frames()

# Extract audio from the downloaded video
output_audio_path = "audio/source.mp3"
extractor = AudioExtractor(video_path, output_audio_path)
extractor.extract_audio()

# Analyze the sound intervals
analyzer = SoundIntervalAnalyzer(output_audio_path)
analyzer.create_sound_intervals_json()

output json file extractor sound

[
  [1.0448979591836736, 2.2058956916099772],
  [2.4380952380952383, 3.250793650793651],
  [4.1099319727891155, 4.620770975056689],
  [4.690430839002268, 5.5495691609977325],
  [5.7817687074829935, 6.339047619047619]
]

arguments functions

VideoDownloader:
    -url (str): The URL of the video to be downloaded.
    -output_path (str): The path where the downloaded video will be saved.
    -name (str, optional): The name of the downloaded video file (default is "video.mp4").

FrameExtractor:
    -video_path (str): The path to the video file.
    -output_directory (str): The directory where the extracted frames will be saved.
    -quality (int, optional): The quality of the saved frames (default is 50).
    -oneperframe (int, optional): The number of frames to skip between extractions (default is 25).

AudioExtractor:
    -video_path (str): The path to the video file.
    -output_path (str): The path to save the extracted audio file.

AudioExtractor:
    -audio_path (str): Path to the audio file.
    -n_fft (int, optional): Number of FFT points. Defaults to 2048.
    -hop_length (int, optional): Number of samples between successive frames. Defaults to 512.
    -threshold_db (float, optional): Threshold in decibels below which a frame is considered silence. Defaults to -40.
    -min_silence_duration (float, optional): Minimum duration of silence in seconds to be considered as an interval. Defaults to 0.2.
    -output_json (str, optional): Path to the output JSON file to save the sound intervals. Defaults to "sound_intervals.json".

MAJ

version Maj Date desc
0.3.4 2024-05-31 Add a recognition face

Contribute

build you're package in local for try

python setup.py sdist bdist_wheel
pip install --upgrade .
#or
pip install .

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contributors

Cornélius vincent linkedin

Acknowledgments

This package utilizes the following libraries:

  • pytube
  • MoviePy
  • librosa
  • imageio
  • NumPy
  • json
  • os

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

youtube_video_analyzer-0.3.4.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

youtube_video_analyzer-0.3.4-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file youtube_video_analyzer-0.3.4.tar.gz.

File metadata

  • Download URL: youtube_video_analyzer-0.3.4.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.5

File hashes

Hashes for youtube_video_analyzer-0.3.4.tar.gz
Algorithm Hash digest
SHA256 65c737f497dedb31b096fb1b33de0766fb6391b93027f8aa59ea4d1ef886cb0e
MD5 276fc3d8a1c6c83f08dcb55fbad96655
BLAKE2b-256 fee4f4a58a3b48c3718ebe27c5c31a1b33ab78d1152ee7cd1e4851c1abfc14e4

See more details on using hashes here.

File details

Details for the file youtube_video_analyzer-0.3.4-py3-none-any.whl.

File metadata

File hashes

Hashes for youtube_video_analyzer-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c19da73f5960e70046f3f030bb5514615f76ed1a071adf7cfa216e34773cca2d
MD5 79b78915792ed1e7a8a3ad2b08a4ba0b
BLAKE2b-256 79269f9676d458f959ecd0754263e7eb515e0622f3c73e821a13160f21b5ce4e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page