场景需求: 采用opencv读取rtsp视频流并进行逐帧处理之后,采用python的requests.post()将处理之后的图片推送给web端的时候发现,画面超慢,算法可以做到20fps,所以就是post部分的速度太慢。
解决方案: 采用ffmpeg将处理后的图片推流成一个视频流。
1. 安装Nginx-rtmp流媒体服务器
1.1 安装Nginx
参考手把手教你搭建Nginx-rtmp流媒体服务器+使用ffmpeg推流
1.2 安装ffmpeg
参考:ubuntu安装ffmpeg,三行命令
1.3 停止Nginx
ps -ef|grep nginx
kill -QUIT 2072
具体参考:Nginx的启动、停止与重启
2. 使用ffmpeg推流
采用以下命令时报错:
ffmpeg -re -i /home/lee/video.mp4 -vcodec copy -acodec copy -b:v 800k -b:a 32k -f flv rtmp://localhost/videotest
报错:
Could not write header for output file #0 (incorrect codec parameters ?): Function not implemented
修改命令
ffmpeg -re -i ./pig.mp4 -f flv rtmp://localhost/videotest
注意: 这里的rtmp://localhost/videotest中videotest和nginx中的设置要对应
rtmp {
server {
listen 1935;
application videotest{
live on;
}
}
}