Configuration and Command Line Options

Configuring and running the server.

The cmaf-ingest server has both auto-configured and manually configured channels.

The channels are automatically configured by the server when the server receives input streams and the channels name is not defined in the disabled channels list. If a channel is auto-configured, it will use the default user and password settings.

The ew-cmaf-ingest manual configuration parameters can be specified in the following ways:

  1. On the command-line
  2. In the configuration file (when specified by the command-line)
  3. Via REST API

They take precedence in the above order, i.e. a command-line value will override other values.

Command Line Options

All command line parameters and environment variables can be seen by running:

ew-cmaf-ingest -h

....

Run as: ew-cmaf-ingest options with options:

  -certpath string
        Path to TLS certificate file (for HTTPS). Use domains instead if possible
  -config string
        Config file with channel-specific settings
  -configport int
        Configuration port (default 5034)
  -domains string
        One or more DNS domains (comma-separated) for auto certificate from Let's Encrypt
  -fileserverpath string
        HTTP path for generated segments and manifests (for testing)
  -keypath string
        Path to TLS private key file (for HTTPS). Use domains instead if possible.
  -logformat string
        Format and type of log: [consolejson consolepretty journald discard] default=consolejson
  -loglevel string
        Initial logging level: debug, info, warn, error, fatal, panic (default "info")
  -port int
        HTTP receiver port (default 8080)
  -porthttps int
        CMAF HTTPS receiver port (default 443)
  -prefix string
        Prefix to remove from upload URLS (default "/upload")
  -recRawNr uint
        Default number of raw segments to receive and store (turns off all parsing)
  -storage string
        Storage root directory (default "./storage")
  -tsbd uint
        Default timeShiftBufferDepth in seconds (default 90)
  -version
        Get version

Integration with ew-cbm

ew-cmaf-ingest acts as the input source for ew-cbm (Catchup Buffer Manager, a part of SW Live Ingest), and ew-cbm, in its turn, will be the backend of sw-repackager, from which the channels are streamed to CDN, and then, to end user.

To make ew-cmaf-ingest channel visible with ew-cbm, -storage option in ew-cmaf-ingest configuration have to be the same with the location that ew-cbm gets the input from. The service file of ew-cbm can be referred to get that location (specified by argument --live-ingest-path), it is usually /mnt/ramdisk.

 cat /usr/lib/systemd/system/ew-cmaf-ingest.service
...
ExecStart=/usr/bin/ew-cmaf-ingest -config /etc/edgeware/ew-cmaf-ingest/config.json -port 8080 -storage /mnt/ramdisk/
...

The next step is configuring the channel for ew-cbm to work with ew-cmaf-ingest buffer.


CBM channel configuration

Setup channel configuration for ew-cbm

Channel REST API v1

Reference for the channel schedule API

Configuration File

Startup configuration for configuring ew-cmaf-ingest