在AWS Lambda上部署标准FFmpeg工具——Docker方案


FFmpeg被广泛应用于音/视频流处理领域。对于简单的需求,我们可以直接运行FFmpeg二进制程序命令就可以完成。但是对于定制性的功能,则需要熟悉系统的代码设计框架,进行二次开发。文本讨论的是在AWS无服务架构的Lambda上,如何通过Docker部署FFmpeg二进制程序。

1 确定Lambda运行时环境

Lambda运行时决定了其运行的CPU架构、操作系统和辅助软件。不同语言的运行时环境不同,相同语言的不同版本的运行时不同,所以这步的确认非常重要,否则会造成FFmpeg与Lambda不兼容的问题。下面是从AWS官方摘录了运行时信息,仅供参考。

1.1 Lambda系统、镜像、内核版本

系统 镜像 Linux 内核
Amazon Linux 镜像 – amzn-ami-hvm-2018.03.0.20181129-x86_64-gp2 4.14
Amazon Linux 2 自定义 4.14

1.2 运行时

1.2.1 Python

Python 运行时 标识符 AWS Python的软件工具包 操作系统 架构
Python 3.9 python3.9 boto3-1.20.32 botocore-1.23.32 Amazon Linux 2 x86_64,arm64
Python 3.8 python3.8 boto3-1.20.32 botocore-1.23.32 Amazon Linux 2 x86_64,arm64
Python 3.7 python3.7 boto3-1.20.32 botocore-1.23.32 Amazon Linux x86_64
Python 3.6 python3.6 boto3-1.20.32 botocore-1.23.32 Amazon Linux x86_64

1.2.2 Java

Java 运行时 标识符 JDK 作系统 架构
Java 11 java11 amazon-corretto-11 Amazon Linux 2 x86_64,arm64
Java 8 java8.al2 amazon-corretto-11 Amazon Linux 2 x86_64,arm64
Java 8 java8 amazon-corretto-11 Amazon Linux x86_64

本例使用Python3.9版本,其操作系统是Amazon Linux 2,Linux内核是“4.14”,架构是“x86_64,arm64”。在这两种CPU架构中,我们选择适用面

相关推荐

AWS攻略——使用中转网关(Transit Gateway)连接同区域(Region)VPC

AWS Transit Gateway

Inplayable的博客 922

AWS攻略——使用中转网关(Transit Gateway)连接不同区域(Region)VPC

AWS Transit Gateway

Inplayable的博客 1398

AWS攻略——Peering连接VPC

AWS Peering

Inplayable的博客 1151

AWS攻略——使用Public NAT解决私有子网实例访问互联网

VPC NAT IGW

Inplayable的博客 534

AWS攻略——子网

AWS Subnet

Inplayable的博客 696

AWS攻略——使用ACL限制访问

AWS VPC ACL

Inplayable的博客 861

AWS攻略——创建VPC

AWS VPC

Inplayable的博客 1139

AWS攻略——VPC初识

AWS VPC

Inplayable的博客 720

公有云迁移研究——AWS Route53

Amazon Route 53 是一种可用性高、可扩展性强的域名系统 (DNS) Web 服务。AWS Route53提供了强大的DNS、流量管理和可用性监控服务。Route53是一个Gloabl 的服务,我们可以通过该服务现实对其他Region的流量管理和分流。

Inplayable的博客 1092

公有云迁移研究——AWS DMS

AWS Database Migration Service (AWS DMS) 是一项云服务,可轻松迁移关系数据库、数据仓库、NoSQL数据库及其他类型的数据存储。您可以使用AWS DMS将数据迁移到AWS Cloud。在平时开发项目的时候尽量少用外键约束,这样会增加数据库迁移的复杂度和数据修复的复杂度。迁移完成后要对数据库的表结构进行检查,这样可以降低迁移带来的各种系统灾难。

Inplayable的博客 1255

公有云迁移研究——AWS Translate

Translate是一种文本翻译服务,它使用先进的机器学习技术来提供高质量的按需翻译。

Inplayable的博客 456

一文看懂AWS IAM设计和使用

IAM AWS Role User Github

Inplayable的博客 689

在AWS EC2中部署和使用Apache Superset的方案

EC2 Superset Glue S3 RDS RedShift

Inplayable的博客 823

使用AWS Glue与AWS Kinesis构建的流式ETL作业(二)——数据处理

Glue Kinese

Inplayable的博客 930

使用AWS Glue与AWS Kinesis构建的流式ETL作业(一)——数据实时采集

Glue Kinese ETL AWS CloudWatch

Inplayable的博客 1347

在AWS Lambda中使用FFmpeg处理m3u8视频流

AWS Lambda S3 FFmpeg

Inplayable的博客 1409

基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(三)——serverless数据分析

使用AWS无服务架构的Lambda,APIGateway,Glue,S3和Athena实现一套大数据处理和查询服务。

Inplayable的博客 814

基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(二)——数据清洗、转换

Spark Serverless Glue 大数据 ETL

Inplayable的博客 935

基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(一)——创建Glue

AWS ETL 大数据 数据分析 Serverless Glue

Inplayable的博客 979

在AWS Lambda上部署EC2编译的FFmpeg工具——自定义层的方案

AWS Lambda ffmpeg Serverless Compile

Inplayable的博客 963

在AWS Lambda上部署标准FFmpeg工具——自定义层的方案

FFmpegserverless 无服务架构 Lambda AWS

Inplayable的博客 1190

使用 Amazon S3 托管静态网站

使用AWS的S3桶的静态托管功能管理网站

Inplayable的博客 914

在Windows操作系统上使用rtsp simple server和ffmpeg推送录屏视频流

ffmpeg录屏 视频流 rtsp服务器

Inplayable的博客 2023

将rtsp视频流发送到AWS Kinesis Video Streams的方案——使用Gstreamer(C++) Command Line

Kinesis Gstreamer 视频流

Inplayable的博客 1694

在AWS CodeBuild中更新Lambda导致进程被占用(status error 255)的解决方案

在Lambda的部署实践中,我们尝试使用CodeBuild将代码更新到Lambda函数中。在这个过程中,偶尔会触发一个不太常见的状态Lambda状态一直是处于Pending的状况。这个时候Lambda是被锁死的,导致CodeBuild无法更新Lambda函数的代码。很可惜,Lambda的操作界面没有提供重置Lambda状态的功能,这个时候只能借助cli工具来解决。..................

Inplayable的博客 706
上一篇: 基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(三)——serverless数据分析
下一篇: 在AWS Lambda中使用FFmpeg处理m3u8视频流
「已注销」
「已注销」 试玩互动技术团队官方账号 试玩互动技术团队官方账号
博客等级 码龄4年 12粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值