Integrating a Live Encoder with the Dacast Platform

You are here:
< Back

If you’re a vendor for a live streaming encoder, you can integrate with the Dacast platform to make it easier for users to configure your encoder.

Whether it’s a hardware or software encoder, the Dacast Encoder API lets you greatly reduce the complexity of live streaming by pre-configuring your encoder with the required settings.

Getting Started

If you would like to integrate your encoder with Dacast, please contact us and we will be happy to help you from start to finish.

Using the Dacast Encoder API

Dacast provides an API for getting channel details for a specific user in the platform:

https://api.dacast.com/v2/external/{ENCODER}/channel?apikey={KEY}
  • ENCODER is the name of your encoder, which we will provide
  • KEY is the API key that your users will find in Dacast > Preferences > Encoder Keys

The response will be a JSON array of objects, one per channel. Here is an example with the most important details in RED:

[
    {
        "associated_packages": "",
        "autoplay": true,
        "countries_id": 0,
        "creation_date": "2020-01-01 00:00:00",
        "custom_data": null,
        "counter_live_limit": -1,
        "countdown_date": null,
        "countdown_timezone": 0,
        "external_video_page": "http://",
        "hds": "http://dcunilive144-lh.akamaihd.net/z/dclive_1@1234567/manifest.f4m",
        "hls": "http://dcunilive144-lh.akamaihd.net/i/dclive_1@1234567/master.m3u8",
        "html5": true,
        "id": 123456789,
        "player_size_id": 20,
        "logo_url": "https://images.dacast.com/1243/c-123456789.png",
        "noframe_security": 0,
        "online": 1,
        "player_width": 576,
        "player_height": 324,
        "publish_on_dacast": 0,
        "config": {
            "publishing_point_type": null,
            "publishing_point_primary": "rtmp://url.to/EntryPoint",
            "publishing_point_backup": "rtmp://url.to/EntryPoint",
            "stream_name": "dclive@123456789",
            "login": "123456789",
            "password": "123456789",
            "live_transcoding": false
        },
        "referers_id": 0,
        "rtmp": false,
        "save_date": "2020-01-01 00:00:00",
        "splash_url": https://url.to/123456789.png,
        "stream_category": 20,
        "theme_id": 1,
        "thumbnail_id": 0,
        "splashscreen_id": 0,
        "thumbnail_url": null,
        "pictures": {
            "thumbnail": https://url.to/123456789.png,
            "splashscreen": https://url.to/123456789.png
        },
        "title": "Channel Title",
        "description": "Channel Description",
        "company_url": "https://dacast.com",
        "enable_subscription": false,
        "enable_payperview": false,
        "enable_coupon": false
    }
]

Using these details, your encoder can configure itself using the following at a minimum:

  • id: The unique identifier for the channel — the title may change but this will always remain the same
  • publishing_point_primary: The URL to which the stream should be sent
  • stream_name: The name of the stream at that URL
  • login: The login for stream authentication
  • password: The password for stream authentication
  • title: The name of the channel, which should be presented to users

Finally, your encoder must configure itself to match one of our supported Live Encoder Configurations.

Example Encoder Integration

From the perspective of your users, the process is very simple. All they must do is get an Encoder Key from the dacast platform and enter it in your encoder:

  1. Login to the Dacast platform
  2. Navigate to PreferencesEncoder Keys
  3. If there isn’t already a key listed for the desired encoder, click the appropriate Regenerate button
  4. Enter the key into the encoder
  5. Allow the user to select which of the channels in their account they wish to use

Then, assuming your encoder configures itself to match one of our supported Live Encoder Configurations, the user is ready to stream using the Dacast platform!

Leave a Reply

Your email address will not be published. Required fields are marked *