remuxme v1.0.4
remuxme (production beta)
Ffmpeg process manager (cli and graphql)
installation
$ sudo npm install remuxme -gfeatures
- ffmpeg as process
 - auto restart on fail
 - remote ffmpeg processes management
 - cpu affinity
 - command line
 - graphql api
 - log streaming
 - nodejs api
 
start cli
$ remuxvideo tutorials
remote remux node config change

screen-shots
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
 



