公司项目所需要安装的一些软件,以作记录,方便后期新增环境操作。
SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。https://github.com/ossrs/srs
FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec ─这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。https://www.ffmpeg.org/
ImageMagick:免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。http://www.imagemagick.org/download/
GraphicsMagick号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88中图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。GraphicsMagick是从 ImageMagick 5.5.2 分支出来的,但是现在他变得更稳定和优秀,GM更小更容易安装、GM更有效率、GM的手册非常丰富GraphicsMagick的命令与ImageMagick基本是一样的。http://www.graphicsmagick.org/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1.裁切 gm convert -crop 100x100+20+50 xdr.png xdr1.png 100x100:指要裁切图片的大小;这里不要用*,要用字母X 20+50:裁切的坐标,xy xdr.png:要裁切图片的名字; xdr1.png:裁切后图片的名字; 2.格式转换 gm convert a.bmp a.jpg 由a.bmp图片转换为a.jpg. 3.缩略图(640x480) gm convert a.jpg -geometry 640x480^ -gravity center -extent 640x480 b.jpg 由a.jpg转换为640x480的b.jpg 4.追加文字水印 gm convert a.jpg -font Aricl -fill red -pointsize 33 -draw "text 1600,50 'wenzi'" b.jpg a.jpg图片用 Aricl字体 红色 大小33 文字从1600 50 坐标开始 内容为wnezi 转换为b.jpg
jpegsrc:jpegsrc是用软件实现JPEG图像编码、解码、转码。https://fossies.org/linux/misc/jpegsrc.v9c.tar.gz/
jdk 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
添加环境变量
1 2 3 4 5 #注意jdk版本可能不一致,需修改 export JAVA_HOME=/usr/local/jdk1.8.0_181/ export JRE_HOME=/usr/local/jdk1.8.0_181/jre/ export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
ffmpeg 可参考这里:https://www.ywthings.com/2018/10/23/ffmpeg-install-static-release.html 下载地址:https://www.johnvansickle.com/ffmpeg/
添加环境变量
1 export PATH="/usr/local/ffmpeg/bin:$PATH"
测试
1 2 # amr转换mp3 ffmpeg -i 111.amr test.mp3
srs 下载地址:https://github.com/ossrs/srs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #安装 cd git clone https://github.com/ossrs/srs cd srs/trunk ./configure --full && make #复制 mkdir /usr/local/srs cp -a /root/srs/trunk/{conf,etc,objs} /usr/local/srs/ #修改启动配置文件路径 ln -s /usr/local/srs/etc/init.d/srs /etc/init.d/srs vim /etc/init.d/srs ROOT="/usr/local/srs/"
可能出现编译错误
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #问题1: Found no assembler Minimum version is nasm-2.13 If you really want to compile without asm, configure with --disable-asm. 解决: rpm -ivh https://www.nasm.us/pub/nasm/releasebuilds/2.14/linux/nasm-2.14-0.fc27.x86_64.rpm 问题2: ERROR: speex not found using pkg-config If you think configure made a mistake, make sure you are using the latest version from Git. If the latest version fails, report the problem to the ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net. solve the problem. 解决: yum install -y speex speex-devel 问题3: ERROR: bzlib requested but not found 解决: yum install -y bzip2 bzip2-devel
srs配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 listen 1935; max_connections 1000; srs_log_tank file; srs_log_file ./objs/srs.log; http_api { enabled on; listen 1985; } http_server { enabled on; listen 8080; dir ./objs/nginx/html; } stats { network 0; disk sda sdb xvda xvdb; } vhost __defaultVhost__ { http_remux { enabled on; mount [vhost]/[app]/[stream].flv; hstrs on; } # mix_correct on; http_hooks { enabled on; on_publish http://10.10.0.10:1241/callbackOnPublish; on_unpublish http://10.10.0.10:1241/callbackOnUnpublish; on_play http://10.10.0.10:1241/callbackOnPlay; on_stop http://10.10.0.10:1241/callbackOnStop; on_dvr http://10.10.0.10:1241/callbackOnDvr; } dvr { enabled on; dvr_path /mnt/mov/[stream]-[timestamp].flv; dvr_plan session; dvr_duration 30; dvr_wait_keyframe on; time_jitter full; } hls { enabled on; hls_path /mnt/mov; hls_m3u8_file [stream].m3u8; hls_ts_file [stream]-[seq].ts; hls_fragment 10; hls_window 60000; # hls_on_error disconnect; } } vhost bandcheck.srs.com { enabled on; chunk_size 65000; bandcheck { enabled on; key "35c9b402c12a7246868752e2878f7e0e"; interval 30; limit_kbps 4000; } }
jpegsrc(可不安装) 下载地址:http://www.ijg.org/files/jpegsrc.v9c.tar.gz
1 2 3 4 5 6 7 #编译安装 tar xf jpegsrc.v9c.tar.gz cd jpeg-9c ./configure make libdir=/usr/lib64 make libdir=/usr/lib64 install
ImageMagick(可不安装) 下载地址:https://imagemagick.org/download/ImageMagick.tar.gz
yum安装
1 2 3 4 5 yum install php-pear php-devel gcc yum install ImageMagick ImageMagick-devel ImageMagick-perl convert --version
源码编译安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #编译环境 yum groupinstall 'Development Tools' yum -y install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms-devel libxml2-devel librsvg2-devel OpenEXR-devel php-devel #编译安装 wget https://www.imagemagick.org/download/ImageMagick.tar.gz tar xvzf ImageMagick.tar.gz cd ImageMagick* ./configure --prefix=/usr/local/imagemagick make && make install #查看版本号 magick -version
GraphicsMagick 下载地址:https://nchc.dl.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.31/GraphicsMagick-1.3.31.tar.xz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #安装相关依赖 #yum install -y gcc libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel #编译安装 tar xf GraphicsMagick-1.3.31.tar.xz cd GraphicsMagick-1.3.31 ./configure --prefix=/usr/local/gm --with-jpeg=yes --with-png=yes make && make install #添加环境变量 vim /etc/profile export GM_HOME=/usr/local/gm export PATH=$GM_HOME/bin:$GM_HOME/lib:$PATH export PATH=/usr/local/gm/bin:$PATH #查看是否安装成功(png、jpeg) gm version
mysql 参考这里:https://www.ywthings.com/2018/11/24/yum-install-mysql5-6.html
memcached 下载地址:http://www.memcached.org/files/memcached-1.5.12.tar.gz
安装 libevent
1 2 3 4 5 wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz tar -zxvf libevent-2.1.8-stable.tar.gz cd libevent-2.1.8-stable ./configure --prefix=/usr/local/libevent make && make install
安装 Memcached
1 2 3 4 5 wget http://www.memcached.org/files/memcached-1.5.12.tar.gz tar -zxvf memcached-1.5.12.tar.gz cd memcached-1.5.12 ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/ make && make install
启动 Memcached
1 2 3 4 5 6 7 8 9 -d是启动一个守护进程; -m是分配给Memcache使用的内存数量,单位是MB; -u是运行Memcache的用户; -l是监听的服务器IP地址,可以有多个地址; -p是设置Memcache监听的端口,,最好是1024以上的端口; -c是最大运行的并发连接数,默认是1024; -P是设置保存Memcache的pid文件。 /usr/local/memcached/bin/memcached -d -m 1024 -u root -l 192.168.1.44 -p 11211 -c 1024 -P /tmp/memcached.pid
mongodb 阿里云 天翼云 mongodb 2 华为云 腾讯云 mongodb >=3
mongodb2 mongodb 2 配置文件
1 2 3 4 5 6 7 dbpath = /data/mongodb/db/ logpath = /data/mongodb/logs/mongodb.log port = 5566 fork = true nohttpinterface = true logappend = true auth = true
mongodb 2 启动
1 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
mongodb 2 添加帐号密码
1 2 3 /usr/local/mongodb/bin/mongo 127.0.0.1:5566/admin >use admin >db.addUser('test','123456')
备注:本地连接不上,防火墙关了就可以?
mongodb3 mongodb 3 配置文件
1 2 3 4 5 6 7 port=27017 dbpath=/data/mongodb/ logpath=/data/mongodb/mongod1.log fork=true bind_ip=0.0.0.0 logappend=true auth=true 第一次启动不要添加,添加认证后才启用
mongodb 3 启动
1 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
mongodb 3 添加帐号密码认证
1 2 3 /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin >use admin > db.createUser({ user: 'root', pwd: 'test123', roles: [ { role:"root", db: "admin" } ] });
端口 需开放端口
1 2 3 4 16400 文件服务 1241 1238 通信服务 1935 1985 srs服务 因srs占用8080,web需更改端口18080 web服务
说明 1、通信服务需拷贝/lib64/libudx.so 2、内核参数,如阿里云tcp负载需添加
1 2 3 4 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.eth0.rp_filter = 0 net.ipv4.conf.eth1.rp_filter = 0
3、两个数据库,一个全局数据库修改数据库连接表,另数据库修改流媒体信息表,一个通信信息表 4、web服务修改文件服务地址、mongodb地址、数据库地址 5、tcp服务修改memcache地址、mongodb地址、数据库地址 6、相关目录的创建,可查看文件服务配置,srs配置 7、两台以上服务负载需创建共同目录,如NFS来支撑