Giter VIP home page Giter VIP logo

amazon-kinesis-video-streams-producer-sdk-java's Introduction

Amazon Kinesis Video Streams Producer SDK Java

License

This library is licensed under the Apache License, 2.0.

Introduction

Amazon Kinesis Video Streams makes it easy to securely stream video from connected devices to AWS for analytics, machine learning (ML), and other processing.

The Amazon Kinesis Video Streams Producer SDK Java makes it easy to build an on-device application that securely connects to a video stream, and reliably publishes video and other media data to Kinesis Video Streams. It takes care of all the underlying tasks required to package the frames and fragments generated by the device's media pipeline. The SDK also handles stream creation, token rotation for secure and uninterrupted streaming, processing acknowledgements returned by Kinesis Video Streams, and other tasks.

Resources

  • Developer Guide - For in-depth getting started and usage information.
  • Release Notes - To see the latest features, bug fixes, and changes in the SDK
  • Issues - Report issues and submit pull requests

Prerequisites

  • You can find available pre-built KinesisVideoProducerJNI library in src/main/resources/lib/ for Mac (x64), Ubuntu (x64) and Raspian (x86) and Windows 10. If pre-built libraries did not work for you, "KinesisVideoProducerJNI" native library needs to be built first before running the Java demo application. Please follow the steps in the section Build the native library (KinesisVideoProducerJNI) to run Java Demo App in Producer SDK CPP readme.

Building from Source

Import the Maven project to your IDE, it will find dependency packages from Maven and build.

Examples

Launching Demoapp sample application

Run DemoAppMain.java in ./src/main/demo with JVM arguments set to

-Daws.accessKeyId=<YourAwsAccessKey> -Daws.secretKey=<YourAwsSecretKey> -Dkvs-stream=<YourKinesisVideoStreamName> -Djava.library.path=<NativeLibraryPath> -Dlog4j.configurationFile=log4j2.xml

for non-temporary AWS credential.

-Daws.accessKeyId=<YourAwsAccessKey> -Daws.secretKey=<YourAwsSecretKey> -Daws.sessionToken=<YourAwsSessionToken> -Dkvs-stream=<YourKinesisVideoStreamName> -Djava.library.path=<NativeLibraryPath> -Dlog4j.configurationFile=log4j2.xml

for temporary AWS credential.

Note: NativeLibraryPath must contain your "KinesisVideoProducerJNI" library. File name depends on your Operating System:

  • libKinesisVideoProducerJNI.so for Linux
  • libKinesisVideoProducerJNI.dylib for Mac OS
  • KinesisVideoProducerJNI.dll for Windows

If you are using pre-built libraries, please specify the path of library. Take pre-build library for Mac as example, you can specify src/resources/lib/mac as .

Demo app will start running and putting sample video frames in a loop into Kinesis Video Streams. You can change your stream settings in DemoAppMain.java before you run the app.

Run the demo application from command line

If you want to run the DemoAppMain, follow the steps below. See Prerequisites to find available native library needed to run DemoAppMain.

Change the current working directory to

$ cd /<YOUR_FOLDER_PATH_WHERE_SDK_IS_DOWNLOADED>/amazon-kinesis-video-streams-producer-sdk-java/

Compile and assemble Java SDK, Java Demoapp and the Maven dependencies

$ mvn clean compile assembly:single

Start the demo app

$ java -classpath target/amazon-kinesis-video-streams-producer-sdk-java-1.12.1-jar-with-dependencies.jar -Daws.accessKeyId=<ACCESS_KEY> -Daws.secretKey=<SECRET_KEY> -Dkvs-stream=<KINESIS_VIDEO_STREAM_NAME> -Djava.library.path=<NativeLibraryPath> -Dlog4j.configurationFile=log4j2.xml com.amazonaws.kinesisvideo.demoapp.DemoAppMain

Run API and functionality tests
$ mvn clean test -DargLine="-Daws.accessKeyId=<YourAwsAccessKey> -Daws.secretKey=<YourAwsSecretKey> -Daws.sessionToken=<YourAwsSessionToken> -Djava.library.path=<NativeLibraryPath> -Dlog4j.configurationFile=log4j2.xml"
Run the demo application from Docker

Refer the README.md file in the dockerscripts folder for running the build and demo app within Docker container.

Launching PutMediaDemo sample application

Run PutMediaDemo.java to send sample mkv stream to Kinesis Video Streams. Note: ACCESS_KEY, SECRET_KEY, and a KINESIS_VIDEO_STREAM are required for running this sample application as well. However, this demo application does not require JNI.

-Daws.accessKeyId=<YourAwsAccessKey> -Daws.secretKey=<YourAwsSecretKey> -Dkvs-stream=<YourKinesisVideoStreamName>

for non-temporary AWS credential.

-Daws.accessKeyId=<YourAwsAccessKey> -Daws.secretKey=<YourAwsSecretKey> -Daws.sessionToken=<YourAwsSessionToken> -Dkvs-stream=<YourKinesisVideoStreamName>

Pre-built KinesisVideoProducerJNI library supported platforms

  • Mac OS X (El capitan 10.11 or above)
  • Ubuntu (14.04 or above)
  • Raspian (9 stretch or above)

Additional Examples

For additional examples on using Kinesis Video Streams Java SDK and Kinesis Video Streams Parsing Library refer:

Troubleshooting

If you notice error in loading the native library (JNI), then check the output of ldd or otool

$ ldd libKinesisVideoProducerJNI.so

or in MacOS

$ otool -L libKinesisVideoProducerJNI.dylib

This will provide details on missing libraries during linking; If the output shows missing shared libraries, then run the following commands to link:

Run the following from the build directory in CPP producer SDK:

cmake .. -DBUILD_JNI=TRUE 
make

Then, provide the path to the libKinesisVideoProducerJNI.dylib library.

This should resolve native library loading issues.

Development

The repository is using develop branch as the aggregation and all of the feature development is done in appropriate feature branches. The PRs (Pull Requests) are cut on a feature branch and once approved with all the checks passed they can be merged by a click of a button on the PR tool. The master branch should always be build-able and all the tests should be passing. We are welcoming any contribution to the code base. The master branch contains our most recent release cycle from develop.

Release Notes

Release 1.12.1 (May 2022)

  • Allow updating automaticStreamingFlags (default: AUTOMATIC_STREAMING_INTERMITTENT_PRODUCER) in ClientInfo
  • Allow updating storePressurePolicy (default: CONTENT_STORE_PRESSURE_POLICY_DROP_TAIL_ITEM) in StreamInfo

Release 1.12.0 (February 2022)

  • Update guice from 4.2.3 to 5.1.0
  • Update junit from 4.13.1 to 4.13.2
  • Update mockito-core from 2.18.3 to 4.3.1
  • Update annotations from 2.0.3 to 3.0.1
  • Update commons-lang3 from 3.4 to 3.12.0
  • Update gson from 2.8.2 to 2.9.0
  • Update jsr-275 from 1.0.0 to 0.9.1 (artifact moved)
  • Update commons-io from 2.7 to 2.11.0
  • Update httpasyncclient from 4.1.4 to 4.1.5
  • Replace custom logger with log4j2
  • Obtain PIC logs in Java with JNI
  • Add ProducerFunctionalityTests and ProducerApiTests

Release 1.11.0 (11 September 2020)

  • Improve TLS validation by implementing hostname verification

Release 1.10.0 (29 May 2020)

  • Updated docker scripts to incorporate the changes in producer SDK
  • Provision of CachedInfoMultiAuthServiceCallbacks which implements caching layer and per-stream auth. Useful in the following scenarios:
    • A single client object is used for multiple streams that are intended for different accounts
    • For service proxy type of scenarios

Release 1.9.5 (16 Jan 2020)

  • Remove finalized() function and require explicit call on free() to avoid dangling finalized() causing memory leak.
  • Performance improvement on sending data in multiple ongoing stream in one client.
  • Fix stream information mis-alignment due to missing retention in describeStreamResult

Release 1.9.4 (9 July 2019)

  • License update: KVS SDK is under Apache 2.0 license now.
  • Stablization updates in C layer.
  • Added internal retry logic to handle error case that SDK can recover, i.e. network unstability.
  • Skip over error fragments - SDK will continue skip any invalid fragments are ingested through SDK earlier and continue streaming.
  • Automatic CPD (codec private data) extraction from the stream when CPD is part of the first H264 AnnexB frame.

Release 1.9.3 (12 March 2019)

  • Bug fix to avoid crash due to access to freed native stream object.

Release 1.9.2 (21 Feburary 2019)

  • Bug fix for broken MKV generated due to difference between trackInfoType in Java and C layer.

Release 1.9.1 (19 Feburary 2019)

  • Bug fix for credentials not rotating issue when given credentials expire in less than 40 minutes.
  • Add audio video sample to support injesting multiple track data into Kinesis Video.

Release 1.9.0 (8 Feburary 2019)

  • Bug fix for KinesisVideoClient.unregisterMediaSource() accessing to freed native object issue.
  • Add KinesisVideoClient.freeMediaSource() clean-up function to handle async behavior.

Release 1.8.0 (25 January 2019)

  • Fix duplicate stream error after unregistering media source when service call failed
  • Fix inputstream not closing after stopSync issue
  • Updating the name and description of Java SDK to publish in maven

Release 1.7.0 (3 December 2018)

  • Added support for uploading files(offline mode) to Kinesis Video Stream
  • Additional fixes

Release 1.6.0 (3 December 2018)

  • Remove streamName parameter from KinesisVideoClient.registerMediaSource() as MediaSource already has the stream name in StreamInfo.
  • Add KinesisVideoClient.unregisterMediaSource() to remove MediaSource to KinesisVideoProducerStream binding from KinesisVideoClient. Customers can use unregisterMediaSource() after they stop streaming, so MediaSource data will not to be sent to Kinesis Video Streams.
  • Add getStreamInfo() to MediaSource instead of MediaSourceConfiguration. If customers have implemented their own MediaSource and MediaSourceConfiguration, they would need to provide stream information via MediaSource.getStreamInfo(). The MediaSourceConfiguration.getStreamInfo() will not work.
  • The following classes are no longer publicly available.
  • MediaSource
  • MediaSourceConfiguration
  • MediaSourceSink
  • AbstractKinesisVideoClient
  • NativeKinesisVideoClient
  • BytesGenerator
  • BytesMediaSource
  • BytesMediaSourceConfiguration
  • ProducerStreamSink
  • KinesisVideoServiceClient
  • NativeKinesisVideoProducerJni
  • NativeKinesisVideoProducerStream
  • NativeLibraryLoader
  • KinesisVideoMetrics
  • KinesisVideoProducer
  • KinesisVideoProducerStream
  • KinesisVideoStreamMetrics
  • ReadResult
  • ServiceCallbacks
  • com.amazonaws.kinesisvideo.service.exception.AccessDeniedException
  • com.amazonaws.kinesisvideo.service.exception.AmazonServiceException
  • com.amazonaws.kinesisvideo.service.exception.ResourceInUseException
  • com.amazonaws.kinesisvideo.service.exception.ResourceNotFoundException
  • AckConsumer
  • BlockingAckConsumer
  • DefaultServiceCallbacksImpl

Release 1.5.0 (24 August 2018)

  • Windows native library available for Producer SDK
  • Intermittent producer support
  • Per-stream customized callback support

Release 1.3.1 (23 July 2018)

  • Add reset connection function.
  • Fix key frame data-flag matching issue which could cause parsing issue in decoding process.

Release 1.3.0 (15 March 2018)

  • Provide pre-built KinesisVideoProducerJNI library for Mac (x64), Ubuntu (x64) and Raspian (x86).
  • Remove Lombok dependency on Java Producer SDK.
  • Update instruction in README about KinsisVideoProducerJNI build.
  • Compatible changes in Java Adapter to work with latest changes in Kinesis Video Streams Producer SDK CPP.

Release 1.2.1 (February 2018)

  • Remove some unit tests relying on native library to avoid mvn package build (without -skipTests=true) failure.

Release 1.2.0 (February 2018)

  • Bug fixes and performance enhancement.
  • There are some interface changes to be compatible with native library changes.

Release 1.1.0 (December 2017)

  • Updated JNI code to expose ACKs as callbacks so developer can get more information about how the streaming is going.
  • The version of JNI is bumped to 1.2, this will require corresponding "KinesisVideoProducerJNI" with same version.

Release 1.0.0 (November 2017)

  • First release of the Amazon Kinesis Video Producer SDK Java.

amazon-kinesis-video-streams-producer-sdk-java's People

Contributors

bdhandap avatar chehefen avatar dependabot[bot] avatar disa6302 avatar emcfins avatar hassanctech avatar hyandell avatar ilkkaanttonen avatar lherman-cs avatar mushmal avatar niyatim23 avatar sean-der avatar smp avatar unicornss avatar zhiyua-git avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

amazon-kinesis-video-streams-producer-sdk-java's Issues

Kinesis video stream output

Hi,
I have some problem ,

  1. I use SDK to send video to Kinesis video stream and what is the Kinesis video stream output and how to get the output ?

  2. How can I replace rekognition to other custom ML model with Kinesis video stream ?

set the configure and throttle the video issue

Hello!

I had some issues to set configuration. I wanted to adjust frame rate using CameraMediaSourceConfiguration.Builder().
But it seemed to not work. I put 1 to withFrameRate(int rate) as a parameter but 'video preview' showed the stream smoothly.

final CameraMediaSourceConfiguration configuration =
	new CameraMediaSourceConfiguration.Builder()
.withFrameRate(FPS_1)
.withEncodingBitRate(100000)

I found that it is related to DiscreteTimePeriodsThrottler.java. There is an explanation above, but it is hard to understand. Can anybody explain easily? Or What should I study for understanding? Any link will be helpful. What is encoding bit rate?

Also, in case of horizontal and vertical resolution, I set them as 640 and 480 respectively, but 'video preview' resolution said 1280x720. Here is the code.

final CameraMediaSourceConfiguration configuration =    			
    			.withHorizontalResolution(640)
    			.withVerticalResolution(480)
    			.build();

How do I change thevertical and horizontal resolution?
Thank you in advance.

Will have python sdk?

Hi

Will have python sdk?
Currently, I used python and opencv to generate mkv file. Then upload mkv file via java sdk putMedia. If you can provide python sdk, it will be very helpful.

Thank you.

KinesisVideoProducerJNI UnsatisfiedLinkError on Ubuntu 16.04

OS: Ubuntu 16.04 TLS
Java 8
JDK 1.8

I also tried to follow the troubleshoot instruction at https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp
And it did not work. I have followed the solution in the comment posted on issue #16 and made it sure that "libKinesisVideoProducerJNI.so" file is under "kinesis-video-native-build" directory.
But it's still not working.

Getting runtime exception:

WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .so.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .dylib.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .dll.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.so.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.dylib.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.dll.
ERROR / KinesisVideo: 2018-01-03T14:26Z T1: EXCEPTION: UnsatisfiedLinkError: Unsatisfied link error. Loading native library KinesisVideoProducerJNI failed with java.lang.UnsatisfiedLinkError: /home/sysquare/amazon-kinesis-video-streams-producer-sdk-cpp-master/kinesis-video-native-build/libKinesisVideoProducerJNI.so: liblog4cplus-1.2.so.5: cannot open shared object file: No such file or directory: /home/sysquare/amazon-kinesis-video-streams-producer-sdk-cpp-master/kinesis-video-native-build/libKinesisVideoProducerJNI.so: liblog4cplus-1.2.so.5: cannot open shared object file: No such file or directory
Exception in thread "main" java.lang.RuntimeException: com.amazonaws.kinesisvideo.producer.ProducerException: Failed loading native library
at com.amazonaws.kinesisvideo.demoapp.DemoAppMain.main(DemoAppMain.java:45)
Caused by: com.amazonaws.kinesisvideo.producer.ProducerException: Failed loading native library
at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerJni.initializeLibrary(NativeKinesisVideoProducerJni.java:1061)
at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerJni.create(NativeKinesisVideoProducerJni.java:213)
at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerJni.create(NativeKinesisVideoProducerJni.java:186)
at com.amazonaws.kinesisvideo.client.NativeKinesisVideoClient.initialize(NativeKinesisVideoClient.java:112)
at com.amazonaws.kinesisvideo.java.client.KinesisVideoJavaClientFactory.createKinesisVideoClient(KinesisVideoJavaClientFactory.java:106)
at com.amazonaws.kinesisvideo.java.client.KinesisVideoJavaClientFactory.createKinesisVideoClient(KinesisVideoJavaClientFactory.java:79)
at com.amazonaws.kinesisvideo.demoapp.DemoAppMain.main(DemoAppMain.java:31)

No Ack in logs and no Fragments in kinesis video stream using Java producer

Hi ,

I have set up the code in Eclispe using Java 8 , have full access to Kinesis . On running the DemoApp .Ack (eventType) not displayed in logs and no Fragments message is displayed in Kinesis video preview

Logs below
DEBUG / KinesisVideo: PutFrame index: 100, pts: 15355470940920000, dts: 15355470940920000, duration: 200000, keyFrame: true, flags: 1
DEBUG / KinesisVideo: Kinesis Video client and stream metrics
>> Overall storage size: 1073741824
>> Available storage size: 1073478412
>> Allocated storage size: 263412
>> Total view allocation size: 568041544
>> Total streams frame rate: 22
>> Total streams transfer rate: 2000000
>> Current view duration: 44270000
>> Overall view duration: 44270000
>> Current view size: 259412
>> Overall view size: 259412
>> Current frame rate: 22.964761177665782
>> Current transfer rate: 2000000
DEBUG / KinesisVideo: PutFrame index: 101, pts: 15355470941330000, dts: 15355470941330000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: PutFrame index: 102, pts: 15355470941800000, dts: 15355470941800000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: PutFrame index: 103, pts: 15355470942230000, dts: 15355470942230000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: PutFrame index: 104, pts: 15355470942650000, dts: 15355470942650000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: PutFrame index: 105, pts: 15355470943070000, dts: 15355470943070000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: PutFrame index: 106, pts: 15355470943480000, dts: 15355470943480000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: PutFrame index: 107, pts: 15355470943990000, dts: 15355470943990000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: PutFrame index: 108, pts: 15355470944400000, dts: 15355470944400000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: Received all data, close
ERROR / KinesisVideo: Kinesis Video service client returned an error com.amazonaws.kinesisvideo.service.exception.AccessDeniedException: Access is denied Reporting to Kinesis Video PIC.
INFO / KinesisVideo: putStreamResult uploadHandle 0 status 403
DEBUG / KinesisVideo: PutFrame index: 109, pts: 15355470944850000, dts: 15355470944850000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: PutFrame index: 110, pts: 15355470945260000, dts: 15355470945260000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: PutFrame index: 111, pts: 15355470945700000, dts: 15355470945700000, duration: 200000, keyFrame: false, flags: 0

liblog4cplus-1.2.so.5: cannot open shared object file: No such file or directory (althought it exists in local/lib/)

Hello,

I am trying to execute the demo application on my linux machine from eclipse. The import was successful and the project builds well. Before this, I have also build the producer-sdk-cpp and libKinesisVideoProducerJNI.so also resides in the "kinesis-video-native-build" directory.

I have also adjusted the path to this native library within my eclipse IDE. However, runtime exception is being thrown :

ERROR / KinesisVideo: 2017-12-10T12:30Z T1: EXCEPTION: UnsatisfiedLinkError: Unsatisfied link error. Loading native library KinesisVideoProducerJNI failed with java.lang.UnsatisfiedLinkError: /home/workspace/kinesis/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/libKinesisVideoProducerJNI.so: liblog4cplus-1.2.so.5: cannot open shared object file: No such file or directory

Where this native library needs to reside? Is kinesis-video-native-build/downloads/local/lib/a relevant place for that? I am saying this because kinesis-video-native-build/downloads/local/lib/consists of liblog4cplus-1.2.so.5. As per my understanding, liblog4cplus-1.2 should have been installed by the install-script.

Set MDC context for internal logging

Is there a way to populate MDC for internal logging? Because all HTTP requests are executed in background threads it does not propagate MDC from the application code. It is very useful for troubleshooting but looks like it's not possible. What could be a possible workaround? Is it safe to instantiate multiple KVS client?

Failed to put a frame into the stream.

Hi everyone,

I just try to run DemoAppMain.java but get this error
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .so.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .dylib.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .dll.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.so.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.dylib.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.dll.
INFO / KinesisVideo: Initializing Kinesis Video client
DEBUG / KinesisVideo: calling describe stream: {StreamName: awsVideoRekogTest,}
DEBUG / KinesisVideo: describe stream result: {StreamInfo: {StreamName: awsVideoRekogxxxx,StreamARN: arn:aws:kinesisvideo:us-west-2:xxxxxxx:stream/awsVideoRekogxxxx/1517381810322,MediaType: video/h264,KmsKeyId: arn:aws:kms:us-west-2:xxxxx:alias/aws/kinesisvideo,Version: v4cQGOk7hO2k1dw23JT6,Status: ACTIVE,CreationTime: Wed Jan 31 14:56:50 CST 2018,DataRetentionInHours: 1}}
DEBUG / KinesisVideo: calling tag resource: {StreamARN: arn:aws:kinesisvideo:us-west-2:467417851175:stream/awsVideoRekogTest/1517381810322,Tags: {device=Test Device, stream=Test Stream}}
DEBUG / KinesisVideo: tag resource result: {}
DEBUG / KinesisVideo: calling get data endpoint: {StreamName: awsVideoRekogxxxx,APIName: PUT_MEDIA}
DEBUG / KinesisVideo: get data endpoint result: {DataEndpoint: https://xxxxx.kinesisvideo.us-west-2.amazonaws.com}
DEBUG / KinesisVideo: Stream awsVideoRekogxxxx is ready
DEBUG / KinesisVideo: PutFrame index: 0, pts: 15174701182350000, dts: 15174701182350000, duration: 200000, keyFrame: true, flags: 1
DEBUG / KinesisVideo: Kinesis Video client and stream metrics
>> Overall storage size: 1073741824
>> Available storage size: 1073741824
>> Allocated storage size: 0
>> Total view allocation size: 40056
>> Total streams frame rate: 25
>> Total streams transfer rate: 2000000
>> Current view duration: 0
>> Overall view duration: 0
>> Current view size: 0
>> Overall view size: 0
>> Current frame rate: 25.0
>> Current transfer rate: 2000000
DEBUG / KinesisVideo: Data availability notification. Size: 33709, Duration 200000
DEBUG / KinesisVideo: PutFrame index: 1, pts: 15174701182500000, dts: 15174701182500000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: Stream unblocked notification.
Exception in thread "pool-2-thread-1" java.lang.RuntimeException: com.amazonaws.kinesisvideo.producer.ProducerException: Failed to put a frame into the stream.
at com.amazonaws.kinesisvideo.java.mediasource.file.ImageFileMediaSource.putFrame(ImageFileMediaSource.java:118)
at com.amazonaws.kinesisvideo.java.mediasource.file.ImageFileMediaSource.access$3(ImageFileMediaSource.java:114)
at com.amazonaws.kinesisvideo.java.mediasource.file.ImageFileMediaSource$1.onFrameDataAvailable(ImageFileMediaSource.java:105)
at com.amazonaws.kinesisvideo.java.mediasource.file.ImageFrameSource.generateFrameAndNotifyListener(ImageFrameSource.java:75)
at com.amazonaws.kinesisvideo.java.mediasource.file.ImageFrameSource.access$0(ImageFrameSource.java:69)
at com.amazonaws.kinesisvideo.java.mediasource.file.ImageFrameSource$1.run(ImageFrameSource.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.amazonaws.kinesisvideo.producer.ProducerException: Failed to put a frame into the stream.

Please help me.
Thanks in advance.

PUTMEDIA Api takes around 6-8 seconds in fragment insertion

Hello Guys,
We are using PutMedia call to insert data into Kinesis using JavaCode but the time taken for a 6 second fragment or 1 is almost similar which is around ~6-7 seconds. Why does PutMedia takes so much time?

Logs which we are printing in our code -

-- handleRequest e9d37bbd-7302-11e8-838c-81249a88e8d7 **started @2018.06.18.14.21.38**

-- decodeBase64BinaryToInputStream e9d37bbd-7302-11e8-838c-81249a88e8d7 started **@2018.06.18.14.21.38**

-- decodeBase64BinaryToInputStream e9d37bbd-7302-11e8-838c-81249a88e8d7 ended **@2018.06.18.14.21.38**

-- putMedia e9d37bbd-7302-11e8-838c-81249a88e8d7 started **@2018.06.18.14.21.38**

onAckEvent AckEvent{ackEventType=BUFFERING, fragmentTimecode=0, fragmentNumber='91343852333187539056812414407643238221028496488', errorCode=null, errorId=null}

onAckEvent AckEvent{ackEventType=RECEIVED, fragmentTimecode=0, fragmentNumber='91343852333187539056812414407643238221028496488', errorCode=null, errorId=null}

onAckEvent AckEvent{ackEventType=BUFFERING, fragmentTimecode=5080, fragmentNumber='91343852333187539061764174564784759348323722428', errorCode=null, errorId=null}

onAckEvent AckEvent{ackEventType=RECEIVED, fragmentTimecode=5080, fragmentNumber='91343852333187539061764174564784759348323722428', errorCode=null, errorId=null}

onAckEvent AckEvent{ackEventType=PERSISTED, fragmentTimecode=0, fragmentNumber='91343852333187539056812414407643238221028496488', errorCode=null, errorId=null}

onAckEvent AckEvent{ackEventType=PERSISTED, fragmentTimecode=5080, fragmentNumber='91343852333187539061764174564784759348323722428', errorCode=null, errorId=null}

onComplete
-- putMedia e9d37bbd-7302-11e8-838c-81249a88e8d7 **ended @2018.06.18.14.21.44**

-- handleRequest e9d37bbd-7302-11e8-838c-81249a88e8d7 **ended @2018.06.18.14.21.44**

Code file also attached:
put_media.java.txt

Loading native library KinesisVideoProducerJNI failed

I am facing the same issue while running the sample in my local. I am getting this.
EXCEPTION: UnsatisfiedLinkError: Unsatisfied link error. Loading native library KinesisVideoProducerJNI failed with java.lang.UnsatisfiedLinkError
Because libKinesisVideoProducerJNI.dll is not present. How to generate this on windows machine?

Fragment Decoding Errror in live feed.

Hello
I am trying to do live stream from laptop camera using Java.
With a help from issue#10 It seemes to be successful at sending frame to kinesis video stream.In the acknoldment event from kinesis I get "{"EventType":"PERSISTED","FragmentTimecode":69224,"FragmentNumber":"91343852333181457577334221843140007257583699785"}"

But in media preview here is what I get.

Screenshot 2019-07-08 at 6 30 36 PM.

Eclipse Build Error

Hi,

I'm getting the following build error in Eclipse on Ubuntu 17.10

"Build path specifies execution environment JavaSE-1.7. There are no JREs installed in the workspace that are strictly compatible with this environment." kinesisvideo-java-demo

As per Install Steps for Ubuntu 17.x I installed openjdk-8-jdk

I have done all the prerequisites as per Ubuntu installation instrauctions.
Also - I'm getting a bunch of java errors when opening the project. ( See attached screenshot )
Thanks!

screenshot from 2018-02-20 20-56-11

Fail to use custom mkv

hi , i run PutMediaDemo.java and replace cluster.mkv to my xxxx.mkv , but i am getting below error message :
onAckEvent AckEvent{ackEventType=ERROR, fragmentTimecode=null, fragmentNumber='null', errorCode=MORE_THAN_ONE_TRACK_FOUND, errorId=4005}

Integration for pi Camera

Hi,
I got the Demo App in Java SDK working by building the libKinesisVideoProducerJNI.dylib on mac and placing it in the lib directory. I was able to successfully stream the frame files (h264) to kinesis video. I believe the current implementation of the SDK supports only frame files as the MediaSource. Are there plans for supporting Raspberry Pi Camera (picamera) natively in the Java SDK? If so, what is the ETA?

I couldn't attend the specific workshop @ reinvent where AWS showed streaming the data from Raspberry Pi to Kinesis video realtime. Does it mean that it is already implemented in C++ sdk? Could you please share the details?

Thank you for the support.

Thanks
Babu Srinivasan

Dockerfile typo

As pointed out on the cpp repo,
there's a typo in the Dockerfile, missing dash L26.

RUN ./install-script -a

EXCEPTION: UnsatisfiedLinkError

ERROR / KinesisVideo: 2019-11-04T16:24Z T1: EXCEPTION: UnsatisfiedLinkError: Unsatisfied link error. Loading native library KinesisVideoProducerJNI failed with java.lang.UnsatisfiedLinkError: no KinesisVideoProducerJNI in java.library.path: [<src\main\resources\lib\windows>]: no KinesisVideoProducerJNI in java.library.path: [<src\main\resources\lib\windows>]

how to connect RTSP url in Kinesis video stream

// CHECKSTYLE:SUPPRESS:LineLength
// Need to get key frame configured properly so the output can be decoded. h264 files can be decoded using gstreamer plugin
// gst-launch-1.0 rtspsrc location="YourRtspUri" short-header=TRUE protocols=tcp ! rtph264depay ! decodebin ! videorate ! videoscale ! vtenc_h264_hw allow-frame-reordering=FALSE max-keyframe-interval=25 bitrate=1024 realtime=TRUE ! video/x-h264,stream-format=avc,alignment=au,profile=baseline,width=640,height=480,framerate=1/25 ! multifilesink location=./frame-%03d.h264 index=1

//private static final String IMAGE_FILENAME_FORMAT = "frame-%03d.h264";.
How to Implement correctly

private static final String STREAM_NAME = "my-trail";
private static final int FPS_25 = 25;
private static final String IMAGE_DIR = "src/main/resources/data/h264/";
private static final String IMAGE_FILENAME_FORMAT = "frame-%03d.h264";
private static final int START_FILE_INDEX = 1;
private static final int END_FILE_INDEX = 444;
private final static String rtspUri="rtsp://192...........";
private static final Duration RETENTION_PERIOD = Duration.ofHours(1);

final MediaSource bytesMediaSource = new GStreamerRtspMediaSource(
new URI(rtspUri),
RETENTION_PERIOD,
new Tag[] { new Tag("Produced-By", "Kinesis-Video-GStreamer-Demo") });
Any help..?
Any Sample?
Any one Connect RTSP url Of IP camera and view stream in AWS

could run the demo

when trying to run the demo, i meet a request error, can you help me to diagnose it. the error log is shown as follows:

WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .so.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .dylib.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .dll.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.so.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.dylib.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.dll.
INFO / KinesisVideo: Initializing Kinesis Video client
DEBUG / KinesisVideo: calling describe stream: {StreamName: face_test2,}
Exception in thread "main" java.lang.RuntimeException: com.amazonaws.kinesisvideo.producer.ProducerException: KinesisVideo producer stream creation time out StatusCode: 0xf
	at com.amazonaws.kinesisvideo.demoapp.DemoAppMain.main(DemoAppMain.java:48)
Caused by: com.amazonaws.kinesisvideo.producer.ProducerException: KinesisVideo producer stream creation time out StatusCode: 0xf
	at com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerStream.awaitReady(NativeKinesisVideoProducerStream.java:469)
	at com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createStreamSync(NativeKinesisVideoProducerJni.java:355)
	at com.amazonaws.kinesisvideo.internal.client.NativeKinesisVideoClient.registerMediaSource(NativeKinesisVideoClient.java:130)
	at com.amazonaws.kinesisvideo.demoapp.DemoAppMain.main(DemoAppMain.java:43)
ERROR / KinesisVideo: 2019-01-04T10:44Z T12: EXCEPTION: SdkClientException: Service call failed.: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out
ERROR / KinesisVideo: Kinesis Video service client returned an error com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out. Reporting to Kinesis Video PIC.
DEBUG / KinesisVideo: calling describe stream: {StreamName: face_test2,}
ERROR / KinesisVideo: 2019-01-04T10:44Z T12: EXCEPTION: SdkClientException: Service call failed.: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out
ERROR / KinesisVideo: Kinesis Video service client returned an error com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out. Reporting to Kinesis Video PIC.
DEBUG / KinesisVideo: calling describe stream: {StreamName: face_test2,}
ERROR / KinesisVideo: 2019-01-04T10:44Z T12: EXCEPTION: SdkClientException: Service call failed.: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out
ERROR / KinesisVideo: Kinesis Video service client returned an error com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out. Reporting to Kinesis Video PIC.
DEBUG / KinesisVideo: calling describe stream: {StreamName: face_test2,}
ERROR / KinesisVideo: 2019-01-04T10:45Z T12: EXCEPTION: SdkClientException: Service call failed.: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out
ERROR / KinesisVideo: Kinesis Video service client returned an error com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out. Reporting to Kinesis Video PIC.
DEBUG / KinesisVideo: calling describe stream: {StreamName: face_test2,}
DEBUG / KinesisVideo: describe stream result: {StreamInfo: {StreamName: face_test2,StreamARN: arn:aws:kinesisvideo:us-east-1:389722397239:stream/face_test2/1545632065103,MediaType: video/h264,KmsKeyId: arn:aws:kms:us-east-1:389722397239:alias/aws/kinesisvideo,Version: llbKw19Xmn1rJLg1wzDd,Status: ACTIVE,CreationTime: Mon Dec 24 14:14:25 CST 2018,DataRetentionInHours: 24}}
DEBUG / KinesisVideo: calling tag resource: {StreamARN: arn:aws:kinesisvideo:us-east-1:389722397239:stream/face_test2/1545632065103,Tags: {device=Test Device, stream=Test Stream}}
ERROR / KinesisVideo: 2019-01-04T10:45Z T12: EXCEPTION: SdkClientException: Service call failed.: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out
ERROR / KinesisVideo: Kinesis Video service client returned an error com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out. Reporting to Kinesis Video PIC.

Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_createKinesisVideoClient(): Enter
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_createKinesisVideoClient(): Creating Kinesis Video client.
createKinesisVideoClient(): Creating Kinesis Video Client
heapInitialize(): Initializing native heap with limit size 1073741824, spill ratio 90% and flags 0x00000001
heapInitialize(): Creating AIV heap.
heapInitialize(): Heap is initialized OK
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_createKinesisVideoClient(): Leave
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_createDeviceResultEvent(): Enter
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_createDeviceResultEvent(): create device event for handle 0x000000000346add0.
createDeviceResultEvent(): Create device result event.
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_createDeviceResultEvent(): Leave
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_createKinesisVideoStream(): Enter
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_createKinesisVideoStream(): Creating Kinesis Video stream.
createKinesisVideoStream(): Creating Kinesis Video Stream.
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_createKinesisVideoStream(): Leave
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Enter
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Describe stream event for handle 0x000000000346add0.
describeStreamResultEvent(): Describe stream result event.
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Leave
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Enter
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Describe stream event for handle 0x000000000346add0.
describeStreamResultEvent(): Describe stream result event.
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Leave
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Enter
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Describe stream event for handle 0x000000000346add0.
describeStreamResultEvent(): Describe stream result event.
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Leave
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Enter
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Describe stream event for handle 0x000000000346add0.
describeStreamResultEvent(): Describe stream result event.
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Leave
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Enter
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Describe stream event for handle 0x000000000346add0.
describeStreamResultEvent(): Describe stream result event.
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_describeStreamResultEvent(): Leave
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_tagResourceResultEvent(): Enter
Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_tagResourceResultEvent(): tag resource event for handle 0x0000000003DEBUG / KinesisVideo: calling tag resource: {StreamARN: arn:aws:kinesisvideo:us-east-1:389722397239:stream/face_test2/1545632065103,Tags: {device=Test Device, stream=Test Stream}}
ERROR / KinesisVideo: 2019-01-04T10:45Z T12: EXCEPTION: SdkClientException: Service call failed.: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out
ERROR / KinesisVideo: Kinesis Video service client returned an error com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/52.45.12.208] failed: connect timed out. Reporting to Kinesis Video PIC.
DEBUG / KinesisVideo: calling tag resource: {StreamARN: arn:aws:kinesisvideo:us-east-1:389722397239:stream/face_test2/1545632065103,Tags: {device=Test Device, stream=Test Stream}}
ERROR / KinesisVideo: 2019-01-04T10:46Z T12: EXCEPTION: SdkClientException: Service call failed.: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/34.236.195.233] failed: connect timed out
ERROR / KinesisVideo: Kinesis Video service client returned an error com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/34.236.195.233] failed: connect timed out. Reporting to Kinesis Video PIC.
DEBUG / KinesisVideo: calling tag resource: {StreamARN: arn:aws:kinesisvideo:us-east-1:389722397239:stream/face_test2/1545632065103,Tags: {device=Test Device, stream=Test Stream}}
DEBUG / KinesisVideo: tag resource result: {}
DEBUG / KinesisVideo: calling get data endpoint: {StreamName: face_test2,APIName: PUT_MEDIA}
ERROR / KinesisVideo: 2019-01-04T10:46Z T12: EXCEPTION: SdkClientException: Service call failed.: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/34.236.195.233] failed: connect timed out
ERROR / KinesisVideo: Kinesis Video service client returned an error com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to kinesisvideo.us-east-1.amazonaws.com:443 [kinesisvideo.us-east-1.amazonaws.com/34.236.195.233] failed: connect timed out. Reporting to Kinesis Video PIC.
`

UnsatisfiedLinkError after building on macOS High Sierra (10.13.2)

Hi, I'm getting the UnsatisfiedLinkError others have posted about as well, but I'm seeing it on my mac. I ran the instructions here: https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp, and I see amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/libKinesisVideoProducerJNI.dylib, which seems right, and I'm including the absolute path to kinesis-video-native-build as my -Djava.library.path in the JVM arguments (running in IntelliJ), any help would be appreciated!

On a related note, this page says I should find a KinesisVideoProducerJNI.dylib file, whereas I'm finding a libKinesisVideoProducerJNI.dylib file (note the lib prefix), is that what the docs are talking about, or is there some other issue here?

CLI instructions

Please create CLI instructions; not everyone uses an IDE. Thanks!

After compiling the C++ producer SDK, these are the steps I took:

sudo apt-get install maven

#!/bin/bash

mvn package

jar_files=$(mktemp)

mvn -Dmdep.outputFile=$jar_files dependency:build-classpath

export LD_LIBRARY_PATH=/home/ubuntu/amazon-kinesis-video-streams-producer-sdk-cpp/downloads/local/lib:$LD_LIBRARY_PATH

classpath_values=$(cat $jar_files)

java -classpath target/kinesisvideo-java-demo-1.0-SNAPSHOT.jar:$classpath_values
-Daws.accessKeyId=ACCESS_KEY
-Daws.secretKey=SECRET_KEY
-Djava.library.path=/home/ubuntu/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build
com.amazonaws.kinesisvideo.demoapp.DemoAppMain

rm -Rf $jar_files

rekognition output event records

Q: What is the relationship between video and rekognition output event records length

Q: Is there any parameter in rekognition output handler event records content to represent video timestamp?

We just can use FrameOffsetInSeconds and FragmentNumber to know the records content sequence, but not the timestamp of video ( I want to know FaceSearchResponse appear on what time of the video )

Crash when launching the app while already in session

Hi,
I'm keep getting crash exception when I'm launching the app, after closing it while I was already connected.
I managed to solve it by calling the "signout" every time I launch the app, but it's just a band aid and this issue should be fixed.

I'm running on Galaxy S9 Android 8.0.0

The complete Cat log prints:

02-05 08:41:16.959 18073-18108/com.amazon.myapp.demoapp D/KinesisVideoAndroidClient: Refreshing credentials
02-05 08:41:16.964 18073-18108/com.amazon.myapp.demoapp I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
(HTTPLog)-Static: isSBSettingEnabled false
02-05 08:41:16.971 18073-18108/com.amazon.myapp.demoapp D/TcpOptimizer: TcpOptimizer-ON
02-05 08:41:18.102 18073-18073/com.amazon.myapp.demoapp E/KinesisVideoAndroidClient: 2019-02-05T08:41Z T2: EXCEPTION: ExecutionException: Awaiting for the credentials update threw an exception: com.amazonaws.services.cognitoidentity.model.NotAuthorizedException: Access to Identity 'us-east-1:cb8b84e8-3a24-4d40-a2c6-9468ed183ad1' is forbidden. (Service: AmazonCognitoIdentity; Status Code: 400; Error Code: NotAuthorizedException; Request ID: 0b14dc04-2911-11e9-98c3-8f23ade713f4)
02-05 08:41:18.117 18073-18073/com.amazon.myapp.demoapp A/zygote64: java_vm_ext.cc:504] JNI DETECTED ERROR IN APPLICATION: JNI GetObjectClass called with pending exception java.lang.RuntimeException: Certificate integration is not implemented
java_vm_ext.cc:504] at com.amazonaws.kinesisvideo.producer.AuthInfo com.amazonaws.kinesisvideo.auth.DefaultAuthCallbacks.getDeviceCertificate() (DefaultAuthCallbacks.java:84)
java_vm_ext.cc:504] at com.amazonaws.kinesisvideo.producer.AuthInfo com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.getDeviceCertificate() (NativeKinesisVideoProducerJni.java:604)
java_vm_ext.cc:504] at long com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createKinesisVideoClient(com.amazonaws.kinesisvideo.producer.DeviceInfo) (NativeKinesisVideoProducerJni.java:-2)
java_vm_ext.cc:504] at void com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.create(com.amazonaws.kinesisvideo.producer.DeviceInfo, java.lang.String) (NativeKinesisVideoProducerJni.java:251)
java_vm_ext.cc:504] at void com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createSync(com.amazonaws.kinesisvideo.producer.DeviceInfo, java.lang.String) (NativeKinesisVideoProducerJni.java:263)
java_vm_ext.cc:504] at void com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createSync(com.amazonaws.kinesisvideo.producer.DeviceInfo) (NativeKinesisVideoProducerJni.java:229)
java_vm_ext.cc:504] at com.amazonaws.kinesisvideo.internal.producer.KinesisVideoProducer com.amazonaws.kinesisvideo.internal.client.NativeKinesisVideoClient.initializeNewKinesisVideoProducer(com.amazonaws.kinesisvideo.producer.DeviceInfo) (NativeKinesisVideoClient.java:219)
java_vm_ext.cc:504] at void com.amazonaws.kinesisvideo.internal.client.NativeKinesisVideoClient.initialize(com.amazonaws.kinesisvideo.producer.DeviceInfo) (NativeKinesisVideoClient.java:136)
java_vm_ext.cc:504] at com.amazonaws.kinesisvideo.client.KinesisVideoClient com.amazonaws.mobileconnectors.kinesisvideo.client.KinesisVideoAndroidClientFactory.createKinesisVideoClient(android.content.Context, com.amazonaws.kinesisvideo.client.KinesisVideoClientConfiguration, com.amazonaws.kinesisvideo.producer.DeviceInfo, com.amazonaws.kinesisvideo.common.logging.Log, java.util.concurrent.ScheduledExecutorService) (KinesisVideoAndroidClientFactory.java:139)
java_vm_ext.cc:504] at com.amazonaws.kinesisvideo.client.KinesisVideoClient com.amazonaws.mobileconnectors.kinesisvideo.client.KinesisVideoAndroidClientFactory.createKinesisVideoClient(android.content.Context, com.amazonaws.regions.Regions, com.amazonaws.auth.AWSCredentialsProvider) (KinesisVideoAndroidClientFactory.java:114)
java_vm_ext.cc:504] at android.view.View com.amazon.myapp.demoapp.fragment.StreamConfigurationFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (StreamConfigurationFragment.java:76)
java_vm_ext.cc:504] at android.view.View android.support.v4.app.Fragment.performCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (Fragment.java:2354)
java_vm_ext.cc:504] at void android.support.v4.app.FragmentManagerImpl.moveToState(android.support.v4.app.Fragment, int, int, int, boolean) (FragmentManager.java:1419)
java_vm_ext.cc:504] at void android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(android.support.v4.app.Fragment) (FragmentManager.java:1740)
java_vm_ext.cc:504] at void android.support.v4.app.FragmentManagerImpl.moveToState(int, boolean) (FragmentManager.java:1809)
java_vm_ext.cc:504] at void android.support.v4.app.BackStackRecord.executeOps() (BackStackRecord.java:799)
java_vm_ext.cc:504] at void android.support.v4.app.FragmentManagerImpl.executeOps(java.util.ArrayList, java.util.ArrayList, int, int) (FragmentManager.java:2580)
java_vm_ext.cc:504] at void android.support.v4.app.FragmentManagerImpl.executeOpsTogether(java.util.ArrayList, java.util.ArrayList, int, int) (FragmentManager.java:2367)
java_vm_ext.cc:504] at void android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(java.util.ArrayList, java.util.ArrayList) (FragmentManager.java:2322)
java_vm_ext.cc:504] at boolean android.support.v4.app.FragmentManagerImpl.execPendingActions() (FragmentManager.java:2229)
java_vm_ext.cc:504] at void android.support.v4.app.FragmentManagerImpl.dispatchStateChange(int) (FragmentManager.java:3221)
java_vm_ext.cc:504] at void android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated() (FragmentManager.java:3171)
java_vm_ext.cc:504] at void android.support.v4.app.FragmentController.dispatchActivityCreated() (FragmentController.java:192)
java_vm_ext.cc:504] at void android.support.v4.app.FragmentActivity.onStart() (FragmentActivity.java:560)
java_vm_ext.cc:504] at void android.support.v7.app.AppCompatActivity.onStart() (AppCompatActivity.java:177)
java_vm_ext.cc:504] at void android.app.Instrumentation.callActivityOnStart(android.app.Activity) (Instrumentation.java:1340)
java_vm_ext.cc:504] at void android.app.Activity.performStart() (Activity.java:7200)
java_vm_ext.cc:504] at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2918)
java_vm_ext.cc:504] at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3030)
java_vm_ext.cc:504] at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
java_vm_ext.cc:504] at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1696)
java_vm_ext.cc:504] at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:105)
java_vm_ext.cc:504] at void android.os.Looper.loop() (Looper.java:164)
java_vm_ext.cc:504] at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6938)
java_vm_ext.cc:504] at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
java_vm_ext.cc:504] at void com.android.internal.os.Zygote$MethodAndArgsCaller.run() (Zygote.java:327)
java_vm_ext.cc:504] at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1374)
java_vm_ext.cc:504]
java_vm_ext.cc:504] in call to GetObjectClass
java_vm_ext.cc:504] from long com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createKinesisVideoClient(com.amazonaws.kinesisvideo.producer.DeviceInfo)
java_vm_ext.cc:504] "main" prio=5 tid=1 Runnable
java_vm_ext.cc:504] | group="main" sCount=0 dsCount=0 flags=0 obj=0x7431afe0 self=0x7de60c5a00
java_vm_ext.cc:504] | sysTid=18073 nice=-10 cgrp=default sched=0/0 handle=0x7debdee9c8
java_vm_ext.cc:504] | state=R schedstat=( 639565272 48830812 609 ) utm=54 stm=9 core=6 HZ=100
java_vm_ext.cc:504] | stack=0x7ffac02000-0x7ffac04000 stackSize=8MB
java_vm_ext.cc:504] | held mutexes= "mutator lock"(shared held)
java_vm_ext.cc:504] native: #00 pc 00000000003ae894 /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+212)
java_vm_ext.cc:504] native: #1 pc 000000000047d9fc /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMapb+348)
java_vm_ext.cc:504] native: #2 pc 00000000002e62e8 /system/lib64/libart.so (ZN3art9JavaVMExt8JniAbortEPKcS2+1048)
java_vm_ext.cc:504] native: #3 pc 00000000002e6794 /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+116)
java_vm_ext.cc:504] native: #4 pc 000000000010b238 /system/lib64/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+152)
java_vm_ext.cc:504] native: #5 pc 000000000010acd8 /system/lib64/libart.so (_ZN3art11ScopedCheck11CheckThreadEP7_JNIEnv+536)
java_vm_ext.cc:504] native: #6 pc 0000000000108fd4 /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+868)
java_vm_ext.cc:504] native: #7 pc 00000000000f9ad0 /system/lib64/libart.so (_ZN3art8CheckJNI14GetObjectClassEP7_JNIEnvP8_jobject+640)
java_vm_ext.cc:504] native: #8 pc 0000000000028c34 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (_ZN25KinesisVideoClientWrapper11getAuthInfoEP10_jmethodIDPPhPjPm+188)
java_vm_ext.cc:504] native: #9 pc 000000000000f0c8 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (getAuthInfo+204)
java_vm_ext.cc:504] native: #10 pc 0000000000010ba8 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (executeAuthClientState+24)
java_vm_ext.cc:504] native: #11 pc 00000000000117c4 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (stepStateMachine+364)
java_vm_ext.cc:504] native: #12 pc 000000000000f6a8 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (createKinesisVideoClient+884)
java_vm_ext.cc:504] native: #13 pc 0000000000022ff0 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (ZN25KinesisVideoClientWrapperC1EP7_JNIEnvP8_jobjectS3+132)
java_vm_ext.cc:504] native: #14 pc 000000000002958c /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_createKinesisVideoClient+216)
java_vm_ext.cc:504] native: #15 pc 0000000000536f00 /system/lib64/libart.so (art_quick_generic_jni_trampoline+144)
java_vm_ext.cc:504] native: #16 pc 000000000052db84 /system/lib64/libart.so (art_quick_invoke_stub+580)
java_vm_ext.cc:504] native: #17 pc 00000000000d8688 /system/lib64/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+200)
java_vm_ext.cc:504] native: #18 pc 0000000000291800 /system/lib64/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+352)
java_vm_ext.cc:504] native: #19 pc 000000000028be38 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+680)
java_vm_ext.cc:504] native: #20 pc 0000000000516598 /system/lib64/libart.so (MterpInvokeDirect+504)
java_vm_ext.cc:504] native: #21 pc 000000000051f694 /system/lib64/libart.so (ExecuteMterpImpl+14484)
java_vm_ext.cc:504] native: #22 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
java_vm_ext.cc:504] native: #23 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
java_vm_ext.cc:504] native: #24 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
java_vm_ext.cc:504] native: #25 pc 00000000005151f4 /system/lib64/libart.so (MterpInvokeVirtual+612)
java_vm_ext.cc:504] native: #26 pc 000000000051f594 /system/lib64/libart.so (ExecuteMterpImpl+14228)
java_vm_ext.cc:504] native: #27 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
java_vm_ext.cc:504] native: #28 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
java_vm_ext.cc:504] native: #29 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
java_vm_ext.cc:504] native: #30 pc 00000000005151f4 /system/lib64/libart.so (MterpInvokeVirtual+612)
java_vm_ext.cc:504] native: #31 pc 000000000051f594 /system/lib64/libart.so (ExecuteMterpImpl+14228)
java_vm_ext.cc:504] native: #32 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
java_vm_ext.cc:504] native: #33 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
java_vm_ext.cc:504] native: #34 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
java_vm_ext.cc:504] native: #35 pc 0000000000516270 /system/lib64/libart.so (MterpInvokeInterface+1744)
java_vm_ext.cc:504] native: #36 pc 000000000051f794 /system/lib64/libart.so (ExecuteMterpImpl+14740)
java_vm_ext.cc:504] native: #37 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
java_vm_ext.cc:504] native: #38 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
java_vm_ext.cc:504] native: #39 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
02-05 08:41:18.118 18073-18073/com.amazon.myapp.demoapp A/zygote64: java_vm_ext.cc:504] native: #40 pc 00000000005151f4 /system/lib64/libart.so (MterpInvokeVirtual+612)
java_vm_ext.cc:504] native: #41 pc 000000000051f594 /system/lib64/libart.so (ExecuteMterpImpl+14228)
java_vm_ext.cc:504] native: #42 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
java_vm_ext.cc:504] native: #43 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
java_vm_ext.cc:504] native: #44 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
java_vm_ext.cc:504] native: #45 pc 0000000000516270 /system/lib64/libart.so (MterpInvokeInterface+1744)
java_vm_ext.cc:504] native: #46 pc 000000000051f794 /system/lib64/libart.so (ExecuteMterpImpl+14740)
java_vm_ext.cc:504] native: #47 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
java_vm_ext.cc:504] native: #48 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
java_vm_ext.cc:504] native: #49 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
java_vm_ext.cc:504] native: #50 pc 0000000000516854 /system/lib64/libart.so (MterpInvokeStatic+468)
java_vm_ext.cc:504] native: #51 pc 000000000051f714 /system/lib64/libart.so (ExecuteMterpImpl+14612)
java_vm_ext.cc:504] native: #52 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
java_vm_ext.cc:504] native: #53 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
java_vm_ext.cc:504] native: #54 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
java_vm_ext.cc:504] native: #55 pc 0000000000516854 /system/lib64/libart.so (MterpInvokeStatic+468)
java_vm_ext.cc:504] native: #56 pc 000000000051f714 /system/lib64/libart.so (ExecuteMterpImpl+14612)
java_vm_ext.cc:504] native: #57 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
java_vm_ext.cc:504] native: #58 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
java_vm_ext.cc:504] native: #59 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
java_vm_ext.cc:504] native: #60 pc 00000000005151f4 /system/lib64/libart.so (MterpInvokeVirtual+612)
java_vm_ext.cc:504] native: #61 pc 000000000051f594 /system/lib64/libart.so (ExecuteMterpImpl+14228)
java_vm_ext.cc:504] native: #62 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
java_vm_ext.cc:504] native: #63 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
java_vm_ext.cc:504] at com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createKinesisVideoClient(Native method)
java_vm_ext.cc:504] at com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.create(NativeKinesisVideoProducerJni.java:251)
java_vm_ext.cc:504] - locked <0x00894069> (a java.lang.Object)
java_vm_ext.cc:504] at com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createSync(NativeKinesisVideoProducerJni.java:263)
java_vm_ext.cc:504] at com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createSync(NativeKinesisVideoProducerJni.java:229)
java_vm_ext.cc:504] at com.amazonaws.kinesisvideo.internal.client.NativeKinesisVideoClient.initializeNewKinesisVideoProducer(NativeKinesisVideoClient.java:219)
java_vm_ext.cc:504] at com.amazonaws.kinesisvideo.internal.client.NativeKinesisVideoClient.initialize(NativeKinesisVideoClient.java:136)
java_vm_ext.cc:504] at com.amazonaws.mobileconnectors.kinesisvideo.client.KinesisVideoAndroidClientFactory.createKinesisVideoClient(KinesisVideoAndroidClientFactory.java:139)
java_vm_ext.cc:504] at com.amazonaws.mobileconnectors.kinesisvideo.client.KinesisVideoAndroidClientFactory.createKinesisVideoClient(KinesisVideoAndroidClientFactory.java:114)
java_vm_ext.cc:504] at com.amazon.myapp.demoapp.fragment.StreamConfigurationFragment.onCreateView(StreamConfigurationFragment.java:76)
java_vm_ext.cc:504] at android.support.v4.app.Fragment.performCreateView(Fragment.java:2354)
java_vm_ext.cc:504] at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1419)
java_vm_ext.cc:504] at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1740)
java_vm_ext.cc:504] at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1809)
java_vm_ext.cc:504] at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799)
java_vm_ext.cc:504] at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2580)
java_vm_ext.cc:504] at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2367)
java_vm_ext.cc:504] at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
java_vm_ext.cc:504] at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229)
java_vm_ext.cc:504] at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3221)
java_vm_ext.cc:504] at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3171)
java_vm_ext.cc:504] at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:192)
java_vm_ext.cc:504] at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:560)
java_vm_ext.cc:504] at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:177)
java_vm_ext.cc:504] at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1340)
java_vm_ext.cc:504] at android.app.Activity.performStart(Activity.java:7200)
java_vm_ext.cc:504] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2918)
java_vm_ext.cc:504] at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)
java_vm_ext.cc:504] at android.app.ActivityThread.-wrap11(ActivityThread.java:-1)
java_vm_ext.cc:504] at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
java_vm_ext.cc:504] at android.os.Handler.dispatchMessage(Handler.java:105)
java_vm_ext.cc:504] at android.os.Looper.loop(Looper.java:164)
java_vm_ext.cc:504] at android.app.ActivityThread.main(ActivityThread.java:6938)
java_vm_ext.cc:504] at java.lang.reflect.Method.invoke(Native method)
java_vm_ext.cc:504] at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
java_vm_ext.cc:504] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
java_vm_ext.cc:504]
runtime.cc:516] Runtime aborting...
runtime.cc:516]
runtime.cc:524] JNI DETECTED ERROR IN APPLICATION: JNI GetObjectClass called with pending exception java.lang.RuntimeException: Certificate integration is not implemented
runtime.cc:524] at com.amazonaws.kinesisvideo.producer.AuthInfo com.amazonaws.kinesisvideo.auth.DefaultAuthCallbacks.getDeviceCertificate() (DefaultAuthCallbacks.java:84)
runtime.cc:524] at com.amazonaws.kinesisvideo.producer.AuthInfo com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.getDeviceCertificate() (NativeKinesisVideoProducerJni.java:604)
runtime.cc:524] at long com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createKinesisVideoClient(com.amazonaws.kinesisvideo.producer.DeviceInfo) (NativeKinesisVideoProducerJni.java:-2)
runtime.cc:524] at void com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.create(com.amazonaws.kinesisvideo.producer.DeviceInfo, java.lang.String) (NativeKinesisVideoProducerJni.java:251)
runtime.cc:524] at void com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createSync(com.amazonaws.kinesisvideo.producer.DeviceInfo, java.lang.String) (NativeKinesisVideoProducerJni.java:263)
runtime.cc:524] at void com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createSync(com.amazonaws.kinesisvideo.producer.DeviceInfo) (NativeKinesisVideoProducerJni.java:229)
runtime.cc:524] at com.amazonaws.kinesisvideo.internal.producer.KinesisVideoProducer com.amazonaws.kinesisvideo.internal.client.NativeKinesisVideoClient.initializeNewKinesisVideoProducer(com.amazonaws.kinesisvideo.producer.DeviceInfo) (NativeKinesisVideoClient.java:219)
runtime.cc:524] at void com.amazonaws.kinesisvideo.internal.client.NativeKinesisVideoClient.initialize(com.amazonaws.kinesisvideo.producer.DeviceInfo) (NativeKinesisVideoClient.java:136)
runtime.cc:524] at com.amazonaws.kinesisvideo.client.KinesisVideoClient com.amazonaws.mobileconnectors.kinesisvideo.client.KinesisVideoAndroidClientFactory.createKinesisVideoClient(android.content.Context, com.amazonaws.kinesisvideo.client.KinesisVideoClientConfiguration, com.amazonaws.kinesisvideo.producer.DeviceInfo, com.amazonaws.kinesisvideo.common.logging.Log, java.util.concurrent.ScheduledExecutorService) (KinesisVideoAndroidClientFactory.java:139)
runtime.cc:524] at com.amazonaws.kinesisvideo.client.KinesisVideoClient com.amazonaws.mobileconnectors.kinesisvideo.client.KinesisVideoAndroidClientFactory.createKinesisVideoClient(android.content.Context, com.amazonaws.regions.Regions, com.amazonaws.auth.AWSCredentialsProvider) (KinesisVideoAndroidClientFactory.java:114)
runtime.cc:524] at android.view.View com.amazon.myapp.demoapp.fragment.StreamConfigurationFragment.onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (StreamConfigurationFragment.java:76)
runtime.cc:524] at android.view.View android.support.v4.app.Fragment.performCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) (Fragment.java:2354)
runtime.cc:524] at void android.support.v4.app.FragmentManagerImpl.moveToState(android.support.v4.app.Fragment, int, int, int, boolean) (FragmentManager.java:1419)
runtime.cc:524] at void android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(android.support.v4.app.Fragment) (FragmentManager.java:1740)
runtime.cc:524] at void android.support.v4.app.FragmentManagerImpl.moveToState(int, boolean) (FragmentManager.java:1809)
runtime.cc:524] at void android.support.v4.app.BackStackRecord.executeOps() (BackStackRecord.java:799)
runtime.cc:524] at void android.support.v4.app.FragmentManagerImpl.executeOps(java.util.ArrayList, java.util.ArrayList, int, int) (FragmentManager.java:2580)
runtime.cc:524] at void android.support.v4.app.FragmentManagerImpl.executeOpsTogether(java.util.ArrayList, java.util.ArrayList, int, int) (FragmentManager.java:2367)
runtime.cc:524] at void android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(java.util.ArrayList, java.util.ArrayList) (FragmentManager.java:2322)
runtime.cc:524] at boolean android.support.v4.app.FragmentManagerImpl.execPendingActions() (FragmentManager.java:2229)
runtime.cc:524] at void android.support.v4.app.FragmentManagerImpl.dispatchStateChange(int) (FragmentManager.java:3221)
runtime.cc:524] at void android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated() (FragmentManager.java:3171)
runtime.cc:524] at void android.support.v4.app.FragmentController.dispatchActivityCreated() (FragmentController.java:192)
runtime.cc:524] at void android.support.v4.app.FragmentActivity.onStart() (FragmentActivity.java:560)
runtime.cc:524] at void android.support.v7.app.AppCompatActivity.onStart() (AppCompatActivity.java:177)
runtime.cc:524] at void android.app.Instrumentation.callActivityOnStart(android.app.Activity) (Instrumentation.java:1340)
runtime.cc:524] at void android.app.Activity.performStart() (Activity.java:7200)
runtime.cc:524] at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2918)
runtime.cc:524] at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:3030)
runtime.cc:524] at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
runtime.cc:524] at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1696)
runtime.cc:524] at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:105)
runtime.cc:524] at void android.os.Looper.loop() (Looper.java:164)
runtime.cc:524] at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6938)
runtime.cc:524] at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
runtime.cc:524] at void com.android.internal.os.Zygote$MethodAndArgsCaller.run() (Zygote.java:327)
runtime.cc:524] at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:1374)
runtime.cc:524]
runtime.cc:524] in call to GetObjectClass
runtime.cc:524] from long com.amazonaws.kinesisvideo.internal.producer.jni.NativeKinesisVideoProducerJni.createKinesisVideoClient(com.amazonaws.kinesisvideo.producer.DeviceInfo)
runtime.cc:524] "main" prio=5 tid=1 Runnable
runtime.cc:524] | group="main" sCount=0 dsCount=0 flags=0 obj=0x7431afe0 self=0x7de60c5a00
runtime.cc:524] | sysTid=18073 nice=-10 cgrp=default sched=0/0 handle=0x7debdee9c8
runtime.cc:524] | state=R schedstat=( 639565272 48830812 609 ) utm=54 stm=9 core=6 HZ=100
runtime.cc:524] | stack=0x7ffac02000-0x7ffac04000 stackSize=8MB
runtime.cc:524] | held mutexes= "mutator lock"(shared held)
runtime.cc:524] native: #00 pc 00000000003ae894 /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+212)
runtime.cc:524] native: #1 pc 000000000047d9fc /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMapb+348)
runtime.cc:524] native: #2 pc 00000000002e62e8 /system/lib64/libart.so (ZN3art9JavaVMExt8JniAbortEPKcS2+1048)
runtime.cc:524] native: #3 pc 00000000002e6794 /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+116)
runtime.cc:524] native: #4 pc 000000000010b238 /system/lib64/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+152)
runtime.cc:524] native: #5 pc 000000000010acd8 /system/lib64/libart.so (_ZN3art11ScopedCheck11CheckThreadEP7_JNIEnv+536)
runtime.cc:524] native: #6 pc 0000000000108fd4 /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+868)
runtime.cc:524] native: #7 pc 00000000000f9ad0 /system/lib64/libart.so (_ZN3art8CheckJNI14GetObjectClassEP7_JNIEnvP8_jobject+640)
runtime.cc:524] native: #8 pc 0000000000028c34 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (_ZN25KinesisVideoClientWrapper11getAuthInfoEP10_jmethodIDPPhPjPm+188)
runtime.cc:524] native: #9 pc 000000000000f0c8 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (getAuthInfo+204)
runtime.cc:524] native: #10 pc 0000000000010ba8 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (executeAuthClientState+24)
runtime.cc:524] native: #11 pc 00000000000117c4 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (stepStateMachine+364)
runtime.cc:524] native: #12 pc 000000000000f6a8 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (createKinesisVideoClient+884)
runtime.cc:524] native: #13 pc 0000000000022ff0 /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (ZN25KinesisVideoClientWrapperC1EP7_JNIEnvP8_jobjectS3+132)
runtime.cc:524] native: #14 pc 000000000002958c /data/app/com.amazon.myapp.demoapp-mJ8Z8rUHTdNTgkTQzYjIcg==/lib/arm64/libKinesisVideoProducerJNI.so (Java_com_amazonaws_kinesisvideo_internal_producer_jni_NativeKinesisVideoProducerJni_createKinesisVideoClient+216)
runtime.cc:524] native: #15 pc 0000000000536f00 /system/lib64/libart.so (art_quick_generic_jni_trampoline+144)
02-05 08:41:18.119 18073-18073/com.amazon.myapp.demoapp A/zygote64: runtime.cc:524] native: #16 pc 000000000052db84 /system/lib64/libart.so (art_quick_invoke_stub+580)
runtime.cc:524] native: #17 pc 00000000000d8688 /system/lib64/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+200)
runtime.cc:524] native: #18 pc 0000000000291800 /system/lib64/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+352)
runtime.cc:524] native: #19 pc 000000000028be38 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+680)
runtime.cc:524] native: #20 pc 0000000000516598 /system/lib64/libart.so (MterpInvokeDirect+504)
runtime.cc:524] native: #21 pc 000000000051f694 /system/lib64/libart.so (ExecuteMterpImpl+14484)
runtime.cc:524] native: #22 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
runtime.cc:524] native: #23 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
runtime.cc:524] native: #24 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
runtime.cc:524] native: #25 pc 00000000005151f4 /system/lib64/libart.so (MterpInvokeVirtual+612)
runtime.cc:524] native: #26 pc 000000000051f594 /system/lib64/libart.so (ExecuteMterpImpl+14228)
runtime.cc:524] native: #27 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
runtime.cc:524] native: #28 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
runtime.cc:524] native: #29 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
runtime.cc:524] native: #30 pc 00000000005151f4 /system/lib64/libart.so (MterpInvokeVirtual+612)
runtime.cc:524] native: #31 pc 000000000051f594 /system/lib64/libart.so (ExecuteMterpImpl+14228)
runtime.cc:524] native: #32 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
runtime.cc:524] native: #33 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
runtime.cc:524] native: #34 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
runtime.cc:524] native: #35 pc 0000000000516270 /system/lib64/libart.so (MterpInvokeInterface+1744)
runtime.cc:524] native: #36 pc 000000000051f794 /system/lib64/libart.so (ExecuteMterpImpl+14740)
runtime.cc:524] native: #37 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
runtime.cc:524] native: #38 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
runtime.cc:524] native: #39 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
runtime.cc:524] native: #40 pc 00000000005151f4 /system/lib64/libart.so (MterpInvokeVirtual+612)
runtime.cc:524] native: #41 pc 000000000051f594 /system/lib64/libart.so (ExecuteMterpImpl+14228)
runtime.cc:524] native: #42 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
runtime.cc:524] native: #43 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
runtime.cc:524] native: #44 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
runtime.cc:524] native: #45 pc 0000000000516270 /system/lib64/libart.so (MterpInvokeInterface+1744)
runtime.cc:524] native: #46 pc 000000000051f794 /system/lib64/libart.so (ExecuteMterpImpl+14740)
runtime.cc:524] native: #47 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
runtime.cc:524] native: #48 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
runtime.cc:524] native: #49 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
runtime.cc:524] native: #50 pc 0000000000516854 /system/lib64/libart.so (MterpInvokeStatic+468)
runtime.cc:524] native: #51 pc 000000000051f714 /system/lib64/libart.so (ExecuteMterpImpl+14612)
runtime.cc:524] native: #52 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
runtime.cc:524] native: #53 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
runtime.cc:524] native: #54 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
runtime.cc:524] native: #55 pc 0000000000516854 /system/lib64/libart.so (MterpInvokeStatic+468)
runtime.cc:524] native: #56 pc 000000000051f714 /system/lib64/libart.so (ExecuteMterpImpl+14612)
runtime.cc:524] native: #57 pc 000000000026c000 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+448)
runtime.cc:524] native: #58 pc 00000000002728e4 /system/lib64/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+212)
runtime.cc:524] native: #59 pc 000000000028be18 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+648)
runtime.cc:524] native: #60 pc 00000000005151f4 /system/lib64/libart.so (MterpInvokeVirtual+612)
runtime.cc:524] at android.os.Looper.loop(Looper.java:164)
runtime.cc:524] at android.app.ActivityThread.main(ActivityThread.java:6938)
runtime.cc:524] at java.lang.reflect.Method.invoke(Native method)
runtime.cc:524] at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
runtime.cc:524]
02-05 08:41:18.120 18073-18073/com.amazon.myapp.demoapp A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 18073 (myapp.demoapp)

Issues building on Mac High Sierra (10.13.1)

When trying to run the Mac install script, getting this error;

connect.c:1069:12: error: 'connectx' is only available on macOS 10.11 or newer [-Werror,-Wunguarded-availability]
rc = connectx(sockfd, &endpoints, SAE_ASSOCID_ANY,
^~~~~~~~
/usr/include/sys/socket.h:713:5: note: 'connectx' has been explicitly marked partial here
int connectx(int, const sa_endpoints_t *, sae_associd_t, unsigned int,
^
connect.c:1069:12: note: enclose 'connectx' in a __builtin_available check to silence this warning
rc = connectx(sockfd, &endpoints, SAE_ASSOCID_ANY,
^~~~~~~~
1 error generated.
make[2]: *** [libcurl_la-connect.lo] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

Example for pushing live camera frames directly to kinesis video stream

From my understanding until I have looked into the code and executed it (until now in Java only, trying in cpp but facing issues which have been reported already), I have understood that the sample application in java reads the stored frames from local drive and pushes them to the kinesis stream? However, what I am more interested a producer application that directly streams from the camera and push it to kinesis. Later on I will be using these streams for performing facial recognition.

For this purpose, I have initiated by myself to write a small class (CameraMediaSource) by keeping ImageFileMediaSource as an example class. However, I would like to know how to create kinesis video from from camera source? Is there any example available other than the method createKinesisVideoFrameFromImage() ? Should I be using JavaCv for this purpose? Or is there anything provided/supported in the current SDK?

Many thanks

KinesisVideoProducerJNI UnsatisfiedLinkError

OS: ubuntu 16.04 LTS (on DeepLens)
JAVA:9.0.1

I also tried to follow the troubleshoot instruction at https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp
And it did not work.

Any suggestions?

ERROR / KinesisVideo: 2017-12-31T14:24Z T1: EXCEPTION: UnsatisfiedLinkError: Unsatisfied link error. Loading native library KinesisVideoProducerJNI failed with java.lang.UnsatisfiedLinkError: /home/aws_cam/kvspj/amazon-kinesis-video-streams-producer-sdk-java/target/libKinesisVideoProducerJNI.so: libproducer.so: cannot open shared object file: No such file or directory: /home/aws_cam/kvspj/amazon-kinesis-video-streams-producer-sdk-java/target/libKinesisVideoProducerJNI.so: libproducer.so: cannot open shared object file: No such file or directory
Exception in thread "main" java.lang.RuntimeException: com.amazonaws.kinesisvideo.producer.ProducerException: Failed loading native library
at com.amazonaws.kinesisvideo.demoapp.DemoAppMain.main(DemoAppMain.java:45)
Caused by: com.amazonaws.kinesisvideo.producer.ProducerException: Failed loading native library
at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerJni.initializeLibrary(NativeKinesisVideoProducerJni.java:1061)
at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerJni.create(NativeKinesisVideoProducerJni.java:213)
at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerJni.create(NativeKinesisVideoProducerJni.java:186)
at com.amazonaws.kinesisvideo.client.NativeKinesisVideoClient.initialize(NativeKinesisVideoClient.java:112)
at com.amazonaws.kinesisvideo.java.client.KinesisVideoJavaClientFactory.createKinesisVideoClient(KinesisVideoJavaClientFactory.java:106)
at com.amazonaws.kinesisvideo.java.client.KinesisVideoJavaClientFactory.createKinesisVideoClient(KinesisVideoJavaClientFactory.java:79)
at com.amazonaws.kinesisvideo.demoapp.DemoAppMain.main(DemoAppMain.java:31)

ClassNotFoundException: com.amazonaws.regions.Regions

I have built the jar package: kinesisvideo-java-demo-1.0-SNAPSHOT.jar successfully.
when I run comand: java -jar kinesisvideo-java-demo-1.0-SNAPSHOT.jar -Daws.accessKeyId=xxxxxxxxxxxxx -Daws.secretKey=xxxxxxxxxxxxxx -Djava.library.path=libKinesisVideoProducerJNI.dylib

Exception in thread "main" java.lang.NoClassDefFoundError: com/amazonaws/regions/Regions
at com.amazonaws.kinesisvideo.demoapp.DemoAppMain.main(DemoAppMain.java:30)
Caused by: java.lang.ClassNotFoundException: com.amazonaws.regions.Regions
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more

I have set my region with US_EAST_1 and changed my own stream name with kinesis-video-stream.

Docker Demo requires running install-script

Hello,

I ran through the docker demo application today and hit an issue whereby I was missing links to the requisite libraries. The solution was to run the install scripts in the following directory and accept an agreement to use them.

/opt/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build

I'm happy to update the README documentation for the docker demo, but wanted to check that we couldn't automagically do this on behalf of the user.

RTSP stream

How can I use the PutMedia API to push an RTSP stream from an IP camera to Kinesis from a java application . I am able to run the demp app and it works great :) Was just hoping there could be an example of using a stream from an onvif cameras rtsp's stream . In my case I already have the RTSP stream url but have no idea as to how to push this up....
Any help or examples will be appreciated.
Thanks!!

Undefined methods

Hello,

I have followed the README.md of the cpp-sdk to build the C++ wrapper for JNI on my linux system. Access key and access key id have also been specified to my JVM environment.

I download this java project and it starts to download the dependencies specified in pom.xml and builds. However, after maven have downloaded necessary libraries and built the workspace I get a number of methods to be undefined. Screenshot has been attached. Are there any missing dependencies in the pom.xml? How this can be resolved?
screenshot from 2017-12-09 21-39-52

GetMedia API. How does it work?

Hi,

I have configured the GStreamer plugin as a producer sending streaming from an IP camera to Kinesis trough RTSP.

Now, I want to get each frame as image to do some video analytics (OpenCV pre-processing + DL recognition).

What is the easiest way to get these frames?
I see the Rekognition has a direct integration trough ARN Stream. However, I don't want to use this service.

  1. Is there a easy way to send the image frames directly to S3? (directly from ARN?)
  2. Or the unique way is to get it trough GetMedia API in Java?

I'm following this doc to use GetMediaAPI:
https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/examples-renderer.html

However, even KinesisVideoExample and KinesisVideoRendererExample use InputStream as argument and execute both GetMediaWorker and PutMediaWorker. I changed the code to not execute PutMediaWorker (since my GStreamer producer is already sending frames to this stream). And also commented this streamOps.recreateStreamIfNecessary(); (to not recreate stream in AWS).

But, I can't read stream.

Where can I find one example showing how to read an already existing stream (without put anything)?

KinesisVideoRenderExampleTest fails with an ArrayIndexOutOfBoundsException.

I am attempting to run the KinesisVideoRenderExampleTest locally on OSX. I have been able to successfully run the Java producer in order to write a stream and am now attempting to pull the same stream with no luck. Any idea what else I can try here?

Stack Trace:

java.lang.ArrayIndexOutOfBoundsException
	at java.lang.System.arraycopy(Native Method)
	at org.jcodec.codecs.h264.decode.SliceDecoder.putMacroblock(SliceDecoder.java:198)
	at org.jcodec.codecs.h264.decode.SliceDecoder.decodeMacroblocks(SliceDecoder.java:104)
	at org.jcodec.codecs.h264.decode.SliceDecoder.decodeFromReader(SliceDecoder.java:73)
	at org.jcodec.codecs.h264.H264Decoder$FrameDecoder.decodeFrame(H264Decoder.java:152)
	at org.jcodec.codecs.h264.H264Decoder.decodeFrameFromNals(H264Decoder.java:103)
	at com.amazonaws.kinesisvideo.parser.examples.KinesisVideoRendererExample$ParsingVisitor.visit(KinesisVideoRendererExample.java:230)
	at com.amazonaws.kinesisvideo.parser.mkv.MkvDataElement.accept(MkvDataElement.java:138)
	at com.amazonaws.kinesisvideo.parser.mkv.visitors.CompositeMkvElementVisitor.visitAll(CompositeMkvElementVisitor.java:68)
	at com.amazonaws.kinesisvideo.parser.mkv.visitors.CompositeMkvElementVisitor.visit(CompositeMkvElementVisitor.java:57)
	at com.amazonaws.kinesisvideo.parser.mkv.MkvDataElement.accept(MkvDataElement.java:138)
	at com.amazonaws.kinesisvideo.parser.examples.GetMediaWorker.run(GetMediaWorker.java:93)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Sending image to kinesis video stream.

Hi,

Is there a way to send image jpeg file to kinesis video stream and then use aws rekognition to analyse those files?

I can use the android smartphone camera to capture image and then send it over to kinesis video stream as soon as it is clicked.

Please help if there is any way.
I searched over documentation but couldn't find an example.
Thanks

Kinesis Video Streams data store

Hi ,

I have some questions ,

Amazon Kinesis Video Streams uses Amazon S3 as the underlying data store , but i did not find any info in S3, so. how can i find the underlying data store in S3 and the data format is ?

What is the kinesis video stream output ? I using parsing library to parses the merged output to print out the elements, only their offsets and size of the element in bytes but i can't find any actual video frames data .

The output format as follows:

Element Tags elementNumber 84 offset 916 element header size 8 element data size 235
Element Tag elementNumber 85 offset 924 element header size 6 element data size 229
Element SimpleTag elementNumber 86 offset 930 element header size 6 element data size 91
Element TagName elementNumber 87 offset 936 element header size 6 element data size 32
Tag Name :AWS_KINESISVIDEO_FRAGMENT_NUMBER
Element TagString elementNumber 88 offset 974 element header size 6 element data size 47
Element SimpleTag elementNumber 89 offset 1027 element header size 6 element data size 59
Element TagName elementNumber 90 offset 1033 element header size 6 element data size 33
Tag Name :AWS_KINESISVIDEO_SERVER_TIMESTAMP
Element TagString elementNumber 91 offset 1072 element header size 6 element data size 14
Element SimpleTag elementNumber 92 offset 1092 element header size 6 element data size 61
Element TagName elementNumber 93 offset 1098 element header size 6 element data size 35
Tag Name :AWS_KINESISVIDEO_PRODUCER_TIMESTAMP
Element TagString elementNumber 94 offset 1139 element header size 6 element data size 14
Element Cluster elementNumber 95 offset 1159 element header size 12 element data size 546583
Element CRC-32 elementNumber 96 offset 1171 element header size 2 element data size 4
Element Timecode elementNumber 97 offset 1177 element header size 2 element data size 1
Element SimpleBlock elementNumber 98 offset 1180 element header size 4 element data size 111839
Frame data (size): 111835 Frame(trackNumber=1, timeCode=0, keyFrame=true, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 99 offset 113023 element header size 3 element data size 5911
Frame data (size): 5907 Frame(trackNumber=1, timeCode=33, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 100 offset 118937 element header size 3 element data size 5215
Frame data (size): 5211 Frame(trackNumber=1, timeCode=67, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 101 offset 124155 element header size 3 element data size 4953
Frame data (size): 4949 Frame(trackNumber=1, timeCode=100, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 102 offset 129111 element header size 3 element data size 10084
Frame data (size): 10080 Frame(trackNumber=1, timeCode=133, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 103 offset 139198 element header size 3 element data size 14899
Frame data (size): 14895 Frame(trackNumber=1, timeCode=167, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 104 offset 154100 element header size 3 element data size 8184
Frame data (size): 8180 Frame(trackNumber=1, timeCode=200, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 105 offset 162287 element header size 3 element data size 4531
Frame data (size): 4527 Frame(trackNumber=1, timeCode=233, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 106 offset 166821 element header size 3 element data size 6178
Frame data (size): 6174 Frame(trackNumber=1, timeCode=267, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 107 offset 173002 element header size 3 element data size 11434
Frame data (size): 11430 Frame(trackNumber=1, timeCode=300, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 108 offset 184439 element header size 3 element data size 12073
Frame data (size): 12069 Frame(trackNumber=1, timeCode=333, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 109 offset 196515 element header size 3 element data size 7512
Frame data (size): 7508 Frame(trackNumber=1, timeCode=367, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 110 offset 204030 element header size 3 element data size 9619
Frame data (size): 9615 Frame(trackNumber=1, timeCode=400, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 111 offset 213652 element header size 3 element data size 14909
Frame data (size): 14905 Frame(trackNumber=1, timeCode=433, keyFrame=false, invisible=false, discardable=false, lacing=NO)
Element SimpleBlock elementNumber 112 offset 228564 element header size 3 element data size 7516
Frame data (size): 7512 Frame(trackNumber=1, timeCode=467, keyFrame=false, invisible=false, discardable=false, lacing=NO)
................................................................................................................................................................
................................................................................................................................................................

Can i use parsing libraries to merge multiple streams (ex: Three sections of 10 seconds video) into a single stream(30 seconds video)?

Python Example of PutMedia API

I know the Python SDK is on the roadmap, but do you have any example code for using the PutMedia API with Python? I am trying to put something together, but there are few unknowns such as the format of the x-amzn-producer-start-timestamp header, content type header, what to use as payload when signing the request etc.

Even just a few pointers would be helpful on how we can use the API with Python

README Update for KinesisVideoProducerJNI

I think it would be helpful for users if it is made explicitly clear in the README that the CPP install-script needs to be ran in order to run the demo as it isn't obvious from the current instructions. It is mentioned here that you must build from source to get the "KinesisVideoProducerJNI" library but this information should probably be present in the README section of this repo where the KinesisVideoProducerJNI library is mentioned this repo can presumably be consumed independent of the tutorial in the official docs?

Just a suggestion rather than an issue

Error code on MKV files last fragment for every file when we push using PUTMEDIA API

Hello Guys,
We are using PUTMEDIA API code to push the data to Kinesis Video Stream, the demo file works fine and we are generating feeds from our webcam and storing the MKV files like 1 sec, 5 sec but the last fragment of every file is failing with issue:
onAckEvent AckEvent{ackEventType=ERROR, fragmentTimecode=520, fragmentNumber='91343852333183132549821456210792172991539981790', errorCode=FRAGMENT_TIMECODE_LESSER_THAN_PREVIOUS, errorId=4004}

What are we doing?

  1. We are right now testing with random files(MKV) which we have generated
  2. We are also trying to encode them into base64 and inside decoding and then passing them to the code
    I have attached file for reference:
    bigbuckbunnynew_0.mkv.zip
    This is the file which we are using for testing now.

live stream using java

Hello

I am trying to do live stream from laptop camera using Java.

With a help from issue#10 (Link), It seemes to be successful at sending frame to kinesis video stream. Here is what I get from console.

DEBUG / KinesisVideo: Kinesis Video client and stream metrics
	>> Overall storage size: 1073741824
	>> Available storage size: 1073333536
	>> Allocated storage size: 408288
	>> Total view allocation size: 8072
	>> Total streams frame rate: 6
	>> Total streams transfer rate: 212372
	>> Current view duration: 0
	>> Overall view duration: 25890000
	>> Current view size: 0
	>> Overall view size: 407661
	>> Current frame rate: 6.974047433144237
	>> Current transfer rate: 212372
DEBUG / KinesisVideo: Data availability notification. Upload handle: 0, Size: 21536, Duration 200000 DEBUG / KinesisVideo: Streamed 16384 bytes for stream insup with uploadHandle 0
DEBUG / KinesisVideo: Streamed 5152 bytes for stream insup with uploadHandle 0
DEBUG / KinesisVideo: PutFrame index: 20, pts: 15299987551760000, dts: 15299987551760000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: Data availability notification. Upload handle: 0, Size: 21487, Duration 200000 
DEBUG / KinesisVideo: Streamed 16384 bytes for stream insup with uploadHandle 0
DEBUG / KinesisVideo: Streamed 5103 bytes for stream insup with uploadHandle 0
DEBUG / KinesisVideo: Received ACK bits: 71
{"EventType":"RECEIVED","FragmentTimecode":0,"FragmentNumber":"91343852333181853708243272841796361057028177684"}

DEBUG / KinesisVideo: Received ACK bits: 75
{"EventType":"BUFFERING","FragmentTimecode":2645,"FragmentNumber":"91343852333181853713195032998937882518142135007"}
DEBUG / KinesisVideo: PutFrame index: 21, pts: 15299987552660000, dts: 15299987552660000, duration: 200000, keyFrame: false, flags: 0 
DEBUG / KinesisVideo: Data availability notification. Upload handle: 0, Size: 21647, Duration 200000 DEBUG / KinesisVideo: Streamed 16384 bytes for stream insup with uploadHandle 0 
DEBUG / KinesisVideo: Streamed 5263 bytes for stream insup with uploadHandle 0 
DEBUG / KinesisVideo: PutFrame index: 22, pts: 15299987553140000, dts: 15299987553140000, duration: 200000, keyFrame: false, flags: 0
DEBUG / KinesisVideo: Data availability notification. Upload handle: 0, Size: 21551, Duration 200000DEBUG / KinesisVideo: Streamed 16384 bytes for stream insup with uploadHandle 0DEBUG / KinesisVideo: Streamed 5167 bytes for stream insup with uploadHandle 0
DEBUG / KinesisVideo: Received ACK bits: 72
{"EventType":"PERSISTED","FragmentTimecode":0,"FragmentNumber":"91343852333181853708243272841796361057028177684"} 

However, in aws console, nothing comes up. Other information is like

Codec : avc1.420020 (Profile: Baseline, Level 3.2)
Resolution : 1920x1080 (which is not intended to... It should be 640 x 480)
Bit rate : Unknown
Fragment duration : Unknown

All codes are same as https://github.com/backdoorcodr/amazon-kinesis-video-streams-producer-sdk-java and configuration is like this.


	final CameraMediaSourceConfiguration configuration =  
			new CameraMediaSourceConfiguration.Builder()
			.withFrameRate(FPS_19)
			.withRetentionPeriodInHours(24)
			.withCameraId(webcam.getName())
			.withIsEncoderHardwareAccelerated(false)
			.withEncodingMimeType("video/avc")
			.withNalAdaptationFlags(StreamInfo.NalAdaptationFlags.NAL_ADAPTATION_ANNEXB_NALS)
			.withIsAbsoluteTimecode(false)
			.withEncodingBitRate(200000)
			.withHorizontalResolution(640)
			.withVerticalResolution(480)
			.withCodecPrivateData(codecPrivateData)
			.build();

What will be the problem? I run the code on Ubuntu, VMWare. Could it be memory problem?

Failed loading native library

I am having the same issue as others in loading the native library.
Steps taken:
Using OSX,
ran the install-script from amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build
ran the java-install-script from amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build

Using intelliJ IDEA, in idea.vmoptions set
-Djava.library.path=/absolute/path/to/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build

In https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-java/blob/master/src/main/java/com/amazonaws/kinesisvideo/producer/jni/NativeLibraryLoader.java#L55
is set to
System.load('/absolute/path/to/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build')

Then in intelliJ editor right clicked DemoAppMain and clicked run
it then outputs the following error:
/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java "-javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=49586:/Applications/IntelliJ IDEA CE.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/lib/tools.jar:/Users/romangrewal/t1cgacademy/sp14/t1-academy/kinesis/java/amazon-kinesis-video-streams-producer-sdk-java/target/classes:/Users/romangrewal/.m2/repository/com/amazonaws/aws-java-sdk-core/1.11.172/aws-java-sdk-core-1.11.172.jar:/Users/romangrewal/.m2/repository/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/Users/romangrewal/.m2/repository/org/apache/httpcomponents/httpclient/4.5.2/httpclient-4.5.2.jar:/Users/romangrewal/.m2/repository/org/apache/httpcomponents/httpcore/4.4.4/httpcore-4.4.4.jar:/Users/romangrewal/.m2/repository/commons-codec/commons-codec/1.9/commons-codec-1.9.jar:/Users/romangrewal/.m2/repository/software/amazon/ion/ion-java/1.0.2/ion-java-1.0.2.jar:/Users/romangrewal/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.6.7.1/jackson-databind-2.6.7.1.jar:/Users/romangrewal/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.6.0/jackson-annotations-2.6.0.jar:/Users/romangrewal/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.6.7/jackson-core-2.6.7.jar:/Users/romangrewal/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.6.7/jackson-dataformat-cbor-2.6.7.jar:/Users/romangrewal/.m2/repository/joda-time/joda-time/2.8.1/joda-time-2.8.1.jar:/Users/romangrewal/.m2/repository/com/google/inject/guice/4.0/guice-4.0.jar:/Users/romangrewal/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/Users/romangrewal/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/romangrewal/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/Users/romangrewal/.m2/repository/com/google/guava/guava/21.0/guava-21.0.jar:/Users/romangrewal/.m2/repository/com/google/code/findbugs/annotations/2.0.3/annotations-2.0.3.jar:/Users/romangrewal/.m2/repository/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar:/Users/romangrewal/.m2/repository/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar:/Users/romangrewal/.m2/repository/javax/measure/jsr-275/0.9.1/jsr-275-0.9.1.jar:/Users/romangrewal/.m2/repository/com/google/inject/extensions/guice-multibindings/4.0/guice-multibindings-4.0.jar:/Users/romangrewal/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar:/Users/romangrewal/.m2/repository/com/amazonaws/aws-java-sdk-kinesisvideo/1.11.255/aws-java-sdk-kinesisvideo-1.11.255.jar:/Users/romangrewal/.m2/repository/io/netty/netty-codec-http/4.1.17.Final/netty-codec-http-4.1.17.Final.jar:/Users/romangrewal/.m2/repository/io/netty/netty-codec/4.1.17.Final/netty-codec-4.1.17.Final.jar:/Users/romangrewal/.m2/repository/io/netty/netty-handler/4.1.17.Final/netty-handler-4.1.17.Final.jar:/Users/romangrewal/.m2/repository/io/netty/netty-buffer/4.1.17.Final/netty-buffer-4.1.17.Final.jar:/Users/romangrewal/.m2/repository/io/netty/netty-common/4.1.17.Final/netty-common-4.1.17.Final.jar:/Users/romangrewal/.m2/repository/io/netty/netty-transport/4.1.17.Final/netty-transport-4.1.17.Final.jar:/Users/romangrewal/.m2/repository/io/netty/netty-resolver/4.1.17.Final/netty-resolver-4.1.17.Final.jar:/Users/romangrewal/.m2/repository/com/amazonaws/jmespath-java/1.11.255/jmespath-java-1.11.255.jar com.amazonaws.kinesisvideo.demoapp.DemoAppMain

objc[707]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java (0x10ff0f4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10ff9b4e0). One of the two will be used. Which one is undefined.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .so.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .dylib.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library .dll.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.so.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.dylib.
WARN / KinesisVideo: Unsatisfied link error. Directly loading native library libKinesisVideoProducerJNI.dll.
ERROR / KinesisVideo: 2018-03-07T17:43Z T1: EXCEPTION: UnsatisfiedLinkError: Unsatisfied link error. Loading native library KinesisVideoProducerJNI failed with java.lang.UnsatisfiedLinkError: no KinesisVideoProducerJNI in java.library.path: no KinesisVideoProducerJNI in java.library.path
Exception in thread "main" java.lang.RuntimeException: com.amazonaws.kinesisvideo.producer.ProducerException: Failed loading native library
at com.amazonaws.kinesisvideo.demoapp.DemoAppMain.main(DemoAppMain.java:45)
Caused by: com.amazonaws.kinesisvideo.producer.ProducerException: Failed loading native library
at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerJni.initializeLibrary(NativeKinesisVideoProducerJni.java:1069)
at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerJni.create(NativeKinesisVideoProducerJni.java:220)
at com.amazonaws.kinesisvideo.producer.jni.NativeKinesisVideoProducerJni.create(NativeKinesisVideoProducerJni.java:193)
at com.amazonaws.kinesisvideo.client.NativeKinesisVideoClient.initialize(NativeKinesisVideoClient.java:112)
at com.amazonaws.kinesisvideo.java.client.KinesisVideoJavaClientFactory.createKinesisVideoClient(KinesisVideoJavaClientFactory.java:107)
at com.amazonaws.kinesisvideo.java.client.KinesisVideoJavaClientFactory.createKinesisVideoClient(KinesisVideoJavaClientFactory.java:80)
at com.amazonaws.kinesisvideo.demoapp.DemoAppMain.main(DemoAppMain.java:31)

Process finished with exit code 1

Exception thrown on sending thread: Exception while sending encoded chunk in MKV stream

When I run PutMediaDemo.java, I can see the sample video on AWS Kinesis Video console, but I can't get a full video showing, here is my detailed infomation about error, please note the b5 as following:

Dec 13, 2017 1:33:20 AM com.amazonaws.internal.DefaultServiceEndpointBuilder getServiceEndpoint
信息: {kinesisvideo, us-west-2} was not found in region metadata, trying to construct an endpoint using the standard pattern for this region: 'kinesisvideo.us-west-2.amazonaws.com'.
HTTP/1.1 200 OK
x-amzn-RequestId: 8f5e4b32-df62-11e7-acb6-5954fc2c0a6b
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 12 Dec 2017 17:33:26 GMT

72
{"EventType":"BUFFERING","FragmentTimecode":0,"FragmentNumber":"91343852333193120789800267782983005990846373393"}

71
{"EventType":"RECEIVED","FragmentTimecode":0,"FragmentNumber":"91343852333193120789800267782983005990846373393"}

75
{"EventType":"BUFFERING","FragmentTimecode":2433,"FragmentNumber":"91343852333193120794752027940124532060778351310"}

72
{"EventType":"PERSISTED","FragmentTimecode":0,"FragmentNumber":"91343852333193120789800267782983005990846373393"}

b5
{"EventType":"ERROR","FragmentTimecode":2433,"FragmentNumber":"91343852333193120794752027940124532060778351310","ErrorCode":"FRAGMENT_TIMECODE_LESSER_THAN_PREVIOUS","ErrorId":4004}

0
Received EOF for HTTP chunked encoding data.
ERROR: KinesisVideoStreams 2017-12-13T01:33Z T12: EXCEPTION: RuntimeException: Exception thrown on sending thread: Exception while sending encoded chunk in MKV stream !
HTTP/1.1 200 OK
x-amzn-RequestId: 9c39ec29-df62-11e7-b2ca-3d51b9948330
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 12 Dec 2017 17:33:48 GMT

Invalid mkv data, converting the file with ffmpeg

I'm using this:

ffmpeg -i rtsp://admin:@192.168.1.10:554/live1.sdp -b:v 10M -minrate 10M -maxrate 10M -bufsize 10M -bf 0 input.mkv

That i found here /demoapp/PutMediaDemo.java#L41

But after a couple of fragments successfully RECEIVED, i get this error:

{"EventType":"ERROR","FragmentTimecode":160,"FragmentNumber":"91343852333181481954849475441990835530935416709","ErrorCode":"INVALID_MKV_DATA","ErrorId":4006}

PutMedia error (400 Bad Request) when default Locale has decimal comma

When running the example application I ran into an error where I only received 'HTTP 400 Bad Request' after the first PutMedia call. After hunting for quite a while I noticed that the culprit was the timestamp in the headers with the format "x-amzn-producer-start-timestamp: 1521762736,754". After modifying ito to "x-amzn-producer-start-timestamp: 1521762736.754" it worked.

From the source code (

clientBuilder.header(PRODUCER_START_TIMESTAMP_HEADER, String.format("%.3f", mBuilder.mTimestamp / MILLI_TO_SEC));
) I noticed that the timestamp is created without giving it a Locale which in my case causes it to use Finnish locale with a decimal comma. It can be fixed with changing the line to:

clientBuilder.header(PRODUCER_START_TIMESTAMP_HEADER,
String.format(Locale.US, "%.3f", mBuilder.mTimestamp / MILLI_TO_SEC));

Should I create a PR for this?

Error updating sink with frame

Hi,
I'm trying run the AmazonKinesisVideoDemoApp, i'm finding problems when i run it on virtual devices, when i run it on my mobile it works.
I've tested on two virtual devices:

  • Nexus S, API 23
  • Nexus S, API 27

No one works
It seems that first get an StatusCode: 0x30000005 error and the a StatusCode: 0x3200000c
Please find attached the log file:
logs.txt

No Lib Folder

Hello, As per the readme note, there should be a library folder with producerJNI library. But this is missing. When I tried compiling the C++ project in macOS I got an error. Hence not able to continue. Please direct me to how to get this JNI file to run this.

ReadMe Notes:
Note: NativeLibraryPath must contain your "KinesisVideoProducerJNI" library. (File name depends on your Operating System, "libKinesisVideoProducerJNI.so" for Linux, "libKinesisVideoProducerJNI.dylib" for Mac OS, "KinesisVideoProducerJNI.dll" for Windows)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.