PyPopQuiz: A Python/ffmpeg-based popquiz creator
PyPopQuiz is a python package to generate popquiz-videos (questions and answers) based simple JSON files with descriptions of the quiz-questions. Such a JSON description could for example contain a song's title and answer which need to be guessed, along with a YouTube-link and two time-intervals defined for the audio and/or video question and answer. It includes features such as only audio, only video, combined audio and video, local files, YouTube links, reversed audio, text overlays, missing words rounds, and so on.
You can install it using
pip install -e . and then run the tool, e.g.:
popquiz.py -i samples/round01.json -o output_folder
To use the moviepy backend, add
-b moviepy to the command line.
Tested on Linux and Windows. Requires Python 3.5 or newer. Requires ffmpeg and the Python packages
moviepy, installed as part of the requirements.
On Windows: Set environment variables pointing to ffmpeg and imagemagick (convert) for moviepy to use:
The tests are currently still quite limited, but you can already run the linters and/or unittests, e.g. from the root:
pylint pypopquiz test mypy pypopquiz --ignore-missing-imports python -m unittest discover test
Feature list / roadmap
|Input source: Youtube video||✔|
|Input source: Local mp3||✔|
|Output: Questions video||✔|
|Output: Answers video||✔|
|Output: Question & answer sheets||✔|
|Types of rounds||Status|
|Audio & video||✔|
|Text only round|
|Reversed audio & video||✔|