亚马逊AWS Kinesis Video Streams with KVS demo示例

这篇具有很好参考价值的文章主要介绍了亚马逊AWS Kinesis Video Streams with KVS demo示例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


title: 亚马逊AWS Kinesis Video Streams with KVS demo示例

categories:[Linux C]

tags:[亚马逊云平台]

date: 2021/12/22

作者:hackett
微信公众号:加班猿

Kinesis Video Streams 不仅用于存储视频数据。您还可以用它来实时监视视频流,因为这些流在云中接收。您既可以在 AWS 管理控制台中监控实时流,也可以开发自己的监控应用程序,以便使用 Kinesis Video Streams API 库显示实时视频。

1、对象模型

Kinesis Video Streams C 创建者库基于称为独立于平台的代码库 (PIC) 的通用组件,该组件在 GitHub 上的 https://github.com/awslabs/amazon-kinesis-video-streams-pic/ 提供。PIC 包含面向低级别的独立于平台的业务逻辑。Kinesis Video Streams C 创建者库通过额外的一层 API 打包 PIC,允许特定于场景和特定于平台的回调和事件。Kinesis Video Streams C 创建器库在 PIC 之上内置了组件:

  • 设备信息提供程序 – 公开 DeviceInfo 结构,该结构可直接提供给 PIC API。有一组易于配置的提供程序,包括应用程序场景优化的提供程序,可以根据您应用程序处理的流的数量和类型来优化内容存储,并根据可用 RAM 的数量优化配置的所需缓存数量。
  • 流信息提供程序 – 公开 StreamInfo 结构,该结构可直接提供给 PIC API。有一组易于配置提供程序,特定于应用程序类型以及常见类型的流式处理场景。这包括诸如视频、音频、音频/视频多轨道等提供程序。每个这些场景都有默认值,您可以根据应用程序需求进行定义。
  • 回调提供程序 – 公开 ClientCallbacks 结构,该结构可直接提供给 PIC API。这包括一组易于配置的回调提供程序,面向网络(基于 CURL 的 API 回调)、授权(AWS 凭证 API)、在错误回调上重试流式处理等。回调提供程序 API 获取一系列参数进行配置,例如 AWS 区域和授权信息(通过 IoT 证书或通过 AWS AccessKeyId、SecretKey、SessionToken)。如果您的应用程序需要进一步处理特定回调以实现某些应用程序特定的逻辑,则可以通过自定义回调来增强回调提供程序。
  • FrameOrderCoordinator – 帮助处理多轨道场景的音频和视频同步。它具有默认行为,您可以自定义以处理应用程序特定的逻辑。它还首先在 PIC 帧结构中简化帧元数据打包,然后提交到较低层的 PIC API。对于非多轨道场景,此组件直接传递到 PIC putFrame API。

C 库提供以下对象来管理向 Kinesis 视频流发送数据的过程:

  • KinesisVideoClient – 包含有关设备的信息,并维护回调以报告 Kinesis Video Streams 事件。
  • KinesisVideoStream – 表示包含有关视频流的参数的信息,例如,名称、数据保留期、媒体内容类型,等等。

2、环境准备

  • 为 macOS 安装以下构建依赖项:

    • Autoconf 2.69 (许可证 GPLv3+/Autoconf:GNU GPL 版本 3 或更高版本)
    • CMake 3.7 或 3.8
    • Pkg-Config
    • Flex 2.5.35 Apple (flex-31) 或更高版本
    • Bison 2.4 (GNU 许可证)
    • Automake 1.15.1 (GNU 许可证)
    • GNU Libtool (Apple Inc. 版本 cctools-898)
    • xCode (macOS) / clang / gcc (xcode-选择版本 2347)
    • Java 开发工具包 (JDK) (用于 Java JNI 编译)
    • Lib-Pkg
  • 为 Ubuntu 安装以下构建依赖项:

    • 安装 Git:sudo apt-get install git

      $ git --version
      git version 2.14.1
      
    • 安装 CMake:sudo apt-get install cmake

      $ cmake --version
      cmake version 3.9.1
      
    • 安装 Libtool:sudo apt-get install libtool

      2.4.6-2
      
    • 安装 libtool-bin:sudo apt-get install libtool-bin

      $ libtool --version
      libtool (GNU libtool) 2.4.6
      Written by Gordon Matzigkeit, 1996
      
    • 安装 GNU Automake:sudo apt-get install automake

      $ automake --version
      automake (GNU automake) 1.15
      
    • 安装 GNU Bison:sudo apt-get install bison

      $ bison -V
      bison (GNU Bison) 3.0.4
      
    • 安装 G++:sudo apt-get install g++

      g++ --version
      g++ (Ubuntu 7.2.0-8ubuntu3) 7.2.0
      
    • 安装 curl:sudo apt-get install curl

      $ curl --version
      curl 7.55.1 (x86_64-pc-linux-gnu) libcurl/7.55.1 OpenSSL/1.0.2g zlib/1.2.11 libidn2/2.0.2 libpsl/0.18.0 (+libidn2/2.0.2) librtmp/2.3
      
    • 安装 pkg-config:sudo apt-get install pkg-config

      $ pkg-config --version
      0.29.1
      
    • 安装 Flex:sudo apt-get install flex

      $ flex --version
      flex 2.6.1
      
    • 安装 OpenJDK:sudo apt-get install openjdk-8-jdk

      $ java -version
      openjdk version "1.8.0_171"
      
    • 设置 JAVA_HOME 环境变量:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

    • 运行构建脚本:./install-script

3、下载编译KVS

下载:

创建一个目录,然后从 GitHub 存储库克隆示例源代码。

git clone --recursive https://github.com/awslabs/amazon-kinesis-video-streams-producer-c.git

编译:

在下载好的源码中创建一个build目录,并在build中执行cmake

mkdir -p amazon-kinesis-video-streams-producer-c/build
cd amazon-kinesis-video-streams-producer-c/build  
cmake ..		// 这里cmake的时候有可能会失败,被墙了,最好自备梯子

您可以将以下选项传递给 cmake ..

  • -DBUILD_DEPENDENCIES - 是否从源代码构建依赖库

  • -DBUILD_TEST=TRUE - 构建单元/集成测试,可能有助于确认对您的设备的支持。

    ./tst/webrtc_client_test

  • -DCODE_COVERAGE - 启用覆盖范围报告

  • -DCOMPILER_WARNINGS - 启用所有编译器警告

  • -DADDRESS_SANITIZER - 使用 AddressSanitizer 构建

  • -DMEMORY_SANITIZER - 使用 MemorySanitizer 构建

  • -DTHREAD_SANITIZER - 使用 ThreadSanitizer 构建

  • -DUNDEFINED_BEHAVIOR_SANITIZER - 使用 UndefinedBehaviorSanitizer 构建

  • -DALIGNED_MEMORY_MODEL -为仅对齐内存模型的设备构建。默认为 OFF

完成后再回到build中执行make构建WebRTC C 开发工具包及其提供的示例

make

示例应用程序 kinesis_video_cproducer_video_only_sample 将文件夹 samples/h264SampleFrames 中的 h.264 编码视频帧发送到 Kinesis Video Streams。以下命令以循环方式发送 10 秒钟的视频帧到 Kinesis Video Streams:

./kinesis_video_cproducer_video_only_sample YourStreamName 10                   

如果指定要从其他文件夹(例如,MyH264FramesFolder)发送 H.264 编码帧,您可以使用以下参数运行命令:

./kinesis_video_cproducer_video_only_sample YourStreamName 10 MyH264FramesFolder

如果你觉得文章还不错,可以给个"三连",文章同步到个人微信公众号[加班猿]

我是hackett,我们下期见文章来源地址https://www.toymoban.com/news/detail-473887.html

到了这里,关于亚马逊AWS Kinesis Video Streams with KVS demo示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 清除aws 亚马逊cdn的缓存

     aws: Amazon Web Services  s3: Amazon Simple Storage Service Cloudfront 就是cdn ,Content Delivery Network 内容分发网络 Amazon S3 和 Cloudfront 缓存,如何清除缓 您可以使用失效来清除 AWS S3 缓存。要创建失效,请登录 AWS 控制台并转到Cloudfont  Distribution Settings Invalidations Create Invalidation。创建失效

    2024年02月09日
    浏览(43)
  • AWS亚马逊云全球账号最新注册技巧(防风控)

    提示:AWS亚马逊云全球账号最新注册技巧 一、介绍。 AWS(亚马逊云)一般是出海项目首选云,全球云服务的大哥大,特别是拿热销的云服务器EC2来说,实例类型就分为了通用、计算优化、内存优化、加速计算、存储优化几个方面进行分类,满足用户多方面的需求,而且具有

    2024年02月02日
    浏览(61)
  • 亚马逊Web服务(AWS)的几个主要应用

    以下是亚马逊Web服务(AWS)的几个主要应用: EC2(弹性计算云):提供虚拟计算资源,可为应用程序和服务提供计算能力。 S3(简单存储服务):提供高度可扩展和可靠的对象存储,可用于存储大量数据和文件。 RDS(关系型数据库服务):提供易于设置、操作和扩展的关系

    2024年02月12日
    浏览(52)
  • 【BIT云计算实验】亚马逊云服务(AWS)实验记录

    前置知识:Linux基本指令使用,拥有一张visa银行卡 实验时间:1h 实验难度(采用Codeforces的rating标准): 拥有visa银行卡:div2A / 800 未拥有visa银行卡:Impossible 注意:本次实验使用的服务器不额外收取费用。在进行这个实验之前,确保自己有一张visa银行卡,不然无法注册Amaz

    2023年04月08日
    浏览(68)
  • AWS亚马逊云注册图文详细教程,多币种充值优势分析

    一、介绍。 AWS(亚马逊云)还是很不错的,特别是拿热销的云服务器EC2来说,实例类型就分为了通用、计算优化、内存优化、加速计算、存储优化几个方面进行分类,满足用户多方面的需求,而且具有很多附加功能,帮助用户部署、管理和扩展应用程序。AWS代付代充值,可以

    2024年02月02日
    浏览(49)
  • 【AWS】使用亚马逊云服务器创建EC2实例

    如今互联网发展十分迅速,有很多企业为满足自身业务的需求,对搭建一台稳定、高效的云服务器的要求越来越高。虽说国内云服务器层出不穷,比如阿里云、腾讯云、华为云等比较主流的云服务,然而有很多企业也有许多国外的的业务需求,所以对搭建海外服务器的需求也

    2024年01月16日
    浏览(61)
  • 亚马逊云服务器aws ssh无法登录的解决问题记录

    一、涉及命令 二、AWS亚马逊云EC2服务器使用Root登录方法(在debian系统上操作成功) 三、SSH密钥丢失,更换密钥方法 解决连接到 EC2 实例时的“服务器拒绝我们的密钥”错误 四、可疑方法 1、将具有 SSH 访问权限的新用户账户添加到 Amazon EC2 Linux 实例 2、使用 EC2 串行控制台

    2024年02月06日
    浏览(46)
  • 亚马逊aws_access_key_id和aws_secret_access_key利用

    敏感信息泄露,例如环境变量。例如,为了配置AWS CLI,需要设置以下环境变量: 如果AWS密钥未存储在环境变量中,攻击者仍然可能通过其他方式来泄漏敏感信息。 举例来说,AWS配置指南建议使用?/ .aws / credentials文件来管理多个命名的配置文件。而这些命名的配置文件可能会

    2024年02月16日
    浏览(63)
  • 领取的AWS亚马逊云服务器到期会扣费的问题解决办法。

    本篇文章主要讲解,领取的AWS亚马逊服务器到期后会持续扣费问题的解决办法。 作者:任聪聪 日期:2023年6月8日 关于aws服务器一年免费期限到期后扣费的问题,网络上的文章并不是很全,故此我通过个人的经验进行了如下的教程整理。 我将通过一些比较常见的问题对大家一

    2024年02月08日
    浏览(57)
  • [ 云计算 | AWS ] ChatGPT 竞争对手 Claude 3 上线亚马逊云,实测表现超预期

    3月4号,Anthropic 发布了号称现阶段宇宙最强大模型 Claude 3,到底强到什么程度,直接看这张图即可。 发文时间点 Claude 3 Sonnet 模型现已在亚马逊云科技的 Amazon Bedrock 正式可用 , 本文第三节会介绍如何在亚马逊云科技上使用 Claude3 模型。 这次发布包括了三个版本:Claude 3 Ha

    2024年03月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包