基础的nginx安装就不讲了,向前查阅lnmp环境搭建一文
连lnmp都搭不起来不赶紧去好好补基础还有心情搞什么rtmp?
1.安装依赖软件
FFmpeg依赖yasm。FFmpeg 为了提高编译速度,使用了汇编指令,如MMX和SSE。如果没有yasm的话,编译FFmpeg就会报错。
yum install -y yasm
x264是一个基于h.264/AVC的免费开源的视频解码器。
wget https://codeload.github.com/qupai/x264/zip/master
tar -zxvf x264-master
cd x264-master
#查看帮助信息
./configure --help
#我们需要的是x264以.so or .a的形式来支援ffmpeg,所以一般关注shared和static就可以, --disable-cli一定要填,不然make出错
./configure --prefix=/usr/local/x264 --enable-shared --enable-static --disable-cli --enable-strip --enable-yasm
make
make install
在FFmpeg官网获取源码 http://ffmpeg.org/download.html ,配置完编译安装
wget https://ffmpeg.org/releases/ffmpeg-5.1.tar.bz2
tar -jxvf ffmpeg-4.1.tar.bz2
cd ffmpeg-4.1
./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-yasm --enable-libx264 --enable-gpl --enable-pthreads --extra-cflags=-I/usr/local/x264/include --extra-ldflags=-L/usr/local/x264/lib --disable-x86asm
make
make instal
2.PKG_CONFIG_PATH 变量设置
ffmpeg 安装程序会在 /usr/local/ffmpeg/lib/pkgconfig 目录下提供 libavcodec.pc libswscale.pc 等5个.pc文件,分别对应安装的五个库文件。必须要让 pkg-config 能找到 ffmpeg 的 *.pc 文件,通过 PKG_CONFIG_PATH 来设置 pkg-config 来更新
cd /usr/local/ffmpeg/lib/pkgconfig/
vim /etc/profile
#添加如下配置:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/local/ffmpeg/lib/pkgconfig
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$PATH:$FFMPEG_HOME
#使配置立即生效:
source /etc/profile
3.测试推流
ffmpeg -version
ffmpeg -f v4l2 -r 25 -video_size vga -pix_fmt yuv420p -i /dev/video0 -b:v 300k -c:v h264_omx -f flv rtmp://10.8.0.188/live/01
ffmpeg -f video4linux2 -qscale 10 -r 12 -s 640x480 -i /dev/video0 -f alsa -i hw:1 -ab 16 -ar 22050 -ac 1 -f mp3 -f flv rtmp://127.0.0.1/rtmpsvr/rtmp1
ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -f flv rtmp://127.0.0.1:1935/live/live
ffmpeg -r 30 -i /dev/video0 -vcodec h264 -max_delay 100 -f flv -g 5 -b 700000 rtmp://10.8.0.188/rtmpsvr/rtmp1
ffmpeg -f v4l2 -framerate 10 -i /dev/video0 -q 10 -f flv rtmp://127.0.0.1/live/wei
ffmpeg -f v4l2 -framerate 10 -i /dev/video0 -q 10 -f flv rtmp://127.0.0.1/hls/cctv
ffmpeg /dev/video0
ffmpeg /dev/video0 -f flv rtmp://127.0.0.1/live/live
4.nginx修改配置
vim /etc/nginx/conf/nginx.conf
#在该nginx.conf文件的最后面添加
rtmp {
server {
listen 8888;
application live {
live on;
record off;
}
}
}
5.重启&推流到nginx流媒体服务器测试
在树莓派中使用ffmpeg推流一个MP4的文件到流媒体服务器
ffmpeg -re -i test.mp4 -c copy -f flv rtmp://192.168.1.10:8888/live
6.在局域网内任意机器查看rtmp推流
rtmp://192.168.1.10:8888/live
7.推流树莓派CSI摄像头视频流命令
ffmpeg -ss 0 -i /dev/video0 -c:v h264_omx -f flv rtmp://192.168.1.10:8888/live
ffmpeg -f v4l2 -r 25 -video_size vga -pix_fmt yuv420p -i /dev/video0 -b:v 500k -c:v h264_omx -an -f flv rtmp://192.168.1.10:8888/live
END
Comments NOTHING