/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaConvert { namespace Model { /** * These settings control how the service handles timecodes throughout the job. * These settings don't affect input clipping.

See Also:

AWS * API Reference

*/ class TimecodeConfig { public: AWS_MEDIACONVERT_API TimecodeConfig(); AWS_MEDIACONVERT_API TimecodeConfig(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API TimecodeConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const; /** * If you use an editing platform that relies on an anchor timecode, use Anchor * Timecode to specify a timecode that will match the input video frame to the * output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or * (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior for * Anchor Timecode varies depending on your setting for Source. * If Source is set * to Specified Start, the first input frame is the specified value in Start * Timecode. Anchor Timecode and Start Timecode are used calculate output timecode. * * If Source is set to Start at 0 the first frame is 00:00:00:00. * If Source is * set to Embedded, the first frame is the timecode value on the first input frame * of the input. */ inline const Aws::String& GetAnchor() const{ return m_anchor; } /** * If you use an editing platform that relies on an anchor timecode, use Anchor * Timecode to specify a timecode that will match the input video frame to the * output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or * (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior for * Anchor Timecode varies depending on your setting for Source. * If Source is set * to Specified Start, the first input frame is the specified value in Start * Timecode. Anchor Timecode and Start Timecode are used calculate output timecode. * * If Source is set to Start at 0 the first frame is 00:00:00:00. * If Source is * set to Embedded, the first frame is the timecode value on the first input frame * of the input. */ inline bool AnchorHasBeenSet() const { return m_anchorHasBeenSet; } /** * If you use an editing platform that relies on an anchor timecode, use Anchor * Timecode to specify a timecode that will match the input video frame to the * output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or * (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior for * Anchor Timecode varies depending on your setting for Source. * If Source is set * to Specified Start, the first input frame is the specified value in Start * Timecode. Anchor Timecode and Start Timecode are used calculate output timecode. * * If Source is set to Start at 0 the first frame is 00:00:00:00. * If Source is * set to Embedded, the first frame is the timecode value on the first input frame * of the input. */ inline void SetAnchor(const Aws::String& value) { m_anchorHasBeenSet = true; m_anchor = value; } /** * If you use an editing platform that relies on an anchor timecode, use Anchor * Timecode to specify a timecode that will match the input video frame to the * output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or * (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior for * Anchor Timecode varies depending on your setting for Source. * If Source is set * to Specified Start, the first input frame is the specified value in Start * Timecode. Anchor Timecode and Start Timecode are used calculate output timecode. * * If Source is set to Start at 0 the first frame is 00:00:00:00. * If Source is * set to Embedded, the first frame is the timecode value on the first input frame * of the input. */ inline void SetAnchor(Aws::String&& value) { m_anchorHasBeenSet = true; m_anchor = std::move(value); } /** * If you use an editing platform that relies on an anchor timecode, use Anchor * Timecode to specify a timecode that will match the input video frame to the * output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or * (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior for * Anchor Timecode varies depending on your setting for Source. * If Source is set * to Specified Start, the first input frame is the specified value in Start * Timecode. Anchor Timecode and Start Timecode are used calculate output timecode. * * If Source is set to Start at 0 the first frame is 00:00:00:00. * If Source is * set to Embedded, the first frame is the timecode value on the first input frame * of the input. */ inline void SetAnchor(const char* value) { m_anchorHasBeenSet = true; m_anchor.assign(value); } /** * If you use an editing platform that relies on an anchor timecode, use Anchor * Timecode to specify a timecode that will match the input video frame to the * output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or * (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior for * Anchor Timecode varies depending on your setting for Source. * If Source is set * to Specified Start, the first input frame is the specified value in Start * Timecode. Anchor Timecode and Start Timecode are used calculate output timecode. * * If Source is set to Start at 0 the first frame is 00:00:00:00. * If Source is * set to Embedded, the first frame is the timecode value on the first input frame * of the input. */ inline TimecodeConfig& WithAnchor(const Aws::String& value) { SetAnchor(value); return *this;} /** * If you use an editing platform that relies on an anchor timecode, use Anchor * Timecode to specify a timecode that will match the input video frame to the * output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or * (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior for * Anchor Timecode varies depending on your setting for Source. * If Source is set * to Specified Start, the first input frame is the specified value in Start * Timecode. Anchor Timecode and Start Timecode are used calculate output timecode. * * If Source is set to Start at 0 the first frame is 00:00:00:00. * If Source is * set to Embedded, the first frame is the timecode value on the first input frame * of the input. */ inline TimecodeConfig& WithAnchor(Aws::String&& value) { SetAnchor(std::move(value)); return *this;} /** * If you use an editing platform that relies on an anchor timecode, use Anchor * Timecode to specify a timecode that will match the input video frame to the * output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or * (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior for * Anchor Timecode varies depending on your setting for Source. * If Source is set * to Specified Start, the first input frame is the specified value in Start * Timecode. Anchor Timecode and Start Timecode are used calculate output timecode. * * If Source is set to Start at 0 the first frame is 00:00:00:00. * If Source is * set to Embedded, the first frame is the timecode value on the first input frame * of the input. */ inline TimecodeConfig& WithAnchor(const char* value) { SetAnchor(value); return *this;} /** * Use Source to set how timecodes are handled within this job. To make sure that * your video, audio, captions, and markers are synchronized and that time-based * features, such as image inserter, work correctly, choose the Timecode source * option that matches your assets. All timecodes are in a 24-hour format with * frame number (HH:MM:SS:FF). * Embedded - Use the timecode that is in the input * video. If no embedded timecode is in the source, the service will use Start at 0 * instead. * Start at 0 - Set the timecode of the initial frame to 00:00:00:00. * * Specified Start - Set the timecode of the initial frame to a value other than * zero. You use Start timecode to provide this value. */ inline const TimecodeSource& GetSource() const{ return m_source; } /** * Use Source to set how timecodes are handled within this job. To make sure that * your video, audio, captions, and markers are synchronized and that time-based * features, such as image inserter, work correctly, choose the Timecode source * option that matches your assets. All timecodes are in a 24-hour format with * frame number (HH:MM:SS:FF). * Embedded - Use the timecode that is in the input * video. If no embedded timecode is in the source, the service will use Start at 0 * instead. * Start at 0 - Set the timecode of the initial frame to 00:00:00:00. * * Specified Start - Set the timecode of the initial frame to a value other than * zero. You use Start timecode to provide this value. */ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** * Use Source to set how timecodes are handled within this job. To make sure that * your video, audio, captions, and markers are synchronized and that time-based * features, such as image inserter, work correctly, choose the Timecode source * option that matches your assets. All timecodes are in a 24-hour format with * frame number (HH:MM:SS:FF). * Embedded - Use the timecode that is in the input * video. If no embedded timecode is in the source, the service will use Start at 0 * instead. * Start at 0 - Set the timecode of the initial frame to 00:00:00:00. * * Specified Start - Set the timecode of the initial frame to a value other than * zero. You use Start timecode to provide this value. */ inline void SetSource(const TimecodeSource& value) { m_sourceHasBeenSet = true; m_source = value; } /** * Use Source to set how timecodes are handled within this job. To make sure that * your video, audio, captions, and markers are synchronized and that time-based * features, such as image inserter, work correctly, choose the Timecode source * option that matches your assets. All timecodes are in a 24-hour format with * frame number (HH:MM:SS:FF). * Embedded - Use the timecode that is in the input * video. If no embedded timecode is in the source, the service will use Start at 0 * instead. * Start at 0 - Set the timecode of the initial frame to 00:00:00:00. * * Specified Start - Set the timecode of the initial frame to a value other than * zero. You use Start timecode to provide this value. */ inline void SetSource(TimecodeSource&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** * Use Source to set how timecodes are handled within this job. To make sure that * your video, audio, captions, and markers are synchronized and that time-based * features, such as image inserter, work correctly, choose the Timecode source * option that matches your assets. All timecodes are in a 24-hour format with * frame number (HH:MM:SS:FF). * Embedded - Use the timecode that is in the input * video. If no embedded timecode is in the source, the service will use Start at 0 * instead. * Start at 0 - Set the timecode of the initial frame to 00:00:00:00. * * Specified Start - Set the timecode of the initial frame to a value other than * zero. You use Start timecode to provide this value. */ inline TimecodeConfig& WithSource(const TimecodeSource& value) { SetSource(value); return *this;} /** * Use Source to set how timecodes are handled within this job. To make sure that * your video, audio, captions, and markers are synchronized and that time-based * features, such as image inserter, work correctly, choose the Timecode source * option that matches your assets. All timecodes are in a 24-hour format with * frame number (HH:MM:SS:FF). * Embedded - Use the timecode that is in the input * video. If no embedded timecode is in the source, the service will use Start at 0 * instead. * Start at 0 - Set the timecode of the initial frame to 00:00:00:00. * * Specified Start - Set the timecode of the initial frame to a value other than * zero. You use Start timecode to provide this value. */ inline TimecodeConfig& WithSource(TimecodeSource&& value) { SetSource(std::move(value)); return *this;} /** * Only use when you set Source to Specified start. Use Start timecode to specify * the timecode for the initial frame. Use 24-hour format with frame number, * (HH:MM:SS:FF) or (HH:MM:SS;FF). */ inline const Aws::String& GetStart() const{ return m_start; } /** * Only use when you set Source to Specified start. Use Start timecode to specify * the timecode for the initial frame. Use 24-hour format with frame number, * (HH:MM:SS:FF) or (HH:MM:SS;FF). */ inline bool StartHasBeenSet() const { return m_startHasBeenSet; } /** * Only use when you set Source to Specified start. Use Start timecode to specify * the timecode for the initial frame. Use 24-hour format with frame number, * (HH:MM:SS:FF) or (HH:MM:SS;FF). */ inline void SetStart(const Aws::String& value) { m_startHasBeenSet = true; m_start = value; } /** * Only use when you set Source to Specified start. Use Start timecode to specify * the timecode for the initial frame. Use 24-hour format with frame number, * (HH:MM:SS:FF) or (HH:MM:SS;FF). */ inline void SetStart(Aws::String&& value) { m_startHasBeenSet = true; m_start = std::move(value); } /** * Only use when you set Source to Specified start. Use Start timecode to specify * the timecode for the initial frame. Use 24-hour format with frame number, * (HH:MM:SS:FF) or (HH:MM:SS;FF). */ inline void SetStart(const char* value) { m_startHasBeenSet = true; m_start.assign(value); } /** * Only use when you set Source to Specified start. Use Start timecode to specify * the timecode for the initial frame. Use 24-hour format with frame number, * (HH:MM:SS:FF) or (HH:MM:SS;FF). */ inline TimecodeConfig& WithStart(const Aws::String& value) { SetStart(value); return *this;} /** * Only use when you set Source to Specified start. Use Start timecode to specify * the timecode for the initial frame. Use 24-hour format with frame number, * (HH:MM:SS:FF) or (HH:MM:SS;FF). */ inline TimecodeConfig& WithStart(Aws::String&& value) { SetStart(std::move(value)); return *this;} /** * Only use when you set Source to Specified start. Use Start timecode to specify * the timecode for the initial frame. Use 24-hour format with frame number, * (HH:MM:SS:FF) or (HH:MM:SS;FF). */ inline TimecodeConfig& WithStart(const char* value) { SetStart(value); return *this;} /** * Only applies to outputs that support program-date-time stamp. Use Timestamp * offset to overwrite the timecode date without affecting the time and frame * number. Provide the new date as a string in the format "yyyy-mm-dd". To use * Timestamp offset, you must also enable Insert program-date-time in the output * settings. For example, if the date part of your timecodes is 2002-1-25 and you * want to change it to one year later, set Timestamp offset to 2003-1-25. */ inline const Aws::String& GetTimestampOffset() const{ return m_timestampOffset; } /** * Only applies to outputs that support program-date-time stamp. Use Timestamp * offset to overwrite the timecode date without affecting the time and frame * number. Provide the new date as a string in the format "yyyy-mm-dd". To use * Timestamp offset, you must also enable Insert program-date-time in the output * settings. For example, if the date part of your timecodes is 2002-1-25 and you * want to change it to one year later, set Timestamp offset to 2003-1-25. */ inline bool TimestampOffsetHasBeenSet() const { return m_timestampOffsetHasBeenSet; } /** * Only applies to outputs that support program-date-time stamp. Use Timestamp * offset to overwrite the timecode date without affecting the time and frame * number. Provide the new date as a string in the format "yyyy-mm-dd". To use * Timestamp offset, you must also enable Insert program-date-time in the output * settings. For example, if the date part of your timecodes is 2002-1-25 and you * want to change it to one year later, set Timestamp offset to 2003-1-25. */ inline void SetTimestampOffset(const Aws::String& value) { m_timestampOffsetHasBeenSet = true; m_timestampOffset = value; } /** * Only applies to outputs that support program-date-time stamp. Use Timestamp * offset to overwrite the timecode date without affecting the time and frame * number. Provide the new date as a string in the format "yyyy-mm-dd". To use * Timestamp offset, you must also enable Insert program-date-time in the output * settings. For example, if the date part of your timecodes is 2002-1-25 and you * want to change it to one year later, set Timestamp offset to 2003-1-25. */ inline void SetTimestampOffset(Aws::String&& value) { m_timestampOffsetHasBeenSet = true; m_timestampOffset = std::move(value); } /** * Only applies to outputs that support program-date-time stamp. Use Timestamp * offset to overwrite the timecode date without affecting the time and frame * number. Provide the new date as a string in the format "yyyy-mm-dd". To use * Timestamp offset, you must also enable Insert program-date-time in the output * settings. For example, if the date part of your timecodes is 2002-1-25 and you * want to change it to one year later, set Timestamp offset to 2003-1-25. */ inline void SetTimestampOffset(const char* value) { m_timestampOffsetHasBeenSet = true; m_timestampOffset.assign(value); } /** * Only applies to outputs that support program-date-time stamp. Use Timestamp * offset to overwrite the timecode date without affecting the time and frame * number. Provide the new date as a string in the format "yyyy-mm-dd". To use * Timestamp offset, you must also enable Insert program-date-time in the output * settings. For example, if the date part of your timecodes is 2002-1-25 and you * want to change it to one year later, set Timestamp offset to 2003-1-25. */ inline TimecodeConfig& WithTimestampOffset(const Aws::String& value) { SetTimestampOffset(value); return *this;} /** * Only applies to outputs that support program-date-time stamp. Use Timestamp * offset to overwrite the timecode date without affecting the time and frame * number. Provide the new date as a string in the format "yyyy-mm-dd". To use * Timestamp offset, you must also enable Insert program-date-time in the output * settings. For example, if the date part of your timecodes is 2002-1-25 and you * want to change it to one year later, set Timestamp offset to 2003-1-25. */ inline TimecodeConfig& WithTimestampOffset(Aws::String&& value) { SetTimestampOffset(std::move(value)); return *this;} /** * Only applies to outputs that support program-date-time stamp. Use Timestamp * offset to overwrite the timecode date without affecting the time and frame * number. Provide the new date as a string in the format "yyyy-mm-dd". To use * Timestamp offset, you must also enable Insert program-date-time in the output * settings. For example, if the date part of your timecodes is 2002-1-25 and you * want to change it to one year later, set Timestamp offset to 2003-1-25. */ inline TimecodeConfig& WithTimestampOffset(const char* value) { SetTimestampOffset(value); return *this;} private: Aws::String m_anchor; bool m_anchorHasBeenSet = false; TimecodeSource m_source; bool m_sourceHasBeenSet = false; Aws::String m_start; bool m_startHasBeenSet = false; Aws::String m_timestampOffset; bool m_timestampOffsetHasBeenSet = false; }; } // namespace Model } // namespace MediaConvert } // namespace Aws