php 局域网视频服务,直播服务(本地局域网)

直播服务(本地局域网)

建立直播服务(局域网)

1.安装Nginx (直播所需的nginx-rtmp-module)

2.安装MySQL (可选)

3.安装PHP

4.安装视频推流相关工具(x264、ffmpeg、fdk-aac)

首先建立一个目录存文件如 src   mkdir src

70

切换进目录 cd src

下载nginx-rtmp-module模块  这里使用git工具

70

git clone https://github.com/arut/nginx-rtmp-module

接着下载Nginx源文件  就弄个稳定的吧

70

wget http://nginx.org/download/nginx-1.12.2.tar.gz

70

开始解压该文件 tar -zxvf nginx-1.12.2.tar.gz 并切入该目录 cd nginx-1.12.2

开始安装配置

70

这里我给出一个配置  可以自己选择

./configure –with-http_ssl_module –add-module=../nginx-rtmp-module –with-http_mp4_module –with-http_flv_module 执行

但是出现了问题

70

我们开始安装一些工具gcc、g++。。。

70

sudo apt-get install gcc g++ libpcre3 libpcre3-dev zlib1g zlib1g-dev (openssl libssl-dev)不加可以知道安装过程会出现哪些错误

接着配置Nginx的安装配置

./configure –with-http_ssl_module –add-module=../nginx-rtmp-module –with-http_mp4_module –with-http_flv_module

70

sudo apt-get install openssl libssl-dev

继续

70

开始编译Nginx   make –j4(开启多线程编译,速度快些)

先安装make工具 sudo apt-get install make  有的话就跳过

然后编译

70

然后安装  sudo make install

70

安装位置: /usr/local/nginx

启动文件: /usr/local/nginx/sbin/nginx

安装完后,可以将目录删了。。 rm –R 可以删除目录

70

我们启动下Nginx看看是否正常工作

70

(可选)安装MySQL

sudo apt-get install mysql-server mysql-common

70

确认密码就可以安装了

支持远程连接

连接数据库

mysql –u root –p 密码

使用mysql数据库

use mysql;

查询表

select host, user from user;

70

update user set host = ‘%’ where user = ‘root’;

修改mysql配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到bind-address = 127.0.0.1这一行

改为bind-address = 0.0.0.0即可

70

这样就可以支持root远程登录了(注意:这样非常危险,谨慎操作)

重启MySQL服务

sudo service mysql restart

安装PHP

sudo apt-get install php7.0 php7.0-mysql php7.0-fpm php7.0-common php7.0-curl php7.0-cli php7.0-mcrypt php7.0-mbstring php7.0-dom

让Nginx支持PHP  修改配置文件

sudo vim /usr/local/nginx/conf/nginx.conf

70

worker_processes  1;   改为4

user root;  添加这一句

70

支持php接口

修改以下

fastcgi_pass unix:/run/php/php7.0-fpm.sock;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

开直播服务

70

代码如下:

rtmp {

server {

listen 1935;

chunk_size 4096;

application live {

live on;

record off;

}

}

}

重启Nginx服务 sudo /usr/local/nginx/sbin/nginx –s reload

70

发现一个问题,Nginx的网站目录在/usr/local/nginx/html那里,可能会出现权限不足,因此把默认目录改为用户自定义的目录下。

首先在~(用户主目录)目录下建立文件夹 mkdir html

70

使用pwd查看当前目录的绝对路径  我的是 /home/heros

修改Nginx配置文件 sudo vim /usr/local/nginx/conf/nginx.conf

70

可以将原先的文件拷贝至新目录下

cp /usr/local/nginx/html/* /home/heros/html

70

测试PHP是否启用了

在html目录下创建index.php文件

touch index.php

vim index.php

70

内容是

phpinfo();

?>

重启Nginx服务 sudo /usr/local/nginx/sbin/nginx -s reload

看看效果

输入网站http://你的IP地址/index.php

70

(可选)网页管理MySQL  phpMyAdmin工具

wget https://files.phpmyadmin.net/phpMyAdmin/4.7.9/phpMyAdmin-4.7.9-all-languages.tar.gz

解压 tar -zxvf phpMyAdmin-4.7.9-all-languages.tar.gz

将phpMyAdmin-4.7.9-all-languages 更名为phpMyAdmin 并且移动到html目录下

70

测试是否正常工作

服务器ip地址/phpMyAdmin

70

尝试登录进去

70

开始安装视频推流工具

1.x264 视频编码

下载x264  使用git

1.git clone http://git.videolan.org/git/x264.git

进入该目录 cd x264

./configure –enable-shared –disable-static –disable-asm

70

编译并安装 make –j4 && sudo make install

70

如果要提示输入密码  输入便是

2.fdk-aac 音频编码

下载fdk-aac 使用git

git clone https://github.com/mstorsjo/fdk-aac.git

编译这音频编码  需准备 m4、libtool、autoconf

sudo apt-get install m4 libtool autoconf

autoreconf –fiv

70

./configure && make –j4

70

sudo make install

70

更新Linxu的库 sudo ldconfig

3.ffmpeg 转码工具

下载 wget http://ffmpeg.org/releases/ffmpeg-3.4.2.tar.bz2

解压 tar –jxvf ffmpeg-3.4.2.tar.bz2

进入该目录 cd ffmpeg-3.4.2

配置安装

./configure –enable-shared –disable-static –enable-gpl –enable-libx264 –enable-nonfree –enable-libfdk_aac –disable-x86asm

70

这里提示

安装pk-config sudo apt-get install pk-config

重新执行ffmpeg的安装配置

然后编译以及安装 make –j4 && sudo make install

70

ffmpeg: error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory

遇到这样的错误 sudo ldconfig 就能解决了

使用示例  推流

ffmpeg -re -i “原视频文件” –vcodec libx264 –codec:a libfdk_aac -f flv “你的rtmp地址/你的直播码” rtmp://localhost/live/liveroom

做一个简单的直播网站平台

去网上下载ckplayer

这里使用HBuilder编写网页

70

下载测试网页

链接:https://pan.baidu.com/s/1dBf0n3FOteVAcLV1ZRHPyQ 密码:8r14

将这个文件夹上传给服务器 ftp 或 网络邻居(前提安装Samba)

ftp工具推荐FileZilla Client

将live文件夹放置在html那里

70

测试本地直播。。。

1.打开网页 自己服务器IP/live/see.html (注意:最新版firefox不支持flash)

70

2.视频推流

这里我用的是自己从网上下的琪亚娜跳极乐净土的视频做测试

ffmpeg –re –i “视频地址” –vcodec libx264 视频编码 –codec copy 不变 –f flv 直播视频格式 rtmp://localhost(远程推送则更改ip地址)/live/(yly)房间名

推流过程

70

3.测试效果

70

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值