awslabs / amazon-kinesis-video-streams-producer-sdk-cpp

Amazon Kinesis Video Streams Producer SDK for C++ is for developers to install and customize for their connected camera and other devices to securely stream video, audio, and time-encoded data to Kinesis Video Streams.
Apache License 2.0
379 stars 335 forks source link

Stream video to your Kinesis video stream and view the live stream #1188

Open himadrii27 opened 5 months ago

himadrii27 commented 5 months ago

On running the command ./kvs_gstreamer_sample camera_37 rtsp://user:password@192.168.1.37:554/Streaming/Channels/102/ I am getting the error Creating IoT auth callbacks. [ERROR] [17-06-2024 09:22:32:860.195 GMT] Unable to create Iot Credential provider. Error status: 0x4000000e [ERROR] [17-06-2024 09:22:32:860.422 GMT] Failed to initialize kinesis video with an exception: Unable to create Iot Credential provider. Error status: 0x4000000e and 0x4000000e means STATUS_DIRECTORY_ENTRY_STAT_ERROR as per the following documentation. There is no recommended action for this on the documentation.

Do you have any idea how to fix this?

disa6302 commented 5 months ago

@himadrii27 ,

These are some common situations the error could be thrown:

  1. If the path provided to fstat is invalid (e.g., the file does not exist, or there is a typo in the path
  2. If the process does not have the necessary permissions to access the file or directory
  3. An I/O error occurred while trying to retrieve the file status. This could be due to hardware issues or file system corruption

Could you confirm the path provided for the IoT certs is infact valid and has all the necessary permissions?

sirknightj commented 5 months ago

You can also double-check the YouTube tutorial to see if you are missing anything: https://www.youtube.com/watch?v=YoOYTCD_v3Q, it shows running the sample with IoT certificate (X.509) credentials.

Note that for quicker testing, you can also use a standard iam credentials (export AWS_ACCESS_KEY_ID=...): https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-send-data.html#send-data-run-samples

himadrii27 commented 5 months ago

@himadrii27 ,

These are some common situations the error could be thrown:

  1. If the path provided to fstat is invalid (e.g., the file does not exist, or there is a typo in the path
  2. If the process does not have the necessary permissions to access the file or directory
  3. An I/O error occurred while trying to retrieve the file status. This could be due to hardware issues or file system corruption

Could you confirm the path provided for the IoT certs is infact valid and has all the necessary permissions?

himadrii27 commented 5 months ago

@himadrii27 ,

These are some common situations the error could be thrown:

  1. If the path provided to fstat is invalid (e.g., the file does not exist, or there is a typo in the path
  2. If the process does not have the necessary permissions to access the file or directory
  3. An I/O error occurred while trying to retrieve the file status. This could be due to hardware issues or file system corruption

Could you confirm the path provided for the IoT certs is infact valid and has all the necessary permissions?

yea, the path provided for the IoT certs is valid and it has the following permissions

PHOTO-2024-06-18-13-44-42

himadrii27 commented 5 months ago

You can also double-check the YouTube tutorial to see if you are missing anything: https://www.youtube.com/watch?v=YoOYTCD_v3Q, it shows running the sample with IoT certificate (X.509) credentials.

Note that for quicker testing, you can also use a standard iam credentials (export AWS_ACCESS_KEY_ID=...): https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-send-data.html#send-data-run-samples

you mean having all the certificates in cert file and then proceeding? yea, i already did that

sirknightj commented 3 days ago

Do you have the CA_CERT_PATH cert path set? It should point to the AmazonRootCA1.pem file. You can do ls $CA_CERT_PATH to confirm that the path is set correctly.