boyska 597b9ba798 clarify whats needed | 1 year ago | |
---|---|---|
contrib | 2 years ago | |
docker | 1 year ago | |
techrec | 1 year ago | |
.gitignore | 2 years ago | |
.gitlab-ci.yml | 2 years ago | |
12factors.md | 10 years ago | |
Dockerfile | 1 year ago | |
LICENSE | 10 years ago | |
MANIFEST.in | 4 years ago | |
Makefile | 2 years ago | |
README.md | 1 year ago | |
RELEASE.md | 10 years ago | |
docker-compose.yaml | 2 years ago | |
publish-release | 4 years ago | |
requirements.txt | 1 year ago | |
setup.cfg | 2 years ago | |
setup.py | 2 years ago | |
techrec.spec | 4 years ago |
A Python3 web application that assist radio speakers in recording their shows. Meant to be simple to install and to maintain.
It basically takes a directory with the continuous recording and create new files "cutting/pasting" with ffmpeg.
We suppose that you have a continous recording of your radio broadcasting. What techrec does is taking files from this directory and "cutting/pasting" parts of them. This can boil down to something like
ffmpeg -i concat:2014-20-01-00-00.mp3|2014-20-01-00-01.mp3 -acodec copy -ss 160 -t 1840 foo.mp3
This continous recording needs to be configured so that:
pip install .
env TECHREC_CONFIG=yourconfig.py techrec serve
It is based on fastapi, a really nice framework. Simple APIs are offered through it, and the static site uses them through JS.
Jobs are not dispatched using stuff like celery, but just using
BackgroundTasks
,
in order to keep the installation as simple as possible.
The encoding part is delegated to ffmpeg
, but the code is really modular so
changing this is a breeze. To be quicker and avoid the quality issues related
to reencoding, the codec "copy" is used: this means that input and output must
have the same format.
gitlab-runner exec docker test
(or, pytest-3
, assuming you have a properly configured system)
See screenshots at https://boyska.degenerazione.xyz/proj/techrec/