<commit_before>// get video by id

/**
 * @api {get} /accounts/:account_id/videos/:video_id Get Video by ID or Reference ID
 * @apiName Get Video by ID or Reference ID
 * @apiGroup Video
 * @apiVersion 1.0.0
 *
 * @apiDescription Gets a video object
 *
 * @apiHeader {String} Accept: application/json;pk=policy_key (there are 3 ways to authenticate &mdash; use one of these three headers) See [Policy API Overview](http://docs.brightcove.com/en/video-cloud/policy-api/getting-started/api-overview.html) or [Policy Keys](http://docs.brightcove.com/en/player/player-management/guides/policy-key.html) for information on getting policy keys
 * @apiHeader {String} Authorization: BCOV-Policy {policy_key} (there are 3 ways to authenticate &mdash; use one of these three headers) See [Policy API Overview](http://docs.brightcove.com/en/video-cloud/policy-api/getting-started/api-overview.html) or [Policy Keys](http://docs.brightcove.com/en/player/player-management/guides/policy-key.html) for information on getting policy keys
 * @apiHeader {String} BCOV-Policy: {policy_key} (there are 3 ways to authenticate &mdash; use one of these three headers) See [Policy API Overview](http://docs.brightcove.com/en/video-cloud/policy-api/getting-started/api-overview.html) or [Policy Keys](http://docs.brightcove.com/en/video-cloud/player-management/guides/policy-key.html) for information on getting policy keys
 *
 * @apiParam (Path Parameters) {String} account_id Video Cloud account ID
 * @apiParam (Path Parameters) {Number} video_id Video Cloud video ID
 *
 * @apiParamExample {Url} Get Video Example:
 *     https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/38467382999
 *     // or
 *     https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/ref:my_reference_id
 *
 * @apiSuccess (Response Fields) {String} account_id Video Cloud account id
 * @apiSuccess (Response Fields) {String} id video id
 * @apiSuccess (Response Fields) {String} name video title
 * @apiSuccess (Response Fields) {DateString} created_at when the video was created
 * @apiSuccess (Response Fields) {Object} custom_fields={} map of fieldname-value pairs
 * @apiSuccess (Response Fields) {Object} cue_points array of cue point maps
 * @apiSuccess (Response Fields) {String} cue_points.name cue point name
 * @apiSuccess (Response Fields) {String} cue_points.type=AD cue point type
 * @apiSuccess (Response Fields) {Number} cue_points.time time of the cue point in seconds; example: 10.527
 * @apiSuccess (Response Fields) {String} cue_points.metadata=null optional metadata string (128 single-byte characters maximum)
 * @apiSuccess (Response Fields) {Boolean} cue_points.force-stop=false whether video is force-stopped at the cue point
 * @apiSuccess (Response Fields) {String} description video short description
 * @apiSuccess (Response Fields) {Number} duration video duration in milliseconds
 * @apiSuccess (Response Fields) {String} economics whether video is AD_SUPPORTED
 * @apiSuccess (Response Fields) {Object[]} poster_sources array of poster source maps (note that in many cases there will be one source with a `src` value identical to the `poster` value, but this array is included in case there are multiple protocols available, such as `http` and `https`)
 * @apiSuccess (Response Fields) {String} poster_sources.src URL for a poster source image (note that in many cases there will be one source with a `src` value identical to the `poster` value, but this array is included in case there are multiple protocols available, such as `http` and `https`)
 * @apiSuccess (Response Fields) {String} poster URL for the default poster source image
 * @apiSuccess (Response Fields) {String} projection The mapping projection for 360° videos, e.g. "equirectangular"
 * @apiSuccess (Response Fields) {Object[]} thumbnail_sources array of thumbnail source maps (note that in many cases there will be one source with a `src` value identical to the `thumbnail` value, but this array is included in case there are multiple protocols available, such as `http` and `https`)
 * @apiSuccess (Response Fields) {String} thumbnail_sources.src URL for a thumbnail source image (note that in many cases there will be one source with a `src` value identical to the `thumbnail` value, but this array is included in case there are multiple protocols available, such as `http` and `https`)
 image
 * @apiSuccess (Response Fields) {String} thumbnail URL for the default thumbnail source image
 * @apiSuccess (Response Fields) {Object} link map of scheduling properties
 * @apiSuccess (Response Fields) {String} link.text text for the link
 * @apiSuccess (Response Fields) {String} link.url URL for the link
 * @apiSuccess (Response Fields) {String} long_description video long description
 * @apiSuccess (Response Fields) {Boolean} offline_enabled whether video is enabled for offline viewing
 * @apiSuccess (Response Fields) {String} reference_id video reference-id (must be unique within the account)
 * @apiSuccess (Response Fields) {String[]} tags array of tags
 * @apiSuccess (Response Fields) {Object[]} sources array of video sources (renditions)
 * @apiSuccess (Response Fields) {Number} sources.avg_bitrate average bitrate
 * @apiSuccess (Response Fields) {Number} sources.width frame width in pixels
 * @apiSuccess (Response Fields) {Number} sources.height frame height in pixels
 * @apiSuccess (Response Fields) {Number} sources.size size in bytes
 * @apiSuccess (Response Fields) {Number} sources.duration duration in milliseconds
 * @apiSuccess (Response Fields) {String} sources.asset_id the asset id for the source
 * @apiSuccess (Response Fields) {String} sources.stream_name the stream name for the source
 * @apiSuccess (Response Fields) {String} sources.codec the video codec
 * @apiSuccess (Response Fields) {String} sources.container the video container
 * @apiSuccess (Response Fields) {String} sources.app_name the address for rtmp streams
 * @apiSuccess (Response Fields) {String} sources.type the type (for HLS streams)
 * @apiSuccess (Response Fields) {Object} sources.key_systems set of string values that denote the kind of encryption used for DRM packaged source<commit_msg>update key_systems definition<commit_after>// get video by id

/**
 * @api {get} /accounts/:account_id/videos/:video_id Get Video by ID or Reference ID
 * @apiName Get Video by ID or Reference ID
 * @apiGroup Video
 * @apiVersion 1.0.0
 *
 * @apiDescription Gets a video object
 *
 * @apiHeader {String} Accept: application/json;pk=policy_key (there are 3 ways to authenticate &mdash; use one of these three headers) See [Policy API Overview](http://docs.brightcove.com/en/video-cloud/policy-api/getting-started/api-overview.html) or [Policy Keys](http://docs.brightcove.com/en/player/player-management/guides/policy-key.html) for information on getting policy keys
 * @apiHeader {String} Authorization: BCOV-Policy {policy_key} (there are 3 ways to authenticate &mdash; use one of these three headers) See [Policy API Overview](http://docs.brightcove.com/en/video-cloud/policy-api/getting-started/api-overview.html) or [Policy Keys](http://docs.brightcove.com/en/player/player-management/guides/policy-key.html) for information on getting policy keys
 * @apiHeader {String} BCOV-Policy: {policy_key} (there are 3 ways to authenticate &mdash; use one of these three headers) See [Policy API Overview](http://docs.brightcove.com/en/video-cloud/policy-api/getting-started/api-overview.html) or [Policy Keys](http://docs.brightcove.com/en/video-cloud/player-management/guides/policy-key.html) for information on getting policy keys
 *
 * @apiParam (Path Parameters) {String} account_id Video Cloud account ID
 * @apiParam (Path Parameters) {Number} video_id Video Cloud video ID
 *
 * @apiParamExample {Url} Get Video Example:
 *     https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/38467382999
 *     // or
 *     https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/ref:my_reference_id
 *
 * @apiSuccess (Response Fields) {String} account_id Video Cloud account id
 * @apiSuccess (Response Fields) {String} id video id
 * @apiSuccess (Response Fields) {String} name video title
 * @apiSuccess (Response Fields) {DateString} created_at when the video was created
 * @apiSuccess (Response Fields) {Object} custom_fields={} map of fieldname-value pairs
 * @apiSuccess (Response Fields) {Object} cue_points array of cue point maps
 * @apiSuccess (Response Fields) {String} cue_points.name cue point name
 * @apiSuccess (Response Fields) {String} cue_points.type=AD cue point type
 * @apiSuccess (Response Fields) {Number} cue_points.time time of the cue point in seconds; example: 10.527
 * @apiSuccess (Response Fields) {String} cue_points.metadata=null optional metadata string (128 single-byte characters maximum)
 * @apiSuccess (Response Fields) {Boolean} cue_points.force-stop=false whether video is force-stopped at the cue point
 * @apiSuccess (Response Fields) {String} description video short description
 * @apiSuccess (Response Fields) {Number} duration video duration in milliseconds
 * @apiSuccess (Response Fields) {String} economics whether video is AD_SUPPORTED
 * @apiSuccess (Response Fields) {Object[]} poster_sources array of poster source maps (note that in many cases there will be one source with a `src` value identical to the `poster` value, but this array is included in case there are multiple protocols available, such as `http` and `https`)
 * @apiSuccess (Response Fields) {String} poster_sources.src URL for a poster source image (note that in many cases there will be one source with a `src` value identical to the `poster` value, but this array is included in case there are multiple protocols available, such as `http` and `https`)
 * @apiSuccess (Response Fields) {String} poster URL for the default poster source image
 * @apiSuccess (Response Fields) {String} projection The mapping projection for 360° videos, e.g. "equirectangular"
 * @apiSuccess (Response Fields) {Object[]} thumbnail_sources array of thumbnail source maps (note that in many cases there will be one source with a `src` value identical to the `thumbnail` value, but this array is included in case there are multiple protocols available, such as `http` and `https`)
 * @apiSuccess (Response Fields) {String} thumbnail_sources.src URL for a thumbnail source image (note that in many cases there will be one source with a `src` value identical to the `thumbnail` value, but this array is included in case there are multiple protocols available, such as `http` and `https`)
 image
 * @apiSuccess (Response Fields) {String} thumbnail URL for the default thumbnail source image
 * @apiSuccess (Response Fields) {Object} link map of scheduling properties
 * @apiSuccess (Response Fields) {String} link.text text for the link
 * @apiSuccess (Response Fields) {String} link.url URL for the link
 * @apiSuccess (Response Fields) {String} long_description video long description
 * @apiSuccess (Response Fields) {Boolean} offline_enabled whether video is enabled for offline viewing
 * @apiSuccess (Response Fields) {String} reference_id video reference-id (must be unique within the account)
 * @apiSuccess (Response Fields) {String[]} tags array of tags
 * @apiSuccess (Response Fields) {Object[]} sources array of video sources (renditions)
 * @apiSuccess (Response Fields) {Number} sources.avg_bitrate average bitrate
 * @apiSuccess (Response Fields) {Number} sources.width frame width in pixels
 * @apiSuccess (Response Fields) {Number} sources.height frame height in pixels
 * @apiSuccess (Response Fields) {Number} sources.size size in bytes
 * @apiSuccess (Response Fields) {Number} sources.duration duration in milliseconds
 * @apiSuccess (Response Fields) {String} sources.asset_id the asset id for the source
 * @apiSuccess (Response Fields) {String} sources.stream_name the stream name for the source
 * @apiSuccess (Response Fields) {String} sources.codec the video codec
 * @apiSuccess (Response Fields) {String} sources.container the video container
 * @apiSuccess (Response Fields) {String} sources.app_name the address for rtmp streams
 * @apiSuccess (Response Fields) {String} sources.type the type (for HLS streams)
 * @apiSuccess (Response Fields) {Object} sources.key_systems set of string values that denote the kind of encryption used for DRM packaged source. If this object is defined, then its source is content protected
{'fraction_non_alphanumeric': 0.09249018193475995, 'fraction_numerical': 0.008335337020117016, 'mean_word_length': 5.3052046488125315, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2240373', 'n_tokens_mistral': 3549, 'n_tokens_neox': 3293, 'n_words': 1418}