本文介绍: 我们实验都是在useast-1上进行的。如果想在其他区域做实验,可以将下面useast-1都改成对应的区域。

我们的实验都是在useast-1上进行的。如果想在其他区域做实验,可以将下面useast-1都改成对应的区域。

1 创建Kinesis Video Streams

登录https://us-east-1.console.aws.amazon.com/kinesisvideo/home?region=us-east-1#/streams

1.1 创建视频流

创建名称为RtspVideoStream视频流
在这里插入图片描述

1.2 记录Creation Time

上步创建完后,我们可以从ARN中获取Creation Time。这个字段之后要在配置策略使用到。
在这里插入图片描述

2 创建策略

登录https://us-east-1.console.aws.amazon.com/iamv2/home#/policies
创建名称为RtspVideoStreamPolicy策略

2.1 赋予权限

在这里插入图片描述

2.2 限制资源

在这里插入图片描述
在Stream name填写一步创建的流的名称RtspVideoStream,Creation time填写之前从ARN中获取的1659609702642。Account自动填写账号的ID。
在这里插入图片描述

2.3 Json格式描述(或上面手工设置

注意将ACCOUNTID替换自己账号的ID

{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “VisualEditor0”,
“Effect”: “Allow”,
“Action”: [
kinesisvideo:PutMedia”,
kinesisvideo:GetDataEndpoint”,
kinesisvideo:DescribeStream”
],
“Resource”: “arn:aws:kinesisvideo:us-east-1:AccountID:stream/RtspVideoStream/1659609702642”
}
]
}

2.4 注意事项

如果不希望做到精确控制权限,或者希望快速使用可以将此策略配置为:所有资源所有权限。

3 创建IAM用户

登录https://us-east-1.console.aws.amazon.com/iamv2/home#/users
创建名为KinesisVideoStreamsUser的用户

3.1 生成密钥

需要勾选Access key – Programmatic access
在这里插入图片描述

3.2 附加策略

附加上一步创建的策略——RtspVideoStreamPolicy
在这里插入图片描述

3.3 记录访问密钥

下载保存(或复制)Access key ID和Secret access key密钥对。
在这里插入图片描述

4 编译C++ 创建者库

我的测试环境是Ubuntu,在console输入以下指令编译。其中cmake时间有点长,需要耐心等待下。

git clone https://github.com/awslabs/amazonkinesis-videostreams-producersdkcpp.git
mkdirp amazonkinesis-videostreams-producersdkcpp/build
cd amazonkinesis-videostreams-producersdkcpp/build
sudo aptget install libssldev libcurl4-openssldev liblog4cplusdev libgstreamer1.0-dev libgstreamer-pluginsbase1.0-dev gstreamer1.0-pluginsbaseapps gstreamer1.0-pluginsbad gstreamer1.0-pluginsgood gstreamer1.0-pluginsugly gstreamer1.0-tools
sudo apt install cmake
cmake -DBUILD_GSTREAMER_PLUGIN=TRUE ..
make
cd ..
export GST_PLUGIN_PATH=`pwd`/build
export LD_LIBRARY_PATH=`pwd`/opensource/local/lib

5 发送

执行下面指令(注意替换YourAccessKeyYourSecretKey为KinesisVideoStreamsUser对应的值):

gst-launch-1.0 –v rtspsrc location=rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4 shortheader=TRUE ! rtph264depay ! h264parse ! kvssink stream-name=RtspVideoStream storagesize=128 accesskey=“YourAccessKey” secret-key=“YourSecretKeyawsregion=“us-east-1”

rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4是网上找的公开的rtsp流。至于流有没有效,可以下载VLC播放器测试
在这里插入图片描述
在这里插入图片描述

6 检查

登录Kinesis Video Streams可以在线查看推送过来的视频
在这里插入图片描述
如果这个rtsp失效了,可以本地搭建一个rtsp服务器然后使用ffmpeg推送视频流。具体的做法可以《在Windows操作系统上使用rtsp simple server和ffmpeg推送录屏视频流》

参考文献

  1. https://docs.aws.amazon.com/zh_cn/kinesisvideostreams/latest/dg/producer-sdk-cpp.html
  2. https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/docs/linux.md

原文地址:https://blog.csdn.net/wujiesunlirong/article/details/134791786

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_42808.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注