{"id":38604765,"url":"https://github.com/amazon-connect/connect-kvs-consumer-demo","last_synced_at":"2026-01-17T08:36:59.298Z","repository":{"id":222223527,"uuid":"756504437","full_name":"amazon-connect/connect-kvs-consumer-demo","owner":"amazon-connect","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-15T17:34:04.000Z","size":18,"stargazers_count":3,"open_issues_count":1,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-15T19:22:05.399Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amazon-connect.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-12T19:36:20.000Z","updated_at":"2025-09-15T17:34:09.000Z","dependencies_parsed_at":"2025-09-15T19:11:12.831Z","dependency_job_id":"689bc6b0-ef49-4f43-a6f9-d6e526b4ea61","html_url":"https://github.com/amazon-connect/connect-kvs-consumer-demo","commit_stats":null,"previous_names":["amazon-connect/connect-kvs-consumer-demo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/amazon-connect/connect-kvs-consumer-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-connect%2Fconnect-kvs-consumer-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-connect%2Fconnect-kvs-consumer-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-connect%2Fconnect-kvs-consumer-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-connect%2Fconnect-kvs-consumer-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amazon-connect","download_url":"https://codeload.github.com/amazon-connect/connect-kvs-consumer-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-connect%2Fconnect-kvs-consumer-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504370,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T08:36:59.198Z","updated_at":"2026-01-17T08:36:59.282Z","avatar_url":"https://github.com/amazon-connect.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Amazon Connect KVS Consumer Demo\n\n## Introduction\nThe Amazon Connect KVS Consumer Demo provides an example of how to process audio data published to a Kinesis Video Stream by Amazon Connect.\n\nThis code parses data from two tracks, namely `AUDIO_FROM_CUSTOMER` and `AUDIO_TO_CUSTOMER`, and places this data into 2 files (`AudioFromCustomer.raw` \u0026 `AudioToCustomer.raw`).\n\n## Building from Source\nFollow the below steps to deploy this solution;\n\n* Install Amazon Corretto Java 11 from [here](https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/what-is-corretto-11.html).\n```shell\njava -version\n```\n* Install Maven from [here](https://maven.apache.org/download.cgi).\n```shell\nmvn -version\n```\n* Install AWS CLI from [here](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html).\n```shell\naws --version\n```\n\nNext, download the code from GitHub. You can build it using Maven via this command: `mvn clean install`.\n\n## Execution\nFollowing [this guide](https://docs.aws.amazon.com/connect/latest/adminguide/customer-voice-streams.html), enable `Live media streaming` on your Amazon Connect instance.\n\n**Set Data Retention greater than 0 - this will store audio in the KVS stream such that it be retrieved by this demo.**\n\nCreate a Contact Flow containing the `Start/Stop Media Streaming` blocks. Also include a `Set contact attributes` block and create two User Defined attributes; 1 for `Customer audio start fragment number` and another for `Customer audio stream ARN`.\n\nPlace a call to this Contact Flow and find this contact in the `Contact Search` page. Expand the `Attributes` section and take note of the fragment number and stream arn.\n\nWithin the `LMSDemo.java`, populate the `\u003c\u003cStreamName\u003e\u003e` and `\u003c\u003cFragmentNumber\u003e\u003e` accordingly.\n\nNext, get desired credentials and populate `\u003c\u003cAWSSessionToken\u003e\u003e`, `\u003c\u003cAWSAccessKey\u003e\u003e`, and `\u003c\u003cAWSSecretKey\u003e\u003e`.\n\nBuild your changes using `mvn clean install`.\n\nFinally, the `LMSDemo` class can be executed locally using:\n```\njava -cp .\\target\\amazon-connect-kvs-consumer-demo-1.0.0-jar-with-dependencies.jar software/aws/connect/LMSDemo\n```\n\nThis should produce 2 files, `AudioFromCustomer.raw` and `AudioToCustomer.raw`. To listen to the audio, open Audacity and select `File` \u003e `Import` \u003e `Raw Data`. Set Encoding to `Signed 16-bit PCM` and Sample rate to `8000 Hz`.\n\n## Details\n### Amazon Connect Demo\nThis demo consists of 3 files:\n* `LMSDemo.java` - is a class with a main method that invokes LMSExample.\n* `LMSExample.java` - is similar to the examples provided in the Kinesis Video Streams Parser library. It gets media from the specified Kinesis Video Streams with the specified fragment number. This code sample includes frame processing to separate the tracks.\n* `LMSCompositeMkvElementVisitor.java` - extends [CompositeMkvElementVisitor.java](https://github.com/aws/amazon-kinesis-video-streams-parser-library/blob/master/src/main/java/com/amazonaws/kinesisvideo/parser/mkv/visitors/CompositeMkvElementVisitor.java) with a static `create()` method.\n* `LMSTagVisitor.java` - extends [MkvElementVisitor.java](https://github.com/aws/amazon-kinesis-video-streams-parser-library/blob/master/src/main/java/com/amazonaws/kinesisvideo/parser/mkv/MkvElementVisitor.java) to print all tag element metadata (key-value pairs).\n* `LMSDataVisitor.java` - extends [MkvElementVisitor.java](https://github.com/aws/amazon-kinesis-video-streams-parser-library/blob/master/src/main/java/com/amazonaws/kinesisvideo/parser/mkv/MkvElementVisitor.java) to save the `AUDIO_FROM_CUSTOMER` and `AUDIO_TO_CUSTOMER` tracks to disk.\n\n## Release Notes\n\n### Release 1.0.0 (March 2024)\n* First release of the Amazon Connect Kinesis Video Streams consumer demo.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famazon-connect%2Fconnect-kvs-consumer-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famazon-connect%2Fconnect-kvs-consumer-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famazon-connect%2Fconnect-kvs-consumer-demo/lists"}