aws / amazon-kinesis-video-streams-parser-library

Amazon Kinesis Video Streams parser library is for developers to include in their applications that makes it easy to work with the output of video streams such as retrieving frame-level objects, metadata for fragments, and more.
Apache License 2.0
103 stars 52 forks source link

20 minute delay occur. #114

Closed Arc-Jung closed 3 years ago

Arc-Jung commented 3 years ago

I try to Example: Identifying Objects in Video Streams Using SageMaker ( LINK : https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/examples-sagemaker.html )

I resolve to this example cause bug at lambda invocation 20Min delay. i resolved this bug. May be i think i-frame change is too small. i can adjust parameter to reduce delay. but i want know why late execute lambda at 20 Min delay in java code.

In this example i understand docker image to use SageMaker. but i can't find java code in docker image. I want confirm docker image java code in this repo.

Best regards

DockerImageRepository: Type: String Default: >- 528560246458.dkr.ecr.us-east-1.amazonaws.com/kinesisvideosagemakerintegration_release:V1.0.3 Description: Docker image for Kinesis Video Stream & SageMaker Integration Driver.

Arc-Jung commented 3 years ago

i-Frame is not cause. cause is AWS ECS docker image container. For unknown reasons, AWS ECS container memory usage has increased rapidly. but i don't know memory incerase cause.

Finally i want confirm docker image java code in this repo.

lherman-cs commented 3 years ago

@WooSung-Jung Unfortunately, we didn't open source the Dockerfile. I'm not sure where the delay is coming from as there's no logs. Could you try to exec into the docker container and get more diagnosis?

Arc-Jung commented 3 years ago

I don't connect to ECS container to confirm log files. But ECS container don't connect SSH. If I want connect ECS container, I modify setting at init ECS container. But ECS container had been made CloudFormation. I not found AWS CLI command at SSH connect option. Only one way is this, I can see Container insight in CloudWatch. I write log to had increased memory in Container insight

07:18:21.089 [main] WARN com.amazonaws.services.kinesis.metrics.impl.MetricsHelper - No metrics scope set in thread main, getMetricsScope returning NullMetricsScope.

07:18:20.732 [main] INFO com.amazonaws.internal.DefaultServiceEndpointBuilder - {runtime.sagemaker, ap-northeast-2} was not found in region metadata, trying to construct an endpoint using the standard pattern for this region: 'runtime.sagemaker.ap-northeast-2.amazonaws.com'.

2020-10-17 16:18:2807:18:28.016 [Worker-thread-0] INFO com.amazonaws.kinesisvideo.parser.mkv.StreamingMkvReader - byteSource has reached eof0dc3baf4c1064d36a277b36bc1b0a335
2020-10-17 16:18:2807:18:28.017 [Worker-thread-0] INFO com.amazonaws.kinesisvideo.parser.mkv.StreamingMkvReader - byteSource has reached eof and calling close on parser0dc3baf4c1064d36a277b36bc1b0a335
2020-10-17 16:18:2807:18:28.017 [Worker-thread-0] INFO com.amazonaws.kinesisvideo.parser.ebml.EBMLParser - Closing EBMLParser0dc3baf4c1064d36a277b36bc1b0a335
2020-10-17 16:18:2807:18:28.017 [Worker-thread-0] INFO com.amazonaws.kinesisvideo.parser.ebml.EBMLParser - Closing with 0 master elements on stack, invoking end element callback on them0dc3baf4c1064d36a277b36bc1b0a335
2020-10-17 16:18:2807:18:28.017 [Worker-thread-0] INFO com.amazonaws.kinesisvideo.parser.mkv.StreamingMkvReader - byteSource has reached eof0dc3baf4c1064d36a277b36bc1b0a335
2020-10-17 16:18:2807:18:28.017 [Worker-thread-0] INFO com.amazonaws.kinesisvideo.parser.mkv.StreamingMkvReader - No more elements to process byteSource.eof true parser.isClosed true

2020-10-17 16:18:2407:18:24.751 [Worker-thread-0] INFO com.amazonaws.kinesisvideo.parser.ebml.EBMLParser - Creating EBMLParser with maxContentBytesInOnePass 81920dc3baf4c1064d36a277b36bc1b0a335
2020-10-17 16:18:2407:18:24.743 [Worker-thread-0] INFO com.amazonaws.kinesisvideo.parser.mkv.StreamingMkvReader - byteSource has reached eof0dc3baf4c1064d36a277b36bc1b0a335
2020-10-17 16:18:2407:18:24.743 [Worker-thread-0] INFO com.amazonaws.kinesisvideo.parser.mkv.StreamingMkvReader - No more elements to process byteSource.eof true parser.isClosed true

2020-10-17 16:19:0707:19:07.515 [Worker-thread-0] INFO com.amazonaws.kinesisvideo.parser.mkv.StreamingMkvReader - No more elements to process byteSource.eof true parser.isClosed true

But i don't know cause. I want this docker files java code.

Arc-Jung commented 3 years ago

I can search code in error log. it is it

https://github.com/aws/amazon-kinesis-video-streams-parser-library/blob/1b2019d512575a986fe2dcfcbe71cb636c31f14a/src/main/java/com/amazonaws/kinesisvideo/parser/ebml/EBMLParser.java#L167

lherman-cs commented 3 years ago

@WooSung-Jung unfortunately, there's not enough information to make this actionable, and we no longer maintain and enhance this example anymore.

Arc-Jung commented 3 years ago

Cause is Kinesis Video Streams throttling. Please issue close.

gem-aniketyadav commented 10 months ago

Do we have the updated Docker file or ECR repo URL for the latest version i.e, 1.2.5. As the current version 1.0.3 is far outdated.