场景需求: 采用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;
             }
    }
}

3. 测试