Skip to content

GetMediaAsync for Aws::KinesisVideoMedia::KinesisVideoMediaClient not working #830

@pasifus

Description

@pasifus

Hi team,

I try to get live video from kinesis using /geMedia. How I see from aws logs it success to get the video using SDK but async. callback in my code not working. Could you help us to understand the problem

Code example:

int main()
{
...
Aws::Client::ClientConfiguration clientConfiguration;
clientConfiguration.region = m_region.c_str();
clientConfiguration.endpointOverride = Aws::String("s-4010bf70.kinesisvideo.us-west-2.amazonaws.com:443");
Aws::Auth::AWSCredentials credentials(m_accessKeyId.c_str(), m_secretKey.c_str());
Aws::KinesisVideoMedia::KinesisVideoMediaClient m_awsKinesisVideoMediaClient = new
Aws::KinesisVideoMedia::KinesisVideoMediaClient(credentials, clientConfiguration);

Aws::KinesisVideoMedia::Model::GetMediaRequest awsRequest;
awsRequest.SetStreamName(m_streamName.c_str());
Aws::KinesisVideoMedia::Model::StartSelector startSelector;
startSelector.SetStartSelectorType(Aws::KinesisVideoMedia::Model::StartSelectorType::NOW);
awsRequest.SetStartSelector(startSelector);
m_awsKinesisVideoMediaClient->GetMediaAsync(awsRequest, std::bind(&OnGetMediaAsyncOutomReceived, this, std::placeholders::_1,
std::placeholders::_2, std::placeholders::_3, std::placeholders::_4));
while(1)
sleep(1);

return 0;
}

void OnGetMediaAsyncOutomReceived(
const Aws::KinesisVideoMedia::KinesisVideoMediaClient* client,
const Aws::KinesisVideoMedia::Model::GetMediaRequest &request,
const Aws::KinesisVideoMedia::Model::GetMediaOutcome &outcome,
const std::shared_ptr &context
)
{
if(!outcome.IsSuccess())
printf("ContentType %s\n", outcome.GetResult().GetContentType().c_str());
else
printf("failed\n");
}

What platform/OS are you using?

Linux/Ubuntu 16.04

What compiler are you using? what version?

g++ (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609

What's your CMake arguments?

cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="kinesisvideo;kinesis-video-media" .. \

Can you provide a TRACE level log? (sanitize any sensitive information)

[INFO] 2018-03-25 13:24:43 Aws_Init_Cleanup [140088836847552] Initiate AWS SDK for C++ with Version:1.4.15
[INFO] 2018-03-25 13:24:43 CurlHttpClient [140088836847552] Initializing Curl library
[INFO] 2018-03-25 13:24:43 CurlHandleContainer [140088836847552] Initializing CurlHandleContainer with size 25
[TRACE] 2018-03-25 13:24:43 AWSClient [140088836847552] Found body, but content-length has not been set, attempting to compute content-length
[DEBUG] 2018-03-25 13:24:43 AWSAuthV4Signer [140088836847552] Calculated sha256 253a3f2046e5555e03da397cf5154a37fff7145179bd8ad924651b9680bedbb3 for payload.
[DEBUG] 2018-03-25 13:24:43 AWSAuthV4Signer [140088836847552] Canonical Header String: content-length:57
content-type:application/x-amz-json-1.1
host:kinesisvideo.us-west-2.amazonaws.com
x-amz-content-sha256:253a3f2046e5555e03da397cf5154a37fff7145179bd8ad924651b9680bedbb3
x-amz-date:20180325T102443Z

[DEBUG] 2018-03-25 13:24:43 AWSAuthV4Signer [140088836847552] Signed Headers value:content-length;content-type;host;x-amz-content-sha256;x-amz-date
[DEBUG] 2018-03-25 13:24:43 AWSAuthV4Signer [140088836847552] Canonical Request String: POST
/getDataEndpoint

content-length:57
content-type:application/x-amz-json-1.1
host:kinesisvideo.us-west-2.amazonaws.com
x-amz-content-sha256:253a3f2046e5555e03da397cf5154a37fff7145179bd8ad924651b9680bedbb3
x-amz-date:20180325T102443Z

content-length;content-type;host;x-amz-content-sha256;x-amz-date
253a3f2046e5555e03da397cf5154a37fff7145179bd8ad924651b9680bedbb3
[DEBUG] 2018-03-25 13:24:43 AWSAuthV4Signer [140088836847552] Final String to sign: AWS4-HMAC-SHA256
20180325T102443Z
20180325/us-west-2/kinesisvideo/aws4_request
bbc8fb59da77c7d23e31a00c68d659485d890dca08958328dd3749e8a45e07cb
[DEBUG] 2018-03-25 13:24:43 AWSAuthV4Signer [140088836847552] Final computed signing hash: 1cfea5e89fa4555e1b26238af4994f8de707451a9c50c549313dbfd192370407
[DEBUG] 2018-03-25 13:24:43 AWSAuthV4Signer [140088836847552] Signing request with: AWS4-HMAC-SHA256 Credential=AKIAID6N7HTCDERNMOKQ/20180325/us-west-2/kinesisvideo/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=1cfea5e89fa4555e1b26238af4994f8de707451a9c50c549313dbfd192370407
[DEBUG] 2018-03-25 13:24:43 AWSClient [140088836847552] Request Successfully signed
[TRACE] 2018-03-25 13:24:43 CurlHttpClient [140088836847552] Making request to https://kinesisvideo.us-west-2.amazonaws.com/getDataEndpoint
[TRACE] 2018-03-25 13:24:43 CurlHttpClient [140088836847552] Including headers:
[TRACE] 2018-03-25 13:24:43 CurlHttpClient [140088836847552] authorization: AWS4-HMAC-SHA256 Credential=AKIAID6N7HTCDERNMOKQ/20180325/us-west-2/kinesisvideo/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=1cfea5e89fa4555e1b26238af4994f8de707451a9c50c549313dbfd192370407
[TRACE] 2018-03-25 13:24:43 CurlHttpClient [140088836847552] content-length: 57
[TRACE] 2018-03-25 13:24:43 CurlHttpClient [140088836847552] content-type: application/x-amz-json-1.1
[TRACE] 2018-03-25 13:24:43 CurlHttpClient [140088836847552] host: kinesisvideo.us-west-2.amazonaws.com
[TRACE] 2018-03-25 13:24:43 CurlHttpClient [140088836847552] user-agent: aws-sdk-cpp/1.4.15 Linux/4.4.0-78-generic x86_64
[TRACE] 2018-03-25 13:24:43 CurlHttpClient [140088836847552] x-amz-content-sha256: 253a3f2046e5555e03da397cf5154a37fff7145179bd8ad924651b9680bedbb3
[TRACE] 2018-03-25 13:24:43 CurlHttpClient [140088836847552] x-amz-date: 20180325T102443Z
[DEBUG] 2018-03-25 13:24:43 CurlHandleContainer [140088836847552] Attempting to acquire curl connection.
[DEBUG] 2018-03-25 13:24:43 CurlHandleContainer [140088836847552] No current connections available in pool. Attempting to create new connections.
[DEBUG] 2018-03-25 13:24:43 CurlHandleContainer [140088836847552] attempting to grow pool size by 2
[INFO] 2018-03-25 13:24:43 CurlHandleContainer [140088836847552] Pool grown by 2
[INFO] 2018-03-25 13:24:43 CurlHandleContainer [140088836847552] Connection has been released. Continuing.
[DEBUG] 2018-03-25 13:24:43 CurlHandleContainer [140088836847552] Returning connection handle 0x1d08530
[DEBUG] 2018-03-25 13:24:43 CurlHttpClient [140088836847552] Obtained connection handle 0x1d08530
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] HTTP/1.1 100 Continue

[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088836847552]

[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] HTTP/1.1 200 OK

[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] x-amzn-RequestId: bcbda8cb-3016-11e8-8a89-914738a96b4a

[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] Content-Type: application/json

[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] Content-Length: 74

[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] Date: Sun, 25 Mar 2018 10:24:45 GMT

[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088836847552]

[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] 74 bytes written to response.
[DEBUG] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] Returned http response code 200
[DEBUG] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] Returned content type application/json
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] Response content-length header: 74
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] Response body length: 74
[DEBUG] 2018-03-25 13:24:45 CurlHttpClient [140088836847552] Releasing curl handle 0x1d08530
[DEBUG] 2018-03-25 13:24:45 CurlHandleContainer [140088836847552] Releasing curl handle 0x1d08530
[DEBUG] 2018-03-25 13:24:45 CurlHandleContainer [140088836847552] Notified waiting threads.
[DEBUG] 2018-03-25 13:24:45 AWSClient [140088836847552] Request returned successful response.
[TRACE] 2018-03-25 13:24:45 AWSClient [140088836847552] Request successful returning.
[INFO] 2018-03-25 13:24:45 CurlHandleContainer [140088836847552] Initializing CurlHandleContainer with size 25
[TRACE] 2018-03-25 13:24:45 AWSClient [140088643487488] Found body, but content-length has not been set, attempting to compute content-length
[DEBUG] 2018-03-25 13:24:45 AWSAuthV4Signer [140088643487488] Calculated sha256 a1f70e46bae108c5aa180aad2f4ddfa43fc250377e38d08a43b588e4e1d3a7d7 for payload.
[DEBUG] 2018-03-25 13:24:45 AWSAuthV4Signer [140088643487488] Canonical Header String: content-length:92
content-type:application/x-amz-json-1.1
host:s-4010bf70.kinesisvideo.us-west-2.amazonaws.com
x-amz-content-sha256:a1f70e46bae108c5aa180aad2f4ddfa43fc250377e38d08a43b588e4e1d3a7d7
x-amz-date:20180325T102445Z

[DEBUG] 2018-03-25 13:24:45 AWSAuthV4Signer [140088643487488] Signed Headers value:content-length;content-type;host;x-amz-content-sha256;x-amz-date
[DEBUG] 2018-03-25 13:24:45 AWSAuthV4Signer [140088643487488] Canonical Request String: POST
/getMedia

content-length:92
content-type:application/x-amz-json-1.1
host:s-4010bf70.kinesisvideo.us-west-2.amazonaws.com
x-amz-content-sha256:a1f70e46bae108c5aa180aad2f4ddfa43fc250377e38d08a43b588e4e1d3a7d7
x-amz-date:20180325T102445Z

content-length;content-type;host;x-amz-content-sha256;x-amz-date
a1f70e46bae108c5aa180aad2f4ddfa43fc250377e38d08a43b588e4e1d3a7d7
[DEBUG] 2018-03-25 13:24:45 AWSAuthV4Signer [140088643487488] Final String to sign: AWS4-HMAC-SHA256
20180325T102445Z
20180325/us-west-2/kinesisvideo/aws4_request
0972acc72e477427bdd1d21c4fcc263f83a7f58066127b48fe92e3413881bdc1
[DEBUG] 2018-03-25 13:24:45 AWSAuthV4Signer [140088643487488] Final computed signing hash: 79ecb214a076f47a72366ab064aa1481a2e43fc0c83ce09bcb3c9fcfc695feb8
[DEBUG] 2018-03-25 13:24:45 AWSAuthV4Signer [140088643487488] Signing request with: AWS4-HMAC-SHA256 Credential=AKIAID6N7HTCDERNMOKQ/20180325/us-west-2/kinesisvideo/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=79ecb214a076f47a72366ab064aa1481a2e43fc0c83ce09bcb3c9fcfc695feb8
[DEBUG] 2018-03-25 13:24:45 AWSClient [140088643487488] Request Successfully signed
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088643487488] Making request to https://s-4010bf70.kinesisvideo.us-west-2.amazonaws.com/getMedia
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088643487488] Including headers:
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088643487488] authorization: AWS4-HMAC-SHA256 Credential=AKIAID6N7HTCDERNMOKQ/20180325/us-west-2/kinesisvideo/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=79ecb214a076f47a72366ab064aa1481a2e43fc0c83ce09bcb3c9fcfc695feb8
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088643487488] content-length: 92
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088643487488] content-type: application/x-amz-json-1.1
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088643487488] host: s-4010bf70.kinesisvideo.us-west-2.amazonaws.com
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088643487488] user-agent: aws-sdk-cpp/1.4.15 Linux/4.4.0-78-generic x86_64
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088643487488] x-amz-content-sha256: a1f70e46bae108c5aa180aad2f4ddfa43fc250377e38d08a43b588e4e1d3a7d7
[TRACE] 2018-03-25 13:24:45 CurlHttpClient [140088643487488] x-amz-date: 20180325T102445Z
[DEBUG] 2018-03-25 13:24:45 CurlHandleContainer [140088643487488] Attempting to acquire curl connection.
[DEBUG] 2018-03-25 13:24:45 CurlHandleContainer [140088643487488] No current connections available in pool. Attempting to create new connections.
[DEBUG] 2018-03-25 13:24:45 CurlHandleContainer [140088643487488] attempting to grow pool size by 2
[INFO] 2018-03-25 13:24:45 CurlHandleContainer [140088643487488] Pool grown by 2
[INFO] 2018-03-25 13:24:45 CurlHandleContainer [140088643487488] Connection has been released. Continuing.
[DEBUG] 2018-03-25 13:24:45 CurlHandleContainer [140088643487488] Returning connection handle 0x7f68e000d600
[DEBUG] 2018-03-25 13:24:45 CurlHttpClient [140088643487488] Obtained connection handle 0x7f68e000d600
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] HTTP/1.1 100 Continue
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488]
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] HTTP/1.1 200 OK
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] x-amzn-RequestId: bd8b802d-3016-11e8-932d-5358de3ee12d
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] Content-Type: video/webm
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] Transfer-Encoding: chunked
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] Date: Sun, 25 Mar 2018 10:24:46 GMT
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488]
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 41 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 12 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 5 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 19 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 12 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 21 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 21 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 21 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 8 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 5 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 3 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 11 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 3 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 35 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 34 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 13 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 32 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 8 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 6 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 6 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 38 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 53 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 6 bytes written to response.
[TRACE] 2018-03-25 13:24:46 CurlHttpClient [140088643487488] 39 bytes written to response.
...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions