aws-robotics / kinesisvideo-ros1 Goto Github PK
View Code? Open in Web Editor NEWROS packages for facilitating the use of AWS cloud services.
License: Apache License 2.0
ROS packages for facilitating the use of AWS cloud services.
License: Apache License 2.0
Hi guys,
I'm trying to connect my camera to Kinesis and I'm facing the following error when I start the kinesis_video_streamer with my config file:
[FATAL] [1550936504.944780017]: [Initialize] Failed to initialize video producer. Error code: 4099
However, I'm able to echo hz the topic publishing the encoded data from my camera using the h264_video_encoder. I used the apt-get installation.
Thanks
Hi,
Is there any interest in adding start/stop feature through service or topic and optionally dynamic_reconfigure?
This would also require changes to kinesisvideo-common.
I'm willing to PR.
I am having an issue that I cannot have multiple video streams running at the same time. I got this working with 1 stream however when I try to use 2 or 3 then the system encounters the following error at the framerate of the camera. Everything works normally until this point when the errors start showing up after everything is done initializing.
[ERROR] [1601414471.746840163]: [KinesisVideoStreamSetup] Skipping stream id 0 due to failure initializing stream. Error code: 4109
[ERROR] [1601414471.748540212]: [ProcessCodecPrivateDataForStream] KinesisVideoStreamSetup failed, uninstalling subscriptions to /video/encoded_0 Error code: 4109
[ WARN] [1601414471.748683914]: [KinesisVideoFrameTransportCallback] testStream1 failed updating codec data, error code: 4109. Continuing streaming as a best effort, but you might not be able to decode and render the stream.
[ WARN] [1601414471.748781209]: [KinesisVideoFrameTransportCallback] testStream1 PutFrame failed. Error code: 4101
My parameters are as follows:
PARAMETERS
NODES
/
h264_video_encoder_0 (h264_video_encoder/h264_video_encoder)
h264_video_encoder_1 (h264_video_encoder/h264_video_encoder)
kinesis_video_streamer (kinesis_video_streamer/kinesis_video_streamer)
/cam_0/
gscam_driver_v4l_0 (gscam/gscam)
/cam_1/
gscam_driver_v4l_1 (gscam/gscam)
Attached are my launch and configuration files.
h264_0.txt
h264_1.txt
kinesis_node.txt
kinesis_stream_0.txt
kinesis_stream_1.txt
visionstreamer.txt
To be clear this works perfectly fine with one stream
Thanks for any help you can provide.
-- Aaron
hello,
I have a raspberry pi 4 [ubuntu 18.04 /melodic] used picamera
I have followed the steps which are mentioned in readme without facing an error, used usb_cam node for getting video data and successfully received data in rostopic ,
here are few parameters I changed
changed region to us-east-1
subscription_topic: /usb_cam/image_raw
topic_type: 2
then launched
roslaunch usb_cam usb_cam-test.launch
&
roslaunch kinesis_video_streamer sample_application.launch
while doing media playback am getting following error
No media found
Verify that you are streaming to us-east-1 and the fragment timecodes are correct or download the Kinesis Video Streams Producer SDK to set up your device.
and on launch file of roslaunch kinesis_video_streamer sample_application.launch
I get the following error
[ImageTransportCallback] test PutFrame failed. Error code: 4102
how to solve this?
Thank you
Hi, just installed your software and I did setup.
In kinesis I created a new user with following policy as described in raspcam tutorial:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesisvideo:DescribeStream", "kinesisvideo:CreateStream", "kinesisvideo:GetDataEndpoint", "kinesisvideo:PutMedia" ], "Resource": [ "*" ] } ] }
I want just to publish on kinesis this topic /camera/color/image_raw
.
So I changed subscription_topic and topic_type.
I putted stream_name "prova2" and on kinesis, after updating webpage, appears stream "prova2" so I believe that connection works.
Unfortunaterly I got black image with loading animation, after a while "no video fragment" appears.
How I can solve it?
I'm taking part in an AWS-run community time trial race at work. I am only using the DeepRacer console, no custom SageMaker or ros anything.
I'm getting this error, and I have no idea why - is it related to trying to watch the video while the training is going on?
[s3] Successfully uploaded metrics to s3 bucket aws-deepracer-data-us-east-1-1 with s3 key data-e484e974-f9ba-4fae-8dbc-dc0d7b77b7f5/models/c399a855-842f-472c-bb8b-9481fb7848f5/metrics/training/training-20211215111804-lfOvfPcVQyi65y4LZ7waig.json.
Testing> Name=main_level/agent, Worker=0, Episode=20, Total reward=1.6403027683936851e+31, Steps=496, Training iteration=0
## agent: Finished evaluation phase. Success rate = 0.0, Avg Total Reward = 1.6403027683936851e+31
Waiting to flush the Mp4 queue for racecar_0...
Done flushing the Mp4 queue for racecar_0...
[s3] Successfully uploaded simtrace_training to s3 bucket aws-deepracer-data-us-east-1-1 with s3 key data-e484e974-f9ba-4fae-8dbc-dc0d7b77b7f5/models/c399a855-842f-472c-bb8b-9481fb7848f5/sim-trace/training/training-simtrace/0-iteration.csv.
[s3] Successfully uploaded pip to s3 bucket aws-deepracer-data-us-east-1-1 with s3 key data-e484e974-f9ba-4fae-8dbc-dc0d7b77b7f5/models/c399a855-842f-472c-bb8b-9481fb7848f5/videos/training/training-20211215111804-lfOvfPcVQyi65y4LZ7waig/camera-pip/0-video.mp4.
[s3] Successfully uploaded degree45 to s3 bucket aws-deepracer-data-us-east-1-1 with s3 key data-e484e974-f9ba-4fae-8dbc-dc0d7b77b7f5/models/c399a855-842f-472c-bb8b-9481fb7848f5/videos/training/training-20211215111804-lfOvfPcVQyi65y4LZ7waig/camera-45degree/0-video.mp4.
[s3] Successfully uploaded topview to s3 bucket aws-deepracer-data-us-east-1-1 with s3 key data-e484e974-f9ba-4fae-8dbc-dc0d7b77b7f5/models/c399a855-842f-472c-bb8b-9481fb7848f5/videos/training/training-20211215111804-lfOvfPcVQyi65y4LZ7waig/camera-topview/0-video.mp4.
�[33m[ WARN] [1639567602.880610919, 69.944000000]: [KinesisVideoFrameTransportCallback] dr-kvs-372026249783-20211215111803-e59dae08-20a0-43e4-9f74-b0bd568d503c PutFrame failed. Error code: 4102�[0m
Hi Guys,
A quick question.
Is there a way to stream the video using a compressed image (sensor_msgs/CompressedImage)?
Thanks
Currently, there is no option to get session credentials with IoT certificate.
You need to either set environment variables or use ~/.aws/credentials
.
I see, though, that aws_common
has IotRoleCredentialsProvider
https://github.com/aws-robotics/utils-common/blob/3d9bd8d6592ead23821c9cff61a0c6ad5add52e0/aws_common/include/aws_common/sdk_utils/auth/service_credentials_provider.h#L129
and ServiceCredentialsProviderChain
which includes IotRoleCredentialsProvider
(none are used anywhere in aws-robotics
)
https://github.com/aws-robotics/utils-common/blob/3d9bd8d6592ead23821c9cff61a0c6ad5add52e0/aws_common/include/aws_common/sdk_utils/auth/service_credentials_provider.h#L175
that can be fed to KinesisStreamManager
while initializing video producer
https://github.com/aws-robotics/kinesisvideo-common/blob/3fcdab96689e2cb4a213332add48525a5c75f30d/kinesis_manager/include/kinesis_manager/kinesis_stream_manager.h#L253
Also, seems like IoT credentials need to be used when creating KinesisClient
, but KinesisClientFacade
cannot be used here bcz it doesn't have constructor version with credentials provider as a parameter
The question is is there any reason why this hasn't been implemented
and how can I add the option the easiest way?
Would be grateful for any advise.
Hi,
I am experiencing a periodic delay in the frames received by the parser code provided by aws https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/examples-renderer.html, I tried to change the source camera on the sender/producer side and I also tried setting different fps and resolution but the streamed video gets a constant periodic lag/pause after every 3-4 seconds. Is this issue related to producer code or the parser code? Is there any change/enhancement can be done?
Thank you
Reproducing email contact from @Gil401
I have used sudo apt-get install ros-kinetic-kinesis-video-streamer and trying to run the node again, however the same error msg pops up.
This time it looks like it is unable to pull the aws config since this is what I am getting in the logs:
�[32m[DEBUG] [1550416833.665917198]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/region] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.666718549]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/user_agent] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.667196506]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/endpoint_override] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.667942589]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/proxy_host] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.668966060]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/proxy_user_name] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.669568456]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/proxy_password] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.670347282]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/ca_path] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.671793340]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/ca_file] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.673628852]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/request_timeout_ms] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.674503187]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/connect_timeout_ms] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.675344114]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/max_connections] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.676414532]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/proxy_port] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.677388551]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/use_dual_stack] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.678286534]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/enable_clock_skew_adjustment] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.679101957]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/follow_redirects] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.679574468]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/verify_SSL] in an upwards search]�[0m
�[32m[DEBUG] [1550416833.680008093]: XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [aws_client_configuration/max_retries] in an upwards search]�[0m
even though they are set in sample_configuration.yaml
Any idea? :)
This might be related to #2
hi, everyone:
i have a error, when i run this node,the error log is below.
kinesis_video_streamer-1-stdout.log.
Pretty straightforward, can we get binaries published for noetic? It builds fine on my system but binaries are always easier to work with
Hi Guys,
As I am trying to stream to my kinesis video stream, I am unable to do so due to the following error:
[ WARN] [1550482172.399163169]: [KinesisVideoFrameTransportCallback] my_stream1 PutFrame failed. Error code: 4102
Any idea what is the reason?
Hi,
I would like to send ROS images to AWS. I have first checked the WebRTC C SDK and managed to send a video sample to a KVS channel
I would like to do the same but with ROS data, which seems to be exactly what this repository is for. However I don't understand how to use setup it properly.
The ROS image data is published on topic /image_raw. Using h264_video_encoder package, I encode these messages to KVS format and publish them to /image_raw/encoded.
However when I try to run kinesis_video_streamer.launch to send the encoded data to AWS, it fails with the following error:
roslaunch kinesis_video_streamer kinesis_video_streamer.launch node_config_file:=config/kvs_node_config.yaml stream_config_file:=config/kvs_stream_config.yaml
... logging to /home/vrichard/.ros/log/28c6c7b6-02e9-11eb-9c5c-d45d6451c78d/roslaunch-vr-desktop-18357.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://vr-desktop:43195/
SUMMARY
========
PARAMETERS
* /kinesis_video_streamer/aws_client_configuration/connect_timeout_ms: 9000
* /kinesis_video_streamer/aws_client_configuration/max_retries: 10
* /kinesis_video_streamer/aws_client_configuration/region: ap-northeast-1
* /kinesis_video_streamer/aws_client_configuration/request_timeout_ms: 9000
* /kinesis_video_streamer/kinesis_video/log4cplus_config: /home/vrichard/aw...
* /kinesis_video_streamer/kinesis_video/stream0/frame_rate: 30
* /kinesis_video_streamer/kinesis_video/stream0/frame_timecodes: False
* /kinesis_video_streamer/kinesis_video/stream0/stream_name: Channel-1
* /kinesis_video_streamer/kinesis_video/stream0/subscription_topic: /image_raw/encoded
* /kinesis_video_streamer/kinesis_video/stream0/topic_type: 1
* /kinesis_video_streamer/kinesis_video/stream_count: 1
* /rosdistro: melodic
* /rosversion: 1.14.9
NODES
/
kinesis_video_streamer (kinesis_video_streamer/kinesis_video_streamer)
ROS_MASTER_URI=http://localhost:11311
process[kinesis_video_streamer-1]: started with pid [18384]
[ERROR] [1601449079.952187336]: [streamErrorReportHandler] Reporting stream error. Errored timecode: 0 Status: 1375731728
[ERROR] [1601449109.843852886]: [KinesisVideoStreamSetup] Skipping stream id 0 due to failure initializing stream. Error code: 4100
Failed to setup the kinesis video streamer[ERROR] [1601449109.843964114]: [InitializeStreamSubscriptions] KinesisVideoStreamerSetup failed with error code : 4096. Exiting
[kinesis_video_streamer-1] process has finished cleanly
log file: /home/vrichard/.ros/log/28c6c7b6-02e9-11eb-9c5c-d45d6451c78d/kinesis_video_streamer-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
The configuration I am using is:
aws_client_configuration:
region: "ap-northeast-1"
connect_timeout_ms: 9000
request_timeout_ms: 9000
max_retries: 10
stream_name: "Channel-1"
subscription_topic: /image_raw/encoded
topic_type: 1
frame_rate: 30
frame_timecodes: false
Am I missing something in the configuration?
Hi Guys,
I have followed the readme, however when tried to roslaunch the kinesis_video_streamer.launch I am getting the following error:
[FATAL] [1544446273.975483790]: [Initialize] Failed to initialize video producer. Error code: 4099
I have updated the yaml files to have to correct topic (sensor_msgs::Image), correct topic type(2) and correct region (eu-central-1)
What else am I missing?
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.