操作系統(tǒng):NAME="openEuler",架構:aarch64,CPU 運行模式:64-bit
目前有多個開發(fā)源代碼可以搭建流媒體服務,但要先依賴gcc和cmake,所以首先安裝gcc和cmake,查了一通資料,cmake安裝記錄如下:
1、依賴環(huán)境安裝
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)安裝環(huán)境,就是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/中創(chuàng)建一個文件夾,進入目錄然后下載
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 &
出現(xiàn)如下界面
?
查看MediaServer相關的命令,輸入命令:
./MediaServer -h
如果端口被占用,則修改配置文件,文件在./MediaServer同一目錄,使用vi命令修改內容
(6)測試
本人目前使用win7系統(tǒng)的臺式機,下載一個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端口是開放的,再查防火墻,發(fā)現(xiàn)防火墻已開啟,但沒有相應開放的策略,于是添加策略,具體做法參考:OpenEuler 防火墻放通端口 (以 8084 為例) - 簡書
開放防火墻后,再用vlc播放,終于成功文章來源:http://www.zghlxwxcb.cn/news/detail-677842.html
?以上就是部署的國產,前后花費我3天時間,查找大量的資料,不過最后能成功實現(xiàn)還是挺開心的,ffplay在ffmpeg中不是默認安裝的東西,還需要SDL2的支持,目前還沒實現(xiàn)成功編譯出來,等搞出來再記錄下來吧。文章來源地址http://www.zghlxwxcb.cn/news/detail-677842.html
到了這里,關于學著搭建流媒體服務器的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!