共计 1719 个字符,预计需要花费 5 分钟才能阅读完成。
次要包含如下三个局部装置:
1. Nginx-rtmp 模块:PingOS 装置
应用 docker 进行装置:reference
# 拉取 dockerfile | |
git clone https://github.com/pingostack/pingos.git | |
cd 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 h265 | |
sudo apt-get install libx264-dev | |
sudo apt-get install libx265-dev libnuma-dev |
3. 本地装置 ffmpeg
谬误状况参考 reference
## 装置金山云的 ffmpeg 3.4 版本 | |
git clone https://github.com/ksvc/FFmpeg.git | |
cd FFmpeg | |
git 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_DEPTH | |
vim ./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 |
如果一切顺利,那么你将在屏幕上看到你推流的本地视频!
正文完