Python library to summarize talks
Project description
talk-summarizer
Python library to summarize talks. Turn a video file into a PDF report with a summary of each section of the talk.
summarize_talk.py
- operates on a talk/lecture where there is a video of the speaker and slides.
- uses
ffmpeg
to extract the audio from the video - uses
whisper
to transcribe the audio - uses
OpenCV
to identify slide transitions and extract slides - uses
OpenAI
to summarize each section
Installation
Install this library using pip
:
pip install talk-summarizer
Usage
python talk_summarizer/summarize_talk.py \
--output_dir output \
--video_file video.mp4 \
--no-summarize \
--whisper_model tiny
Development
To contribute to this library, first checkout the code. Then create a new virtual environment:
cd talk-summarizer
python -m venv venv
source venv/bin/activate
Now install the dependencies and test dependencies:
pip install -r requirements.txt
To run the tests:
pytest
Install pre-commit hooks:
pre-commit install
Set API keys
Make sure your OPENAI_API_KEY
is set as an environment variable in either your .bashrc
or .zshrc
file. For example:
export OPENAI_API_KEY=sk-1234...
TODO
- get output directory working (ffmpeg not working with output directory)
- create different tasks like
transcribe
(video --> audio, transcript, overall summary). Right nowsummarize_talk
works on a video (video with slides --> audio, slide images, transcript, section summaries, overall summary, report) - add more unit tests
- use
pyproject.toml
instead ofsetup.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
talk-summarizer-0.0.1.tar.gz
(10.1 kB
view hashes)
Built Distribution
Close
Hashes for talk_summarizer-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6101978dd5011f7acb1c39fd8ace2ffffcaf2bf3ace62c222d369f10c3ec4065 |
|
MD5 | 3eb22ad244085995d72dac38430267c2 |
|
BLAKE2b-256 | ff9f55f3ada88bc3e0831c9fcfa238a5333cd6fa69f5707ce98712f1ebd1cb4e |