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

龙采网站建设案例九洲建设集团网站

龙采网站建设案例,九洲建设集团网站,广州哪家公司做网站,驻马店网络1. 配置阿里云直播的推流地址和播放地址 使用阿里云直播功能前#xff0c;首先需要在阿里云控制台中创建直播应用#xff0c;然后获取推流地址和播放地址。 推流地址一般格式为#xff1a; rtmp://{Domain}/{AppName}/{StreamName}?auth_key{AuthKey}-{Timestamp}-{Rand… 1. 配置阿里云直播的推流地址和播放地址 使用阿里云直播功能前首先需要在阿里云控制台中创建直播应用然后获取推流地址和播放地址。 推流地址一般格式为 rtmp://{Domain}/{AppName}/{StreamName}?auth_key{AuthKey}-{Timestamp}-{RandomNum}其中 {Domain}代表阿里云直播的推流域名 {AppName}代表应用名称一般为“live”也可以自定义 {StreamName}代表流名称可以自定义 {AuthKey}代表授权密钥 {Timestamp}代表当前时间戳 {RandomNum}代表随机数。 播放地址一般格式为 http://{Domain}/{AppName}/{StreamName}.m3u8{Domain}代表阿里云直播的播放域名 {AppName}代表应用名称一般为“live”也可以自定义 {StreamName}代表流名称可以自定义。 把获取到的推流地址和播放地址配置到代码中代码如下 class LiveAction extends Action {// 推流地址private $pushUrl rtmp://{Domain}/{AppName}/{StreamName}?auth_key{AuthKey}-{Timestamp}-{RandomNum};// 播放地址private $playUrl http://{Domain}/{AppName}/{StreamName}.m3u8;// 阿里云直播的推流域名private $pushDomain xxx.xxx.com;// 阿里云直播的播放域名private $playDomain xxx.xxx.com;// 应用名称private $appName live;// 流名称private $streamName test;// 授权密钥private $authKey 1234567890;// 获取推流地址private function getPushUrl() {$randomNum rand(100000, 999999);$timestamp time();$authKey md5($this-authKey . $this-appName . $this-streamName . $timestamp . $randomNum);$pushUrl str_replace(array({Domain}, {AppName}, {StreamName}, {AuthKey}, {Timestamp}, {RandomNum}), array($this-pushDomain, $this-appName, $this-streamName, $authKey, $timestamp, $randomNum), $this-pushUrl);return $pushUrl;}// 获取播放地址private function getPlayUrl() {$playUrl str_replace(array({Domain}, {AppName}, {StreamName}), array($this-playDomain, $this-appName, $this-streamName), $this-playUrl);return $playUrl;} }在LiveAction中定义了一系列变量包括推流地址和播放地址的格式和一些基本的配置信息同时定义了两个私有方法分别用于获取推流地址和播放地址。 在getPushUrl方法中先生成一个六位的随机数和当前时间戳然后计算出授权密钥最后将这些参数替换到推流地址的相应位置。最终返回一个完整的推流地址。 在getPlayUrl方法中直接将播放地址的相应位置替换即可。最终返回一个完整的播放地址。 2. 在ThinkPHP中集成阿里云直播的推流功能 在ThinkPHP框架中可以使用Fmpeg库来实现推流的功能。Fmpeg是一个非常强大的音视频处理工具它不仅可以播放、转码音视频还可以进行音视频的编辑、剪辑等等。 在使用Fmpeg之前需要先安装Fmpeg库并把它的路径配置到环境变量中。 代码如下 class LiveAction extends Action {// 推流地址private $pushUrl rtmp://{Domain}/{AppName}/{StreamName}?auth_key{AuthKey}-{Timestamp}-{RandomNum};// 阿里云直播的推流域名private $pushDomain xxx.xxx.com;// 应用名称private $appName live;// 流名称private $streamName test;// 授权密钥private $authKey 1234567890;// 获取推流地址private function getPushUrl() {$randomNum rand(100000, 999999);$timestamp time();$authKey md5($this-authKey . $this-appName . $this-streamName . $timestamp . $randomNum);$pushUrl str_replace(array({Domain}, {AppName}, {StreamName}, {AuthKey}, {Timestamp}, {RandomNum}), array($this-pushDomain, $this-appName, $this-streamName, $authKey, $timestamp, $randomNum), $this-pushUrl);return $pushUrl;}// 推流public function push() {$pushUrl $this-getPushUrl();$command ffmpeg -re -i test.flv -vcodec copy -acodec aac -f flv . $pushUrl;exec($command);} }在LiveAction中添加了一个push方法该方法利用Fmpeg库将本地的test.flv文件推流到阿里云直播中。 3. 在ThinkPHP中集成阿里云直播的播放功能 在ThinkPHP框架中可以使用Hls.js库来实现直播的播放功能。Hls.js是一个基于HTML5的JavaScript库它能够将M3U8格式的直播流实时转换成模拟的FLV格式并播放。 代码如下 class LiveAction extends Action {// 播放地址private $playUrl http://{Domain}/{AppName}/{StreamName}.m3u8;// 阿里云直播的播放域名private $playDomain xxx.xxx.com;// 应用名称private $appName live;// 流名称private $streamName test;// 获取播放地址private function getPlayUrl() {$playUrl str_replace(array({Domain}, {AppName}, {StreamName}), array($this-playDomain, $this-appName, $this-streamName), $this-playUrl);return $playUrl;}// 播放public function play() {$playUrl $this-getPlayUrl();$this-assign(playUrl, $playUrl);$this-display();} }在LiveAction中添加了一个play方法该方法获取播放地址并分配给模板然后通过模板display方法展示到页面上。 在页面上可以使用Hls.js库来播放直播流。 完整代码如下 class LiveAction extends Action {// 推流地址private $pushUrl rtmp://{Domain}/{AppName}/{StreamName}?auth_key{AuthKey}-{Timestamp}-{RandomNum};// 阿里云直播的推流域名private $pushDomain xxx.xxx.com;// 播放地址private $playUrl http://{Domain}/{AppName}/{StreamName}.m3u8;// 阿里云直播的播放域名private $playDomain xxx.xxx.com;// 应用名称private $appName live;// 流名称private $streamName test;// 授权密钥private $authKey 1234567890;// 获取推流地址private function getPushUrl() {$randomNum rand(100000, 999999);$timestamp time();$authKey md5($this-authKey . $this-appName . $this-streamName . $timestamp . $randomNum);$pushUrl str_replace(array({Domain}, {AppName}, {StreamName}, {AuthKey}, {Timestamp}, {RandomNum}), array($this-pushDomain, $this-appName, $this-streamName, $authKey, $timestamp, $randomNum), $this-pushUrl);return $pushUrl;}// 获取播放地址private function getPlayUrl() {$playUrl str_replace(array({Domain}, {AppName}, {StreamName}), array($this-playDomain, $this-appName, $this-streamName), $this-playUrl);return $playUrl;}// 推流public function push() {$pushUrl $this-getPushUrl();$command ffmpeg -re -i test.flv -vcodec copy -acodec aac -f flv . $pushUrl;exec($command);}// 播放public function play() {$playUrl $this-getPlayUrl();$this-assign(playUrl, $playUrl);$this-display();} }项目附件​​点此下载​​
http://www.hkea.cn/news/14515028/

相关文章:

  • 设计网站推荐p网站拓扑图怎么做
  • 咸宁响应式网站建设价格英文网站怎么建
  • 酒店移动网站建设方案品牌网络推广怎么做
  • 动态手机网站怎么做的在深圳做网站平台需要什么备案
  • 旅游商城网站订单处理不用实名认证的好玩游戏
  • 网站开发工作要求网站建设的网页
  • 怎么劝客户做网站重庆网站建设leco tec
  • word链接点进去是网站怎么做公司要怎么注册
  • 网站建设源代码会议网站建设的意义
  • 惠通网站建设重庆博达建设集团网站
  • 百度小程序可以根据网站的要求做吗熟练做网站需要了解什么
  • 广告公司手机网站建设济南市建设银行网站
  • 网站内容与标题的区别visual studio2005做网站
  • 网页设计和网站开发有什么区别摄影网站设计方案
  • c#网站开发案例源码北京快速建站模板
  • 昆山周市建设局网站项目网络中可以表示一个活动
  • 网站形式的具体例子商标名称推荐
  • 网站架构企业收费标准网站设计模板免费
  • 泰兴网站建设吧敬请期待同义词
  • 建视频网站系统html个人网站制作
  • 引流推广网站平台关于进一步优化 广州
  • 行业前10的网站建设公司巴州网站建设库尔勒网站建设钟爱网络
  • seo网站推广软件排名网络维护是什么专业
  • 中国门户网站有哪些如何创建wordpress数据库文件夹
  • 网站排名如何上升外贸公司经营范围大全
  • wordpress主题网站seo自学
  • python和php做网站网站架构工程师
  • 北京专业做网站公司深圳专业建网站公司
  • 设计网站都有什么网络营销推广的特点有
  • 网站备案密码有什么用东莞网站忧化