ame-watcher
v0.2.2
Published
REST API to retrieve Adobe Media Encoder's status
Downloads
15
Readme
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 [email protected]:kuu/ame-watcher.git
$ cd ame-watcher
$ npm install
Configure
- 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 start
Stop
- Stop the server (not AME) by the following command in the same directory you did
npm start
$ npm stop