操作系统:NAME="openEuler",架构:aarch64,CPU 运行模式:64-bit
目前有多个开发源代码可以搭建流媒体服务,但要先依赖gcc和cmake,所以首先安装gcc和cmake,查了一通资料,cmake安装记录如下:
1、依赖环境安装
yum -y install libyaml libyaml-devel python-setuptools libcurl-devel python-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel libpcap-dev*
2、下载cmake
wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
3、解压、编译和安装
tar xzvf cmake-3.5.2.tar.gz cd cmake-3.5.2 ./bootstrap make -j 8 make install
4、验证是否安装成功
cmake --version
以上部分原文来源于:https://blog.csdn.net/ghpanxt/article/details/119382195
gcc待更流媒体服务器ZLMediaKit在linux上部署与启动教程 - CherryHua-Blog
三、组建流媒体服务器
参考:组建流媒体服务器(手把手搭建RTSP流媒体服务器)
选取ZLMediaKit这个软件建立服务器服务
ZLMediaKit的github链接:https://github.com/xiongziliang/ZLMediaKit
安装openssl,参考资料:https://www.cnblogs.com/Ressurection-20191320/p/15451804.html
1、查看是否已经安装openssl
2、下载openssl
wget http://www.openssl.org/source/openssl-1.1.1c.tar.gz
tar -zxvf openssl-1.1.1c.tar.gz
cd openssl-1.1.1c
make
make install
3、安装ffmpeg
安装ffmpeg走了很多弯路,最后是按照官网给出步骤进行安装,地址如下:
CompilationGuide/Centos – FFmpeg
为防止网页以后访问不了,简单记录一下
(1)安装环境,就是gcc
# yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel
(2)建立一个文件夹放各种库文件
mkdir ~/ffmpeg_sources
(3)安装各种编译时需要的库
-----NASM-----
cd ~/ffmpeg_sources
curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2
tar xjvf nasm-2.15.05.tar.bz2
cd nasm-2.15.05
./autogen.sh
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
-----Yasm-----
cd ~/ffmpeg_sources
curl -O -L https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
-----libx264---
cd ~/ffmpeg_sources
git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git
cd x264
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install
-----libx265----
cd ~/ffmpeg_sources
git clone --branch stable --depth 2 https://bitbucket.org/multicoreware/x265_git
cd ~/ffmpeg_sources/x265_git/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
make
make install
-----libfdk_aac-----
cd ~/ffmpeg_sources
git clone --depth 1 https://github.com/mstorsjo/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
------libmp3lame----
cd ~/ffmpeg_sources
curl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar xzvf lame-3.100.tar.gz
cd lame-3.100
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
make
make install
-----libopus--------
cd ~/ffmpeg_sources
curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
tar xzvf opus-1.3.1.tar.gz
cd opus-1.3.1
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
-----libvpx--------
cd ~/ffmpeg_sources
git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
make
make install
按照官网一步一步下来才能正确解释h265、h264两种编码
(4)安装ffmepg
------FFmpeg-----
cd ~/ffmpeg_sources
curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--extra-libs=-lpthread \
--extra-libs=-lm \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libfdk_aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree
make
make install
hash -d ffmpeg
5、搭建RTSP流媒体服务器
(1)在/home/中创建一个文件夹,进入目录然后下载
mkdir ZLMediaKit_Stream_Server
cd ZLMediaKit_Stream_Server
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit.git
cd ZLMediaKit
git submodule update --init
非常重要的命令(不要忘记输入):git submodule update --init
(2)构建工程
mkdir build
cd build
cmake ..
make -j4
make完成后界面
(3)开启服务
重回/ZLMediaKit/文件夹,输入以下指令
cd release/linux/Debug
./MediaServer -d &
出现如下界面
查看MediaServer相关的命令,输入命令:
./MediaServer -h
如果端口被占用,则修改配置文件,文件在./MediaServer同一目录,使用vi命令修改内容
(6)测试
本人目前使用win7系统的台式机,下载一个vlc软件,安装好
在服务器安装好ffmpeg的文件夹输入命令如下
ffmpeg -re -i /root/test.mp4 -vcodec h264 -acodec aac -f rtsp -rtsp_transport tcp rtsp://127.0.0.1/live/test
显示
台式机打开vlc播放器输入流地址,无法播放,同时服务器显示如下:
以为不成功出错,到处找这个broken pipe的解决方案,直到突然想起是否服务器端口未开放,查看端口情况,554端口是开放的,再查防火墙,发现防火墙已开启,但没有相应开放的策略,于是添加策略,具体做法参考:OpenEuler 防火墙放通端口 (以 8084 为例) - 简书
开放防火墙后,再用vlc播放,终于成功文章来源:https://www.toymoban.com/news/detail-677842.html
以上就是部署的国产,前后花费我3天时间,查找大量的资料,不过最后能成功实现还是挺开心的,ffplay在ffmpeg中不是默认安装的东西,还需要SDL2的支持,目前还没实现成功编译出来,等搞出来再记录下来吧。文章来源地址https://www.toymoban.com/news/detail-677842.html
到了这里,关于学着搭建流媒体服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!