当前位置: 首页 > news >正文

西安百度竞价代运营泰州百度seo公司

西安百度竞价代运营,泰州百度seo公司,wordpress更好后台登录logo,a站是哪个app大纲 1 确定Lambda运行时环境1.1 Lambda系统、镜像、内核版本1.2 运行时1.2.1 Python1.2.2 Java 2 环境准备2.1 创建EC2实例 3 编译FFmpeg3.1 连接EC2 4 编译5 上传S3存储桶5.1 创建S3桶5.2 创建IAM策略5.3 创建IAM角色5.4 EC2关联角色5.5 修改桶策略5.6 打包并上传 6 创建Lamb… 大纲 1 确定Lambda运行时环境1.1 Lambda系统、镜像、内核版本1.2 运行时1.2.1 Python1.2.2 Java 2 环境准备2.1 创建EC2实例 3 编译FFmpeg3.1 连接EC2 4 编译5 上传S3存储桶5.1 创建S3桶5.2 创建IAM策略5.3 创建IAM角色5.4 EC2关联角色5.5 修改桶策略5.6 打包并上传 6 创建Lambda的Layer7 测试7.1 创建Lambda函数7.2 附加FFmpeg层7.3 添加测试代码7.4 运行测试 参考文献 FFmpeg被广泛应用于音/视频流处理领域。对于简单的需求我们可以直接运行FFmpeg二进制程序命令就可以完成。但是对于定制性的功能则需要熟悉系统的代码设计框架进行二次开发。文本讨论的是在AWS无服务架构的Lambda上如何通过自定义层部署线下编译的FFmpeg二进制程序。 1 确定Lambda运行时环境 Lambda运行时决定了其运行的CPU架构、操作系统和辅助软件。不同语言的运行时环境不同相同语言的不同版本的运行时不同所以这步的确认非常重要否则会造成FFmpeg与Lambda不兼容的问题。下面是从AWS官方摘录了运行时信息仅供参考。 1.1 Lambda系统、镜像、内核版本 系统镜像Linux 内核Amazon Linux镜像 – amzn-ami-hvm-2018.03.0.20181129-x86_64-gp24.14Amazon Linux 2自定义4.14 1.2 运行时 1.2.1 Python Python 运行时标识符AWS Python的软件工具包操作系统架构Python 3.9python3.9boto3-1.20.32 botocore-1.23.32Amazon Linux 2x86_64arm64Python 3.8python3.8boto3-1.20.32 botocore-1.23.32Amazon Linux 2x86_64arm64Python 3.7python3.7boto3-1.20.32 botocore-1.23.32Amazon Linuxx86_64Python 3.6python3.6boto3-1.20.32 botocore-1.23.32Amazon Linuxx86_64 1.2.2 Java Java 运行时标识符JDK作系统架构Java 11java11amazon-corretto-11Amazon Linux 2x86_64arm64Java 8java8.al2amazon-corretto-11Amazon Linux 2x86_64arm64Java 8java8amazon-corretto-11Amazon Linuxx86_64 本例使用Python3.9版本其操作系统是Amazon Linux 2Linux内核是“4.14”架构是“x86_64arm64”。在这两种CPU架构中我们选择适用面更广的x86_64。如果选择arm64后续FFmpeg选择以及Lambda函数运行时也要做出相应调整。 2 环境准备 2.1 创建EC2实例 选择与Lambda系统匹配的的AMI。架构我们选择比较常见的x86。 使用最低配置的EC2的实例并创建密钥对。 3 编译FFmpeg 3.1 连接EC2 我们直接在Web端连接EC2就行了。 4 编译 编译时间有点长需要耐心等待下 sudo yum install -y autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c git libtool make pkgconfig zlib-devel mkdir ~/ffmpeg_sourcescd ~/ffmpeg_sources curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2 tar xjvf nasm-2.15.05.tar.bz2 cd nasm-2.15.05 ./autogen.sh ./configure --prefix$HOME/ffmpeg_build --bindir$HOME/bin make make installcd ~/ffmpeg_sources git clone --depth 1 https://github.com/mstorsjo/fdk-aac cd fdk-aac autoreconf -fiv ./configure --prefix$HOME/ffmpeg_build --disable-shared make make installcd ~/ffmpeg_sources curl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz tar xzvf lame-3.100.tar.gz cd lame-3.100 ./configure --prefix$HOME/ffmpeg_build --bindir$HOME/bin --disable-shared --enable-nasm make make installcd ~/ffmpeg_sources curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz tar xzvf opus-1.3.1.tar.gz cd opus-1.3.1 ./configure --prefix$HOME/ffmpeg_build --disable-shared make make installcd ~/ffmpeg_sources curl -O -L https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz tar xzvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure --prefix$HOME/ffmpeg_build --bindir$HOME/bin make make installcd ~/ffmpeg_sources git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git cd libvpx ./configure --prefix$HOME/ffmpeg_build --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --asyasm make make installcd ~/ffmpeg_sources git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git cd x264 PKG_CONFIG_PATH$HOME/ffmpeg_build/lib/pkgconfig ./configure --prefix$HOME/ffmpeg_build --bindir$HOME/bin --enable-static make make installcd ~/ffmpeg_sources git clone --branch stable --depth 2 https://bitbucket.org/multicoreware/x265_git cd ~/ffmpeg_sources/x265_git/build/linux cmake -G Unix Makefiles -DCMAKE_INSTALL_PREFIX$HOME/ffmpeg_build -DENABLE_SHARED:booloff ../../source make make installcd ~/ffmpeg_sources curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 tar xjvf ffmpeg-snapshot.tar.bz2 cd ffmpeg PATH$HOME/bin:$PATH PKG_CONFIG_PATH$HOME/ffmpeg_build/lib/pkgconfig ./configure \--prefix$HOME/ffmpeg_build \--pkg-config-flags--static \--extra-cflags-I$HOME/ffmpeg_build/include \--extra-ldflags-L$HOME/ffmpeg_build/lib \--extra-libs-lpthread \--extra-libs-lm \--bindir$HOME/bin \--enable-gpl \--enable-libfdk_aac \--enable-libfreetype \--enable-libmp3lame \--enable-libopus \--enable-libvpx \--enable-libx264 \--enable-libx265 \--enable-nonfree make make install5 上传S3存储桶 5.1 创建S3桶 在上述EC2所在的区域中创建一个存储桶。同时记录桶的ARNarn:aws:s3:::lambda-layers-from-ec2。 5.2 创建IAM策略 使用下面的代码在IAM中创建一个名为ffmpeg-builder-policy的策略。该策略赋予策略拥有者可以对上述创建的S3桶arn:aws:s3:::lambda-layers-from-ec2进行任何操作。实际这步可以将权限设置的粒度更细更加严格 {Version: 2012-10-17,Statement: [{Effect: Allow,Action: s3:*,Resource: [arn:aws:s3:::lambda-layers-from-ec2,arn:aws:s3:::lambda-layers-from-ec2/*]}] }5.3 创建IAM角色 在IAM中创建名为ffmpeg-builder-role的角色并关联到上一步创建的策略。 5.4 EC2关联角色 5.5 修改桶策略 下面的策略设置让桶可以被上述创建的角色访问。 {Version: 2012-10-17,Statement: [{Effect: Allow,Principal: {AWS: arn:aws:iam::【AccountID】:role/lambda-ffmpeg-role},Action: s3:*,Resource: [arn:aws:s3:::lambda-layers-from-ec2,arn:aws:s3:::lambda-layers-from-ec2/*]}] }5.6 打包并上传 在EC2中执行下面指令将编译完的FFmpeg上传到之前创建的S3桶中。 zip -j ffmpeg.zip ~/bin/ffmpeg aws s3 cp ffmpeg.zip --region us-east-1 s3://lambda-layers-from-ec2/6 创建Lambda的Layer 我们使用上一步上传到S3桶中的地址提交层的内容。 同时要选择好与上步构建的FFmpeg相同架构的“x86_64”。由于从Python3.6到Python3.9都支持x86_64架构所以这个层可以给这些版本的Python使用。 最后注意下在License处填写http://www.ffmpeg.org/legal.html以确保许可。 7 测试 7.1 创建Lambda函数 选择适用于上述创建层的运行时环境Python3.9和架构x86_64 7.2 附加FFmpeg层 7.3 添加测试代码 下面的代码通过查询FFmpeg版本号以测试上述部署的可行性。 import subprocess import shlexdef lambda_handler(event, context):if not event:return {statusCode: 400,body: json.dumps(event error)}ffmpeg_cmd /opt/ffmpeg -versioncommand shlex.split(ffmpeg_cmd)p subprocess.run(command, stdoutsubprocess.PIPE, stderrsubprocess.PIPE)return {statusCode: 200,body: str(p.stdout, encodingutf-8)}7.4 运行测试 可以看到上述部署是成功的。 参考文献 https://docs.aws.amazon.com/zh_cn/lambda/latest/dg/lambda-runtimes.htmlhttps://aws.amazon.com/cn/blogs/media/processing-user-generated-content-using-aws-lambda-and-ffmpeg/https://trac.ffmpeg.org/wiki/CompilationGuide/Centoshttps://blog.csdn.net/wujiesunlirong/article/details/126424832
http://www.yutouwan.com/news/163676/

相关文章:

  • 做网站怎么找客户联系方式天猫淘宝旗舰店
  • 响应式网站和自适应网站子域名网址大全
  • 浙江省建设厅网站在哪里企业网站建设的缺点
  • 动易网站模版的制作辽宁建设信息网站
  • ui界面设计app德阳网站优化
  • 在哪个网站申请建设资质管理者应具备的能力
  • 培训网站开发云南seo简单整站优化
  • 惠州网站建设咨询企业的网站内容
  • 通河县机场建设网站wordpress 木马
  • 改网站描述wordpress文章图片显示不出来
  • 宁德网站建设51yunsou网站维护需要用到哪些知识
  • 赤峰网站建设哪家好企业网站模板 讲湖南岚鸿
  • 如何做网站平台关注游戏网站建设多少
  • 一站式的手机网站制作wordpress 标签分类
  • 荥阳企业网站建设关于药品网站建设策划书
  • 网站搭建好了不用会不会被攻击产品介绍彩页模板
  • 旅游网站官网自己建的网站也要注册域名吗
  • 一键建站网站编程软件是怎么做出来的
  • iis7.5添加网站网站收录代做
  • 电子商务网站建设技术上海公共招聘网官网
  • 深圳做网站公司有哪些网站空间怎么购买
  • 做食物网站应该考虑些什么意思网站开发入帐分录
  • 演示网站crm客户管理
  • 长垣做网站学网站建设培训班
  • 为什么要建设双端网站百度售后电话人工服务
  • 摄影网站的规划与设计景观毕业设计作品网站
  • 网站建设 $ 金手指排名效果好wordpress 多说
  • 沈阳德泰诺网站制作手机制作gif
  • 网站迅速备案设计一个网站花多少时间
  • 摄影网站介绍虚拟主机多少钱一个月