次要包含如下三个局部装置:
1. Nginx-rtmp模块:PingOS装置
应用docker进行装置:reference
# 拉取dockerfilegit clone https://github.com/pingostack/pingos.gitcd docker# 应用shell脚本产生docker容器(默认为docker_pingos_1)chmod +x run.sh./run.sh build。/run.sh up -d
2. 本地装置H264 H265
依照ffmpeg官网指南装置H264 H265
# 装置须要的库sudo apt-get update -qq && sudo apt-get -y install \ autoconf \ automake \ build-essential \ cmake \ git-core \ libass-dev \ libfreetype6-dev \ libgnutls28-dev \ libsdl2-dev \ libtool \ libva-dev \ libvdpau-dev \ libvorbis-dev \ libxcb1-dev \ libxcb-shm0-dev \ libxcb-xfixes0-dev \ meson \ ninja-build \ pkg-config \ texinfo \ wget \ yasm \ zlib1g-dev# 装置h264 h265sudo apt-get install libx264-devsudo apt-get install libx265-dev libnuma-dev
3. 本地装置ffmpeg
谬误状况参考 reference
## 装置金山云的ffmpeg 3.4版本git clone https://github.com/ksvc/FFmpeg.gitcd FFmpeggit reset --hard origin/release/3.4# 编译./configure --enable-static --enable-pic \ --disable-encoders --enable-encoder=aac --enable-encoder=libx264 --enable-gpl --enable-libx264 --enable-encoder=libx265 --enable-libx265 \ --disable-decoders --enable-decoder=aac --enable-decoder=h264 --enable-decoder=hevc \ --disable-demuxers --enable-demuxer=aac --enable-demuxer=mov --enable-demuxer=mpegts --enable-demuxer=flv --enable-demuxer=h264 --enable-demuxer=hevc --enable-demuxer=hls \ --disable-muxers --enable-muxer=h264 --enable-muxer=flv --enable-muxer=f4v --enable-muxer=mp4 \ --disable-doc --extra-cflags="-fno-stack-check"make -j8### libavcodec/libx264.c:282:9: error: ‘x264_bit_depth’ undeclared (first use in this function)### 会呈现相似报错,须要批改 libavcodec/libx264.c### 这里用vim指令讲所有x264_bit_depth替换成X264_BIT_DEPTHvim ./libavcodec/libx264.c:%s/x264_bit_depth/X264_BIT_DEPTH/g### 再回到编译局部,从新configure和make
4.测试
cd FFmpeg# 推流./ffmpeg -re -i ./video.mp4 -c:a copy -c:v libx265 -f flv rtmp://127.0.0.1/live/h265# 接流./ffplay rtmp://127.0.0.1/live/h265
如果一切顺利,那么你将在屏幕上看到你推流的本地视频!