radioangrezi / angrezi-live-recorder

a audio recorder for live radio with meta data and remote-triggered cuts. Connects to Airtime for auto-scheduled recordings.
MIT License
3 stars 0 forks source link
airtime flask-application python radio recording streamripper webservice

live-recorder

Audio recorder build in Python to work together with LibreTime / Airtime, for usage in radio studio (or similar).

Records a http radio stream (via streamripper) for a maximum duration of 24 hours. Allows to remotely trigger cuts via HTTP request. Comes with a very simple frontend.

Requirements

Usage

`recorder.py --port 5000 --airtime-conf airtime.conf --stream https://st02.sslstream.dlf.de/dlf/02/128/mp3/stream.mp3 rec-test%station%Y-%m-%d-%H-%M-%S_%label.mp3

API

/status-summary/

Returns a JSON object containing info on the recorder (including: recording time, state, filename), current show (from Airtime), the On-Air-Light (from Airtime).

/recording-request-cut/

Shall inform recorder.py to start a new file.

Returns 200 and a success message if the request is posted to the pipe (other process). This does not mean that the cut did take place!

/recording-disconnect-stop/

Shall inform Airtime to disconnect the master source and recorder.py to stop recording (run idle).

Returns 200 and a success message if the request is posted to the pipe (other process). This does not mean that that all actions did take place!

/recording-connect-start/

Shall inform Airtime to connect the master source and recorder.py to start recording.

Returns 200 and a success message if the request is posted to the pipe (other process). This does not mean that that all actions did take place!

/airtime/live-info/

/airtime/on-air-light/

/airtime/bootstrap-info/

Proxy calls to Airtime API (without changes).

/disconnect-master/

/connect-master/

Direct calls to connect or disconnect the master source. Currently not used in frontend.