mirror of
https://github.com/mifi/lossless-cut.git
synced 2024-11-25 03:33:14 +01:00
533074ddae
also rename shortcuts to actions in api (breaking) closes #2087
55 lines
1.3 KiB
Markdown
55 lines
1.3 KiB
Markdown
# HTTP API
|
|
|
|
LosslessCut can be controlled via a HTTP API, if it is being run with the command line option `--http-api`. See also [CLI](./cli.md). **Note that the HTTP API is experimental and may change at any time.**
|
|
|
|
## Programmatically opening a file
|
|
|
|
This must be done with [the CLI](./cli.md).
|
|
|
|
## Enabling the API
|
|
|
|
```bash
|
|
LosslessCut --http-api
|
|
```
|
|
|
|
## API endpoints
|
|
|
|
### `POST /api/action/:action`
|
|
|
|
Execute a keyboard shortcut `action`, similar to the `--keyboard-action` CLI option. This is different from the CLI in that most of the actions will wait for the action to finish before responding to the HTTP request (but not all).
|
|
|
|
#### [Available keyboard actions](./cli.md#available-keyboard-actions)
|
|
|
|
#### Example
|
|
|
|
Export the currently opened file:
|
|
|
|
```bash
|
|
curl -X POST http://localhost:8080/api/action/export
|
|
```
|
|
|
|
Seek to time:
|
|
```bash
|
|
curl -X POST http://localhost:8080/api/action/goToTimecodeDirect --json '{"time": "09:11"}'
|
|
```
|
|
|
|
|
|
### Batch example
|
|
|
|
Start the main LosslessCut in one terminal with the HTTP API enabled:
|
|
|
|
```bash
|
|
LosslessCut --http-api
|
|
```
|
|
|
|
Then run the script in a different terminal:
|
|
|
|
```bash
|
|
for PROJECT in /path/to/folder/with/projects/*.llc
|
|
LosslessCut $PROJECT
|
|
sleep 5 # wait for the file to open
|
|
curl -X POST http://localhost:8080/api/action/export
|
|
curl -X POST http://localhost:8080/api/action/closeCurrentFile
|
|
done
|
|
```
|