操作系统: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播放,终于成功

以上就是部署的国产,前后花费我3天时间,查找大量的资料,不过最后能成功实现还是挺开心的,ffplay在ffmpeg中不是默认安装的东西,还需要SDL2的支持,目前还没实现成功编译出来,等搞出来再记录下来吧。

学着搭建流媒体服务器相关推荐

  1. ffmpeg libx264_nginx+ffmpeg搭建流媒体服务器(直播流)

    这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新 环境 系统环境:CentOS release 6.7 (Final) 需求 利用nginx和ffmpeg搭建流媒体 ...

  2. 音视频开发(8)---nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器

    nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/redstarofsle ...

  3. obs nginx-rtmp-module搭建流媒体服务器实现直播 ding

    欢迎大家来此浏览,希望大家一块在此学习,共同交流进步. 接下来我就简单跟大家介绍一下利用nginx来搭建流媒体服务器. 我选择的是腾讯云服务器 1.下载nginx-rtmp-module: nginx ...

  4. Linux---nginx+ffmpeg搭建流媒体服务器

    这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新 环境 系统环境:CentOS release 6.7 (Final) 需求 利用nginx和ffmpeg搭建流媒体 ...

  5. 用vlc搭建流媒体服务器

    用vlc搭建流媒体服务器 作者:axu82119 来源:CSDN知识库 VLC是一种开源的播放器,同时也可以用作流媒体服务器.今天试验了几种搭建流媒体服务器的方法,这里做一个归纳总结. 本文使用的VL ...

  6. nginx+ffmpeg搭建流媒体服务器

    安装ffmpeg: 下载FFmpeg和libx264的包 ffmpeg-2.4.1.tar.bz2  last_x264.tar.bz2 libx264需要yasm,所以先安装yasm apt-get ...

  7. nginx的rtmp搭建流媒体服务器实现直播流

    最近自己搞了一个用nginx的rtmp来搭建流媒体服务器,从而实现直播的过程,参考了网上很多资料,有些资料对于初学者来说比较难以理解,在此将我搭建的过程记录下来,分享给大家. 1.下载nginx-rt ...

  8. 搭建流媒体服务器 PingOS 平台搭建

    搭建流媒体服务器 PingOS 平台搭建 搭建流媒体服务器 PingOS 平台搭建 - 知乎 搭建流媒体服务器 PingOS 平台搭建 - Debug客栈

  9. srs服务器播放文件,使用SRS+ffmpeg搭建流媒体服务器播放m3u8格式视频

    1.简介 srs是一个简单的流媒体开源直播软件,ffmpeg是完整的跨平台解决方案,用于记录,转换和流传输音频和视频. 2.相关 官网下载页面:点击我到达 在线演示播放页面:点击我到达 Git页面:点 ...

最新文章

  1. python第三方库无法下载_无法使用从PyCharm中下载的第三方库
  2. DevExpress控件之GridControl、GridView
  3. 春招不迷茫,模板刷题101实验室上线啦
  4. java跳过_java跳过https证书直接请求工具类
  5. adf开发_ADF:动态视图对象
  6. 通过tomcat日志定位错误
  7. Java中的自增操作符与中间缓存变量机制
  8. 听说你还不懂面向对象??
  9. java unicode32_【JAVA SE基础篇】32.String类入门
  10. Android学习总结(6)——Android日常开发总结的技术经验60条
  11. 更改数据库表中有数据的字段类型NUMERIC(18,2)为NUMERIC(18,6)
  12. Linux下动态共享库加载及使用详解
  13. 【VS】项目属性配置(上)
  14. 联想 Thinkserver TS250服务器RAID1 重建测试
  15. 使用Canvas绘制简单工程符号(续)
  16. 机械制造技术类毕业论文文献都有哪些?
  17. JS 实现网页截屏五种方法
  18. 彻底解决阿里云图床上传图片,图片不显示问题
  19. android广告弹窗插屏,cocos2dx android添加广点通广告平台的---插屏广告
  20. 解决win10内存占用逐渐变大(亲测有效)

热门文章

  1. 2014年音视频即时通讯市场的割据
  2. Kafka | Kafka的消费再均衡是指什么?
  3. EndNote Online与word相关联
  4. inprivate浏览是什么意思_IE8的InPrivate浏览功能
  5. Python随机生成出生日期
  6. ftp服务器可以创建文件夹吗,ftp服务器如何创建文件夹
  7. mysql-8.0.13-winx64安装卸载配置使用教程
  8. 多元微积分(一)--导数与偏导数
  9. idrac虚拟控制台的使用
  10. 啊哈添柴挑战Java1222. 输出菱形