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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65c737f497dedb31b096fb1b33de0766fb6391b93027f8aa59ea4d1ef886cb0e
|
|
| MD5 |
276fc3d8a1c6c83f08dcb55fbad96655
|
|
| BLAKE2b-256 |
fee4f4a58a3b48c3718ebe27c5c31a1b33ab78d1152ee7cd1e4851c1abfc14e4
|
File details
Details for the file youtube_video_analyzer-0.3.4-py3-none-any.whl.
File metadata
- Download URL: youtube_video_analyzer-0.3.4-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c19da73f5960e70046f3f030bb5514615f76ed1a071adf7cfa216e34773cca2d
|
|
| MD5 |
79b78915792ed1e7a8a3ad2b08a4ba0b
|
|
| BLAKE2b-256 |
79269f9676d458f959ecd0754263e7eb515e0622f3c73e821a13160f21b5ce4e
|