分享直播相关知识点:

http://blog.csdn.net/kingroc/article/details/50839994

#!/bin/bash
# Order Finish Startup
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Socket Sign Handler
# processname: nginx
echo -e "NGINX安装流媒体扩展RTMP开始 :host_ip"
echo -e ""

#访问IP地址(正式环境的访问地址)
host_ip="https://127.0.0.1"

#设置总执行时间5分钏
alltime=300;
#休息时间长-5分钟内执行2~3次
step=100

echo -e ""
echo "====================================================="
echo "Congratulations on your RTMP Install Host : ${host_ip}"
echo "====================================================="
echo -e ""

#编绎安装过程
echo -e ""
cd nginx-1.8.1

./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module-master --with-http_ssl_module

make && make install

#启动端口打开文件(使用1935端口)
vim /etc/sysconfig/iptables
#添加一行
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1935 -j ACCEPT

#重启防火墙
service iptables restart

#配置相关的端口
netstat -tlun

#NGINX 配置协议
rtmp_auto_push on;
rtmp_auto_push_reconnect 1s;
rtmp {
server {
listen 1935;
application vod{
#播放视频时,查找文件的路径
play /usr/local/nginx/html/flv;
}
application live {
live on;
max_connections 1024;
#record video; #只录视频
record all; #视频音频同时录制
#exec_record_done /usr/local/nginx/sbin/operator_record.py $path $addr;
#exec_record_done, 视频文件录制完成后,进行的数据库类操作
record_unique off;
#record_path /tmp/flv;
#录制视频时,视频文件生成保存的路径
record_path /usr/local/nginx/html/flv;
}
}
}

######========================================================================================================
#RTMP 线上服务器配置流媒体上传(备份代码)
#rtmp_auto_push on;
#rtmp_auto_push_reconnect 1s;
rtmp {
server {
listen 1935;
application vod{
#播放视频时,查找文件的路径
play /usr/local/nginx/html/flv;
}
application live{
live on;
max_connections 1024;
#record video; #只录视频
record all; #视频音频同时录制
record_suffix .mp4; #支持多种格式
access_log logs/rtmp_access.log;
#recorder video{ record audio; }
#exec_record_done, 视频文件录制完成后,进行的数据库类操作
exec_record_done /usr/local/nginx/html/config/rt_water.sh $path $basename;
record_unique off;
#录制视频时,视频文件生成保存的路径
record_path /usr/local/nginx/html/flv;
exec_kill_signal term;
}
}
}
######========================================================================================================

####安装FFMPEG####
#从repo导入GPG密钥:
rpm --import http://packages.atrpms.net/RPM-GPG-KEY.atrpms

#安装ATRPMS Repo:
rpm -ivh http://dl.atrpms.net/all/atrpms-repo-6-7.el6.x86_64.rpm

#Ffmpeg需要libdc1394-devel,它在epel库中可用。 执行以下命令安装epel存储库:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm

#从ATRPMS安装FFMpeg存储库:yum -y --enablerepo=atrpms install ffmpeg ffmpeg-devel

yum -y --enablerepo=atrpms install ffmpeg ffmpeg-devel

#版本
ffmpeg -version

#生成水印
ffmpeg -i html/flv/20170731204517649162.flv -i watermark.png -filter_complex "overlay=x=(main_w-overlay_w)/2:y=(main_h-overlay_h)/2" shiiiii.flv

#MP4加水印(加参数 -strict -2 )
ffmpeg -i html/flv/20170731221241722162.mp4 -i html/flv/123.png -strict -2 -filter_complex "overlay=x=(main_w-overlay_w)/2:y=(main_h-overlay_h)/3" html/flv/shiiiii3.mp4

ffmpeg -i /usr/local/nginx/html/flv/2017082117163622150113.mp4 -i /usr/local/nginx/html/flv/img/water.png -strict -2 -filter_complex "overlay=x=(main_w-overlay_w)/2:y=(main_h-overlay_h)/3" /usr/local/nginx/html/flv/20170821/2017082117163622150113.mp4

#接收流
./ffmpeg -i rtmp://192.168.1.232:1935/live/zhut -acodec copy -vcodec copy -f flv -y /usr/local/src/test.flv

#生成水印脚本加载
application myapp {
live on;
exec /var/scripts/exec_wrapper.sh $name;
exec_kill_signal term;
}
#exec /usr/local/nginx/html/config/rt_water.sh $name $path;
#######参数补充说明:
#### $name 文件名($basename) == 20170801123625987162
#### $addr 客户IP == 119.145.5.126
#### $path 文件地址 == /usr/local/nginx/html/flv/20170801123625987162.mp4
#### $filename 文件名带后缀 == 20170801123625987162.mp4

#暂停1秒
sleep 1s
echo -e ""
echo -e "Start clearUsers | lostBlackOrder"
echo -e ""
#每2分钟执行一次
for((i=0;i<alltime;i=(i+step)));do
echo -e ""
curl -k "${host_ip}/index.php?controller=flush&action=clearUsers&type=today";
curl -k "${host_ip}/index.php?controller=flush&action=lostBlackOrder&type=today";
echo -e "Once Finish ====== Sleep(${step}) Seconds"
echo -e ""
#休眠时间
sleep $step
done
echo -e "All Finish ======UPDATE"
sleep 1s
#结束
echo -e ""
echo "====================================================="
echo "Finish Handler , Total Time = ${alltime} 秒 ---END "
echo "====================================================="
echo -e ""

###编译安装PHP的Swool扩展;phpize
DOWNLOAD: wget http://pecl.php.net/get/swoole-1.9.3.tgz
# tar zxvf swoole-1.7.6-stable.tar.gz
# cd swoole-1.7.6-stable
# phpize
# ./configure --with-swoole --with-php-config=/usr/local/php/bin/php-config
# make && make install**

//ext_dir == swoole.so
extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

服务端:命令
/usr/local/php/bin/php /usr/local/nginx/html/web/socket/server.php

直播流RTMP 知识的更多相关文章

  1. 移动端videojs视频插件使用直播流rtmp、hls、http-flv的注意事项

    可以访问:https://videojs.com/ 下载对应的脚本包 特别注意的是 移动端videojs一般应用的直播流协议为HLS, RTMP协议一般是PC上使用,需要flash支持. HLS直播源 ...

  2. 抛开flash,自己开发实现C++ RTMP直播流播放器

    抛开flash,自己开发实现C++ RTMP直播流播放器 众所周知,RTMP是以flash为客户端播放器的直播协议,主要应用在B/S形式的场景中.本人研究并用C++开发实现了RTMP直播流协议的播放器 ...

  3. 实现输出h264直播流的rtmp服务器

    RTMP(Real Time Messaging Protocol)是常见的流媒体协议,用来传输音视频数据,结合flash,广泛用于直播.点播.聊天等应用,以及pc.移动.嵌入式等平台,是做流媒体开发 ...

  4. 实现输出h264直播流的rtmp服务器 flash直播服务器【转】

    实现输出h264直播流的rtmp服务器 RTMP(Real Time Messaging Protocol)是常见的流媒体协议,用来传输音视频数据,结合flash,广泛用于直播.点播.聊天等应用,以及 ...

  5. 实现输出h264直播流的rtmp服务器 flash直播服务器

    http://www.cnblogs.com/haibindev/archive/2012/04/16/2450989.html 实现输出h264直播流的rtmp服务器 RTMP(Real Time ...

  6. 搭建rtmp直播流服务之4:videojs和ckPlayer开源播放器二次开发(播放rtmp、hls直播流及普通视频)

    前面几章讲解了使用 nginx-rtmp搭建直播流媒体服务器; ffmpeg推流到nginx-rtmp服务器; java通过命令行调用ffmpeg实现推流服务; 从数据源获取,到使用ffmpeg推流, ...

  7. 实时监控、直播流、流媒体、视频网站开发方案流媒体服务器搭建及配置详解:使用nginx搭建rtmp直播、rtmp点播、,hls直播服务配置详解

    注意:这里不会讲到nginx流媒体模块如何安装的问题,只研究rtmp,hls直播和录制相关的nginx服务器配置文件的详细用法和说明.可以对照这些命令详解配置nginx -rtmp服务 一.nginx ...

  8. 搭建rtmp直播流服务之3:java开发ffmpeg实现rtsp转rtmp并实现ffmpeg命令的接口化管理架构设计及代码实现

    上一篇文章简单介绍了java如何调用ffmpeg的命令:http://blog.csdn.net/eguid_1/article/details/51777716 上上一篇介绍了nginx-rtmp服 ...

  9. 搭建rtmp直播流服务之2:使用java实现ffmpeg命令接口化调用(用java执行ffmpeg命令)

    欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) 一.环境搭建 1.安装ffmpeg 下载对应系统的ffmpeg安装包,个人采用windows平台进行开发,所以安装了windo ...

随机推荐

  1. ActionScript3.0(AS3)中的泛型数组Vector

    Adobe官方并没有"泛型数组"的叫法,这是我自己对Vector的叫法(有点标题党),不过Vector在使用上确实跟c#中的泛型数组有些相似之处. 原作者:菩提树下的杨过出处:ht ...

  2. mysql-----04 多表查询

    本节主要介绍mysql的多表查询(多表连接查询.复合条件查询.子查询) 一.多表连接查询 #重点:外链接语法 select 字段列表 from 表1 inner|left|right join 表2 ...

  3. 后台商品搜索功能开发SQL

    在做后台的商品搜索功能开发时遇到了一些问题记录下来 版本一 <select id="SelectByNameAndParentId resultMap="Base_resul ...

  4. Android Studio 集成开发工具教学视频

    简介 经过2年时间的研发,Google终于正式发布了面向Android开发者的集成开发环境Android Studio 1.2(稳定版).Android Studio是Google开发的一款面向And ...

  5. 使用scrapy中xpath选择器的一个坑点

    情景如下: 一个网页下有一个ul,这个ur下有125个li标签,每个li标签下有我们想要的 url 字段(每个 url 是唯一的)和 price 字段,我们现在要访问每个li下的url并在生成的请求中 ...

  6. python3作业:模拟登录

    __author__ = "bin007" customer = {}#存储用户信息#处理用户信息文件try: with open('login.txt','r',encoding ...

  7. mysql学习5:数据库设计

    mysql学习5:数据库设计 本文转载:https://blog.51cto.com/9291927/2087925:原创为天山老妖S 一.数据库设计简介 按照规范设计,将数据库的设计过程分为六个阶段 ...

  8. Linux服务器文件和windows本机文件互传方法(本地文件上传Linux,Linux文件下载到本机)

    1.windows系统中下载XShell安装文件.下载地址:https://www.newasp.net/soft/384562.html 2.安装之后,新建会话输入远程linux的账号和密码. 3. ...

  9. 《AlwaysRun!》第一次作业:团队亮相

    项目 内容 这个作业属于哪个课程 2016级软件工程(西北师范大学) 这个作业的要求在哪里 实验五  团队作业1:软件研发团队组建 团队名称 Always Run! 作业学习目标 熟悉软件的开发流程与 ...

  10. 炫酷MD风之dialog各种对话框

    这个demo也是我从别人那里学来的,不是本人写的代码,我也是个MD初学者.把这个demo分享给看到的你,希望对你有帮助. 直接上图: demo地址:百度网盘:链接:https://pan.baidu. ...