2024-05-24 23:44:26 +03:00
# atranscoder-rpc
2024-05-25 21:50:34 +03:00
Audio transcoder with simple HTTP API. Work in progress.
# What works
Transcoding:
1. `cargo run`
2. Upload file for transcoding:
```bash
curl --location 'http://localhost:8090/enqueue' \
--form 'file=@"/home/user/Music/test.mp3"' \
--form 'format="adts"' \
--form 'codec="aac"' \
--form 'bitRate="64000"' \
--form 'maxBitRate="64000"' \
--form 'sampleRate="8000"' \
--form 'channelLayout="mono"' \
--form 'uploadUrl="http://127.0.0.1:8909/upload"'
```
3. You will receive JSON response with job ID. The transcoding result will be saved into `/tmp/{job_id}.out.atranscoder`
# Roadmap
2024-05-26 14:43:20 +03:00
- [ ] ~~Restart threads in case of panic.~~ It's better to not panic. Current error handling seems ok for now.
2024-05-26 14:28:42 +03:00
- [x] Implement somewhat acceptable error handling.
- [x] Remove old conversion results and input files that are older than 1 hour.
2024-05-26 13:13:29 +03:00
- [x] Remove input file after transcoding it.
- [x] Implement file upload to `uploadUrl` (if `Content-Type: application/json` then conversion was not successful and body contains an error info).
- [x] Remove transcoding result after uploading it to the `uploadUrl` .
2024-05-26 14:43:20 +03:00
- [x] Docker image for `amd64` and `aarch64` .
2024-05-26 14:28:42 +03:00
- [ ] ~~Statically linked binary for Docker image & result docker image based on `scratch` (reduce image size).~~ Not yet, see [Dockerfile.scratch ](Dockerfile.scratch ).
2024-05-25 21:50:34 +03:00
- [ ] Tests!