0.2.2 • Published 8 years ago
ame-watcher v0.2.2
ame-watcher
REST API to retrieve Adobe Media Encoder's status
APIs
| Method | Path | Description | Request Params | Query Strings | Response JSON Format |
|---|---|---|---|---|---|
| GET | /api/queue | Returns the number of files in watch-folder | - | - | {num: number of files} |
| GET | /api/logs/:num | Returns the last {num} log entries in reverse chronological order | num must be an integer between 1 to 128 | - | {state: "started"/"stopped"/"paused"/"resumed"/"success"/"failed", date: datetime of the log entry} |
| GET | /api/encode/:file-name | Moves one file in master-folder to watch-folder | file-name cannot contain '/' | copy: Set true if you want to copy the master file rather than move (default=false) | - |
| GET | /api/rename | Rename the output files based on the renameRules defined in the config file and move the files to the outputFolder if defined | - | - | - |
- watch-folder must be registered as AME's watch folder
- master-folder must be on the same file system with watch-folder
Install
- Install Node.js
- Clone source code and install dependencies
$ git clone git@github.com:kuu/ame-watcher.git
$ cd ame-watcher
$ npm installConfigure
- Put config file(s) in your work directory.
$ mkdir config
$ vi config/default.json
{
"path": {
"masterFolder": "/path/to/master-folder",
"watchFolder": "/path/to/watch-folder",
"logFile": "/path/to/log-file",
"outputFolder": "/path/to/output-folder"
},
"log": {
"lang": "ja"
},
"renameRules": [
"${filename}_1.${extension}",
"${filename}_2.${extension}",
"${filename}_3.${extension}"
]
}- Supported log file languages are "en" and "ja" (default = "en")
- You can rename the output
Run
- Start the server with specifying port number (the default port is 3000)
$ PORT={port number} npm start- Now you can access the APIs
$ curl http://localhost:3000/api/queue
{"num":0}
$ curl http://localhost:3000/api/logs/3
[
{"state": "success", date: "2017-09-06T08:24:05.000Z"},
{"state": "started", date: "2017-09-06T08:23:43.000Z"},
{"state": "failed", date: "2017-09-06T08:22:30.000Z"}
]
$ curl http://localhost:3000/api/encode/ame%20test.mp4- Timezone is UTC
- Use DEBUG environ variable for detail logs
$ DEBUG=ame-watcher npm startStop
- Stop the server (not AME) by the following command in the same directory you did
npm start
$ npm stop
