in functions/source/amazon-chime-recordandtranscribe/src/main/java/com/amazonaws/kvstranscribestreaming/utils/KVSUtils.java [133:173]
public static InputStream getInputStreamFromKVS(String streamArn,
Regions region,
String startFragmentNum,
AWSCredentialsProvider awsCredentialsProvider) {
Validate.notNull(streamArn);
Validate.notNull(region);
Validate.notNull(startFragmentNum);
Validate.notNull(awsCredentialsProvider);
AmazonKinesisVideo amazonKinesisVideo = (AmazonKinesisVideo) AmazonKinesisVideoClientBuilder.standard().build();
String endPoint = amazonKinesisVideo.getDataEndpoint(new GetDataEndpointRequest()
.withAPIName(APIName.GET_MEDIA)
.withStreamARN(streamArn)).getDataEndpoint();
AmazonKinesisVideoMediaClientBuilder amazonKinesisVideoMediaClientBuilder = AmazonKinesisVideoMediaClientBuilder.standard()
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endPoint, region.getName()))
.withCredentials(awsCredentialsProvider);
AmazonKinesisVideoMedia amazonKinesisVideoMedia = amazonKinesisVideoMediaClientBuilder.build();
StartSelector startSelector;
if (startFragmentNum != null)
{
startSelector = new StartSelector()
.withStartSelectorType(StartSelectorType.FRAGMENT_NUMBER)
.withAfterFragmentNumber(startFragmentNum);
} else {
startSelector = new StartSelector().withStartSelectorType(StartSelectorType.EARLIEST);
}
GetMediaResult getMediaResult = amazonKinesisVideoMedia.getMedia(new GetMediaRequest()
.withStreamARN(streamArn)
.withStartSelector(startSelector));
logger.info("GetMedia called on stream {} response {} requestId {}", streamArn,
getMediaResult.getSdkHttpMetadata().getHttpStatusCode(),
getMediaResult.getSdkResponseMetadata().getRequestId());
return getMediaResult.getPayload();
}