# remuxme

> ffmpeg process manager

Latest version **1.0.4** (published 2017-04-25) · ISC license · 0 weekly downloads

## Install

```sh
npm install remuxme
pnpm add remuxme
yarn add remuxme
bun add remuxme
```

Provides the command `remux`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.4 |
| Published | 2017-04-25 |
| First published | 2017-04-07 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=6.9 |
| Dependencies | 15 |
| Known vulnerabilities | 0 (+4 in 3 direct dependencies) |
| Install scripts | no |
| GitHub stars | 84 |
| Author | remux.io |
| Maintainers | stojnovsky |
| Keywords | ffmpeg, node, monitoring, cli, service, remux, video, framework, system, tool, node.js monitoring, reload, transcoding, movie, stats, proc, cpu, memory, cpu affinity, demon |

## Links

- npm: https://www.npmjs.com/package/remuxme
- Repository: https://github.com/remux-io/remuxme
- Homepage: https://github.com/remux-io/remuxme#readme
- Issues: https://github.com/remux-io/remuxme/issues
- npm.io page: https://npm.io/package/remuxme

## Dependencies (15)

- [pm2](https://npm.io/package/pm2.md) ^2.4.2
- [async](https://npm.io/package/async.md) ^2.3.0
- [chalk](https://npm.io/package/chalk.md) ^1.1.3
- [vorpal](https://npm.io/package/vorpal.md) ^1.11.4
- [express](https://npm.io/package/express.md) ^4.15.2
- [graphql](https://npm.io/package/graphql.md) ^0.9.1
- [request](https://npm.io/package/request.md) ^2.81.0
- [duration](https://npm.io/package/duration.md) ^0.2.0
- [jsonfile](https://npm.io/package/jsonfile.md) ^2.4.0
- [socket.io](https://npm.io/package/socket.io.md) ^1.7.3
- [cli-table2](https://npm.io/package/cli-table2.md) ^0.2.0
- [express-graphql](https://npm.io/package/express-graphql.md) ^0.6.3
- [express-session](https://npm.io/package/express-session.md) ^1.15.2
- [socket.io-client](https://npm.io/package/socket.io-client.md) ^1.7.3
- [express-basic-auth](https://npm.io/package/express-basic-auth.md) ^1.0.1

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 1.0.4 (latest) — 2017-04-25
- 1.0.3 — 2017-04-24
- 1.0.2 — 2017-04-13
- 1.0.1 — 2017-04-07
- 1.0.0 — 2017-04-07

## README

# remuxme (production beta)
Ffmpeg process manager
(cli and graphql)


[![asciicast](https://asciinema.org/a/111578.png)](https://asciinema.org/a/111578)

---
### installation

```
$ sudo npm install remuxme -g
```

---
### features
- ffmpeg as process
- auto restart on fail
- remote ffmpeg processes management
- cpu affinity
- command line
- graphql api
- log streaming
- nodejs api

---
### start cli
```
$ remux
```
---
### video tutorials

ffmpeg stream log
[![asciicast](https://asciinema.org/a/111579.png)](https://asciinema.org/a/111579)

manage remote remux node
[![asciicast](https://asciinema.org/a/111586.png)](https://asciinema.org/a/111586)

config processes and taskset
[![asciicast](https://asciinema.org/a/111595.png)](https://asciinema.org/a/111595)

remote remux node config change
[![asciicast](https://asciinema.org/a/111600.png)](https://asciinema.org/a/111600)

---
### screen-shots

graphql
![remuxcli](https://raw.githubusercontent.com/remux-io/remuxme/master/img/graphql.png "remux graphql")

---
### road map
  - ffmpeg process add / remove from cli
  - ffmpeg process params edit from cli
  - ffmpeg process template configuration
  - modules integration
  - user manual
  - api documentation

---
### help
```
Commands:

  help [command...]                                  Provides help for a given command.
  exit                                               Exits application.
  list [options]                                     List remux processes.
  start <id>                                         Start ffmpeg service.
  stop <id>                                          Stop ffmpeg service.
  restart <id>                                       Restart ffmpeg service.
  info <id>                                          Get full information about ffmpeg service.
  taskset <id> <cpus>                                Change CPU affinity for working process.
  process set <id> [variable] [value]                Set or view ffmpeg-service valiables.
  server start                                       Start/Restart Remux server.
  server restart                                     Restart Remux server.
  server stop                                        Stop Remux server.
  server set [variable] [value]                      Set or view Remux valiables.
  connect local                                      Connect to local server.
  connect host <id>                                  Connect to remote server.
  connect info                                       Info for current Remux host connection.
  host list                                          List of configured remote hosts.
  host settings <id>                                 Get host settings by id.
  host add <name> <ssl> <host> <port> <user> <pass>  Add new host.
  host remove <id>                                   Remove host configuration.
  host set <id> <variable> <value>                   Set host valiable.
  log start <id>                                     Attach to log stream for process.
  log stop <id>                                      Disconnect from log stream for process.
```
---
### config information
on first start remux make `~/.remux.io/` folder and put all configuration files there.
to edit demo ffmped process or add new please look `~/.remux.io/processes.json`
(also the feature to change ffmpeg params and add new process from cli is in road map )

##### remux.json /remux server config file/
`host`: ip address.

`port`: port number of remux server.

`debugGraphQL`: If `true`, presents GraphiQL when the GraphQL endpoint is loaded in a browser.

`admin`: user name of server access.

`pass`: password for user.

`ffmpegDefaultPath`: path to default ffmpeg binary.

```
{
  "ssl": "false",
  "host": "0.0.0.0",
  "port": 4000,
  "debugGraphQL": true,
  "admin": "remux",
  "pass": "remuxme",
  "ffmpegDefaultPath": "/usr/bin/ffmpeg"
}
```

##### processes.json /ffmpeg processes configurations/
`name`: Name of ffmpeg process.

`description`: Description for ffmpeg process.

`program`: Path to ffmpeg bin. If `null` then remux will use default ffmpeg from remux.json.

`args`: Array of ffmpeg arguments.

`cpus`: Taskset settings.

```
{processes:[
  {
    "name": "NullTV",
    "description": "Ffmpeg testsrc to udp://127.0.0.1:30000",
    "program": null,
    "args": [
      "-re",
      "-f","lavfi",
      "-i","testsrc=duration=-1:size=640x360:rate=25",
      "-c:v","libx264",
      "-g","50",
      "-r","25",
      "-f","mpegts",
      "-y","udp://127.0.0.1:30000"
    ],
    "cpus": "0-1"
  }
]}
```
---
### used modules
  - pm2
  - vorpal
  - chalk
  - cli-table2
  - duration
  - express
  - express-graphql
  - graphql
  - jsonfile
  - request

---
_Source: https://npm.io/package/remuxme · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
