https://github.com/ranman/connect-audio-utils
https://github.com/ranman/connect-audio-utils
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ranman/connect-audio-utils
- Owner: ranman
- License: mit-0
- Created: 2019-12-20T05:30:38.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-02-19T03:49:37.000Z (over 6 years ago)
- Last Synced: 2025-01-01T07:10:25.655Z (over 1 year ago)
- Language: Python
- Size: 9.77 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Connect Audio Utils
This is a set of lambda and ffmpeg powered tools for working with audio from Amazon Connect
## Tools
### Connect Audio Utils Layer
This layer includes:
* statically compiled ffmpeg
* boto3
* [pydub](https://github.com/jiaaro/pydub)
* requests
* [ffmpeg-python](https://github.com/kkroening/ffmpeg-python)
### Overlay Audio
This function overlays two audio tracks and accepts input in the following form:
```json
{
"sources": [{
"Bucket": "",
"Key": ""
},
{
"Bucket": "",
"Key": ""
}],
"target": {
"Bucket": "",
"Key": ""
}
}
```
### Redact Audio
This function mutes/removes sections of audio from a track based no timestamps and accepts input in the following form:
```json
{
"source": {
"Bucket": "",
"Key": ""
},
"target": {
"Bucket": "",
"Key": ""
},
"timestamps": [
{"begin": "1000", "end": "2000"},
{"begin": "5000", "end": "8000"}
]
}
```
## Build Instructions
1. Install CDK (npm i -g aws-cdk)
1. First build the layer:
```bash
cd resources/connect-audio-utils-layer
mkdir bin/
curl -s https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz | tar -xJC bin --strip=1 'ffmpeg-*-amd64-static/ffmpeg'
docker run --rm -v $(pwd):/foo -w /foo lambci/lambda:build-python3.8 pip3 install -r requirements.txt -t python
zip -r9 layer.zip bin python -x "*.pyc"
```
1. Change back to root directory of project `cd ../..`
1. Install deps: `npm install`
1. Next run `npm run build`
1. Deploy with run `cdk deploy` (you may need to run `cdk bootstrap` first)
## Useful commands
* `npm run build` compile typescript to js
* `npm run watch` watch for changes and compile
* `npm run test` perform the jest unit tests
* `cdk deploy` deploy this stack to your default AWS account/region
* `cdk diff` compare deployed stack with current state
* `cdk synth` emits the synthesized CloudFormation template