centos7.9s使用vcpkg安装zlmediakit

1、添加yum源

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

如下这个命令的作用是安装俩repo源,CentOS-SCLo-scl.repo CentOS-SCLo-scl-rh.repo
在这里不执行这个命令了,而是直接添加centos-sclo.repo文件,同时使用里面的aliyun地址
# yum install centos-release-scl -y # 不执行这个,执行下面这个命令

cat >> /etc/yum.repos.d/centos-sclo.repo << "EOF"
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
# mirrorlist=https://mirrors.aliyun.com?arch=$basearch&release=7&repo=sclo-sclo
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
#mirrorlist=https://mirrors.aliyun.com?arch=$basearch&release=7&repo=sclo-rh
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
EOF

yum clean all && yum makecache && yum repolist

安装其他依赖

yum -y install git zip wget vim gcc-c++ perl cmake epel-release lrzsz net-tools
yum groupinstall -y "Development Tools"

待定
kernel-*

2、使用第三方仓库来安装高版本的git

vcpkg需要git2.0以上版本

当前git版本
[root@localhost ~]# git --version
git version 1.8.3.1

yum install -y https://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm

yum clean all && yum makecache && yum repolist

yum install -y git

升级后的git版本
[root@localhost ~]# git --version
git version 2.41.0

git版本太低的话安装报错信息如下:
A suitable version of git was not found (required v2.7.4) and unable to automatically download a portable one. Please install a newer version of git


3、升级系统自带的perl版本

wget https://www.cpan.org/src/5.0/perl-5.34.0.tar.gz
tar -xzf perl-5.34.0.tar.gz
cd perl-5.34.0

编译和安装:

./Configure -des -Dprefix=/usr/local/perl-5.34.0
make
make test
make install

make时间很长;
make test时间更长长…
慢慢等吧~

使用 perl 命令直接调用新版本,创建一个符号链接:

原先perl路径
# which perl
/usr/bin/perl

修改链接 不建议删除,还是备份比较好 。
mv /usr/bin/perl /usr/bin/perl.bak

# ln -s 源文件路径 软链接路径
sudo ln -sf /usr/local/perl-5.34.0/bin/perl /usr/bin/perl

验证安装:
perl -v


4、升级系统自带的gcc版本

当前gcc版本
[root@localhost ~]# gcc -v
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 

能使用的版本
[root@localhost ~]# gcc -v
gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC) 

# yum install devtoolset-8-gcc* -y
# scl enable devtoolset-8 bash  -----该操作允许GCC多版本共存

以下是永久替换旧的GCC操作:(只使用GCC新版本)
# mv /usr/bin/gcc /usr/bin/gcc-4.8.5
# ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
# mv /usr/bin/g++ /usr/bin/g++-4.8.5

# ln -s /opt/rh/devtoolset-8/root/bin/g++ # 这一步不用执行好像也可以


5、升级系统自带的cmake版本

原先cmake版本
[root@localhost ~]# make -v
GNU Make 3.82

升级cmake版本

wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gz
tar -zxvf make-4.3.tar.gz
mkdir make-4.3/build && cd make-4.3/build
../configure --prefix=/usr/local/make && make -j4 && make install
添加到系统环境变量里
echo "export PATH=/usr/local/make/bin:$PATH" >> /etc/profile
source /etc/profile
ln -s /usr/local/make/bin/make   /usr/local/make/bin/gmake
make -v


6、安装vcpkg

# 下载vcpkg工具
git clone https://mirrors.chenby.cn/https://github.com/microsoft/vcpkg

# 开始安装;如果提示安装失败,请先安装依赖
./vcpkg/bootstrap-vcpkg.sh

出现如下报错,多试几次
curl: (7) Failed connect to github.com:443; Connection timed out

安装成功后的信息:
[root@localhost ~]# ./vcpkg/bootstrap-vcpkg.sh
Downloading vcpkg-glibc...
vcpkg package management program version 2025-04-07-b8b513ba8778c918cff49c3e837aae5999d5d2aa

See LICENSE.txt for license information.
Telemetry
---------
vcpkg collects usage data in order to help us improve your experience.
The data collected by Microsoft is anonymous.
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
passing --disable-metrics to vcpkg on the command line,
or by setting the VCPKG_DISABLE_METRICS environment variable.

Read more about vcpkg telemetry at docs/about/privacy.md

7、安装zlmediakit

安装全部特性zlmediakit(包括webrtc datachannel)

./vcpkg/vcpkg install zlmediakit\[core,mp4,openssl,webrtc,sctp\]

在这一步的时候会从github拉取好多文件,有时候网络慢的话,可以事先把这些文件上传到指定目录下从而节省时间
vcpkg/downloads

cisco-libsrtp-v2.7.0.tar.gz
cmake-3.30.1-linux-x86_64.tar.gz
ireader-media-server-4e1a89c3247db72076893d3fc5ad80f4b3c04ec2.tar.gz
ninja-linux-1.12.1.zip
open-source-parsers-jsoncpp-1.9.6.tar.gz
openssl-openssl-openssl-3.5.0.tar.gz
patchelf-0.14.5-x86_64.tar.gz
sctplab-usrsctp-0.9.5.0.tar.gz
ZLMediaKit-ZLMediaKit-6b2fcf79435656be7797d396203adcc6c11ecc52.tar.gz
ZLMediaKit-ZLToolKit-46231014e2a7ec1903d4a37e96222481ecc779d8.tar.gz


安装好的路径:
/root/vcpkg/packages/zlmediakit_x64-linux/tools/zlmediakit/MediaServer

默认启动:
./MediaServer

后台启动
./MediaServer -d &

启动后会在当前目录下生成如下:
1.配置文件config.ini
2.log文件夹,存放日志
3.www文件夹,存放视频的m3u8地址,生成的ts文件地址

配置文件:
/root/vcpkg/packages/zlmediakit_x64-linux/tools/zlmediakit/config.ini

secret通过查看上述配置文件获取

不带图形化界面,可以通过接口的形式添加


浏览器直接访问下面的地址,添加拉取视频流
http://192.168.2.164/index/api/addStreamProxy?secret=bHvorJC5ALkb8gkkblt7s4ay6M469OqB&vhost=__defaultVhost__&app=live&stream=test&url=rtsp://xxx:xxx@ip/LiveMedia/ch1/Media1/trackID=1

结果:
{
	"code" : 0,
	"data" : 
	{
		"key" : "__defaultVhost__/live/test"
	}
}

使用的端口号信息:
已启动http api 接口
已启动http hook 接口
| TCP server listening on [::]: 554
| TCP server listening on [::]: 332
| TCP server listening on [::]: 1935
| TCP server listening on [::]: 19350
| TCP server listening on [::]: 80
| TCP server listening on [::]: 443
| TCP server listening on [::]: 9000
| UDP server bind to [::]: 10000
| TCP server listening on [::]: 10000
| UDP server bind to [::]: 8000
| TCP server listening on [::]: 8000
| UDP server bind to [::]: 9000


日志:
2025-04-10 15:36:34.469 I [MediaServer] [37420-event poller 3] PlayerProxy.cpp:132 operator() | play rtsp://admin:jddhlw966@192.168.2.248/LiveMedia/ch1/Media1/trackID=1 success
2025-04-10 15:36:34.610 I [MediaServer] [37420-event poller 3] MediaSource.cpp:498 emitEvent | 媒体注册:rtsp://__defaultVhost__/live/test
"/root/vcpkg/buildtrees/zlmediakit/src/c6c11ecc52-0cc24580e2.clean/ext-codec/SPSParser.c" line 2285 [wrn]: frame rate:0
"/root/vcpkg/buildtrees/zlmediakit/src/c6c11ecc52-0cc24580e2.clean/ext-codec/SPSParser.c" line 2285 [wrn]: frame rate:0
"/root/vcpkg/buildtrees/zlmediakit/src/c6c11ecc52-0cc24580e2.clean/ext-codec/SPSParser.c" line 2285 [wrn]: frame rate:0
2025-04-10 15:36:34.611 D [MediaServer] [37420-event poller 3] MediaSink.cpp:192 emitAllTrackReady | All track ready use 141ms
2025-04-10 15:36:34.611 I [MediaServer] [37420-event poller 3] MediaSource.cpp:498 emitEvent | 媒体注册:fmp4://__defaultVhost__/live/test
"/root/vcpkg/buildtrees/zlmediakit/src/c6c11ecc52-0cc24580e2.clean/ext-codec/SPSParser.c" line 2285 [wrn]: frame rate:0
2025-04-10 15:36:34.611 I [MediaServer] [37420-event poller 3] MultiMediaSourceMuxer.cpp:588 onAllTrackReady | stream: rtsp://admin:jddhlw966@192.168.2.248/LiveMedia/ch1/Media1/trackID=1 , codec info: mpeg4-generic[8000/1/16] H265[1280/720/0] 
2025-04-10 15:36:34.612 I [MediaServer] [37420-event poller 3] MediaSource.cpp:498 emitEvent | 媒体注册:rtmp://__defaultVhost__/live/test
2025-04-10 15:36:34.612 I [MediaServer] [37420-event poller 3] MediaSource.cpp:498 emitEvent | 媒体注册:ts://__defaultVhost__/live/test
"/root/vcpkg/buildtrees/zlmediakit/src/c6c11ecc52-0cc24580e2.clean/ext-codec/SPSParser.c" line 2285 [wrn]: frame rate:0
2025-04-10 15:36:36.647 I [MediaServer] [37420-event poller 3] MediaSource.cpp:498 emitEvent | 媒体注册:hls://__defaultVhost__/live/test

播放地址
http://192.168.2.164/live/test/hls.m3u8

同系统编译过的文件直接上传到其他主机上可以直接使用,就不用再次编译了

增加可执行权限
chmod 755 MediaServer

执行
./MediaServer

后台执行
./MediaServer -d &
posted @ 2025-04-10 17:39  哈喽哈喽111111  阅读(181)  评论(0)    收藏  举报