ElementalInference / Client / create_feed

create_feed

ElementalInference.Client.create_feed(**kwargs)

Creates a feed. The feed is the target for the live media stream that is being sent by the calling application. An example of a calling application is AWS Elemental MediaLive.

The key contents of the feed is an array of outputs. Each output represents an Elemental Inference feature. After you create the feed, you must associate a resource with the feed. At that point, you will have a useable feed: resource - feed - output or outputs.

See also: AWS API Documentation

Request Syntax

response = client.create_feed(
    name='string',
    outputs=[
        {
            'name': 'string',
            'outputConfig': {
                'cropping': {}
                ,
                'clipping': {
                    'callbackMetadata': 'string'
                },
                'subtitling': {
                    'language': 'eng'|'eng-au'|'eng-gb'|'eng-us'|'fra'|'ita'|'deu'|'spa'|'por',
                    'aspectRatio': {
                        'width': 123,
                        'height': 123
                    },
                    'dictionary': 'string',
                    'profanityFilter': 'DISABLED'|'CENSOR'|'DROP'
                }
            },
            'status': 'ENABLED'|'DISABLED',
            'description': 'string'
        },
    ],
    tags={
        'string': 'string'
    }
)
Parameters:
  • name (string) –

    [REQUIRED]

    A user-friendly name for this feed.

  • outputs (list) –

    [REQUIRED]

    An array of outputs for this feed. Each output represents a specific Elemental Inference feature. For example, there is one output type for the smart crop feature. You must specify at least one output, but you can later add outputs using AssociateFeed, or add, modify, and delete outputs using UpdateFeed.

    • (dict) –

      Contains configuration information about one output in a feed. It is used in the AssociateFeed and the CreateFeed actions.

      • name (string) – [REQUIRED]

        A name for the output.

      • outputConfig (dict) – [REQUIRED]

        A typed property for an output in a feed. It identifies the action for Elemental Inference to perform. It also provides a repository for the results of that action. For example, CroppingConfig output will contain the metadata for the crop feature.

        Note

        This is a Tagged Union structure. Only one of the following top level keys can be set: cropping, clipping, subtitling.

        • cropping (dict) –

          The output config type that applies to the cropping feature.

        • clipping (dict) –

          The output config type that applies to the clipping feature.

          • callbackMetadata (string) –

            A string that you want Elemental Inference to always include in the event clipping metadata for this output. The string might identify the sports event in the source media, for example.

        • subtitling (dict) –

          The output config type that applies to the smart subtitling feature.

          • language (string) – [REQUIRED]

            The language of the audio in the source media. Elemental Inference uses this setting to optimize transcription accuracy. Specify the language using an ISO 639-2/T three-letter code, optionally with a region subtag. Supported values: eng, eng-au, eng-gb, eng-us, fra, ita, deu, spa, por.

          • aspectRatio (dict) –

            The aspect ratio of the output video, specified as width and height integer values. Elemental Inference uses the aspect ratio to determine subtitle layout and line lengths.

            • width (integer) – [REQUIRED]

              The width component of the aspect ratio (for example, 16 in a 16:9 ratio).

            • height (integer) – [REQUIRED]

              The height component of the aspect ratio (for example, 9 in a 16:9 ratio).

          • dictionary (string) –

            The ID of a custom dictionary to improve transcription accuracy for domain-specific terminology. Use the CreateDictionary operation to create a dictionary.

          • profanityFilter (string) –

            Controls how profanity is handled in the generated subtitles. Valid values: DISABLED (no filtering, default), CENSOR (replace profanity with asterisks), DROP (remove profanity from the transcript).

      • status (string) – [REQUIRED]

        The status to assign to the output.

      • description (string) –

        A description for the output.

  • tags (dict) –

    Optional tags. You can also add tags later, using TagResource.

    • (string) –

      • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'arn': 'string',
    'name': 'string',
    'id': 'string',
    'dataEndpoints': [
        'string',
    ],
    'outputs': [
        {
            'name': 'string',
            'outputConfig': {
                'cropping': {},
                'clipping': {
                    'callbackMetadata': 'string'
                },
                'subtitling': {
                    'language': 'eng'|'eng-au'|'eng-gb'|'eng-us'|'fra'|'ita'|'deu'|'spa'|'por',
                    'aspectRatio': {
                        'width': 123,
                        'height': 123
                    },
                    'dictionary': 'string',
                    'profanityFilter': 'DISABLED'|'CENSOR'|'DROP'
                }
            },
            'status': 'ENABLED'|'DISABLED',
            'description': 'string',
            'fromAssociation': True|False
        },
    ],
    'status': 'CREATING'|'AVAILABLE'|'ACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'ARCHIVED',
    'association': {
        'associatedResourceName': 'string'
    },
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) –

    • arn (string) –

      A unique ARN that Elemental Inference assigns to the feed.

    • name (string) –

      The name that you specified in the request.

    • id (string) –

      A unique ID that Elemental Inference assigns to the feed.

    • dataEndpoints (list) –

      An array of endpoints for the feed. Typically, there is only one endpoint. The feed receives source media at this endpoint (when the calling application calls PutMedia) and returns the resulting metadata to this endpoint (when the calling application calls GetMetadata).

      • (string) –

    • outputs (list) –

      Repeats the outputs that you specified in the request.

      • (dict) –

        Contains configuration information about one output in a feed. It is used in the GetFeed response.

        • name (string) –

          The name of the output.

        • outputConfig (dict) –

          A typed property for an output in a feed. It identifies the action for Elemental Inference to perform. It also provides a repository for the results of that action. For example, CroppingConfig output will contain the metadata for the crop feature.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: cropping, clipping, subtitling. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          
          • cropping (dict) –

            The output config type that applies to the cropping feature.

          • clipping (dict) –

            The output config type that applies to the clipping feature.

            • callbackMetadata (string) –

              A string that you want Elemental Inference to always include in the event clipping metadata for this output. The string might identify the sports event in the source media, for example.

          • subtitling (dict) –

            The output config type that applies to the smart subtitling feature.

            • language (string) –

              The language of the audio in the source media. Elemental Inference uses this setting to optimize transcription accuracy. Specify the language using an ISO 639-2/T three-letter code, optionally with a region subtag. Supported values: eng, eng-au, eng-gb, eng-us, fra, ita, deu, spa, por.

            • aspectRatio (dict) –

              The aspect ratio of the output video, specified as width and height integer values. Elemental Inference uses the aspect ratio to determine subtitle layout and line lengths.

              • width (integer) –

                The width component of the aspect ratio (for example, 16 in a 16:9 ratio).

              • height (integer) –

                The height component of the aspect ratio (for example, 9 in a 16:9 ratio).

            • dictionary (string) –

              The ID of a custom dictionary to improve transcription accuracy for domain-specific terminology. Use the CreateDictionary operation to create a dictionary.

            • profanityFilter (string) –

              Controls how profanity is handled in the generated subtitles. Valid values: DISABLED (no filtering, default), CENSOR (replace profanity with asterisks), DROP (remove profanity from the transcript).

        • status (string) –

          The status of the output.

        • description (string) –

          The description of the output.

        • fromAssociation (boolean) –

          True means that the output was originally created in the feed using AssociateFeed. False means it was created using CreateFeed or UpdateFeed.

          You will need this value if you use UpdateFeed to modify the list of outputs in the feed.

    • status (string) –

      The current status of the feed. After creation of the feed has succeeded, the status will be AVAILABLE.

    • association (dict) –

      The association for this feed. When you create the feed, this property is empty. You must associate a resource with the feed using AssociateFeed or UpdateFeed.

      • associatedResourceName (string) –

        The name of the associated resource.

    • tags (dict) –

      Any tags that you included when you created the feed.

      • (string) –

        • (string) –

Exceptions