# RV1126PushStream **Repository Path**: maxf110415/RV1126PushStream ## Basic Information - **Project Name**: RV1126PushStream - **Description**: 在RV1126推流 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-12-25 - **Last Updated**: 2025-12-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RV1126推流 ## 服务器搭建 ### 安装nginx ```sh #安装依赖 sudo apt install gcc make sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev #下载包 wget http://nginx.org/download/nginx-1.21.6.tar.gz wget https://github.com/arut/nginx-rtmp-module/archive/master.zip #解压nginx文件 tar -zxvf nginx-1.21.6.tar.gz #解压rtmp模块 unzip nginx-rtmp-module-master.zip #进入解压后的nginx路径 cd nginx-1.21.6 #编译: ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master #安装: make sudo make install #启动 sudo /usr/local/nginx/sbin/nginx #测试 curl localhost #停止 sudo /usr/local/nginx/sbin/nginx -s stop ``` 配置nginx使用RTMP,` /usr/local/nginx/conf/nginx.conf` ```json rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; } } } ``` ### 搭建srt服务器 ```sh sudo git clone https://github.com/Haivision/srt.git cd srt ./configure make -j8 sudo make install sudo git clone https://github.com/Edward-Wu/srt-live-server.git cd srt-live-server sudo make -j8 cd bin ./sls –h echo "export LD_LIBRARY_PATH=/usr/local/lib" >> ~/.bashrc source ~/.bashrc ./sls -c ../sls.conf ``` ## ffmpeg命令推流测试 ```sh #rtmp推流 ffmpeg -i video.mp4 -c:a copy -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 6000k -f flv rtmp://192.168.1.104:1935/live/01 #rtmp拉流 rtmp://192.168.1.104:1935/live/01 ``` ```sh # srt推流 ffmpeg -re -i video.mp4 -c copy -pes_payload_size 0 -f mpegts 'srt://192.168.1.104:8080?streamid=uplive.sls.com/live/cz_02' # srt拉流 srt://192.168.1.104:8080?streamid=live.sls.com/live/cz_02 ``` **注:** 1. 板子要安装有srt库 :https://github.com/Haivision/srt 2. 板子的ffmpeg要开启SRT `--enable-libsrt ` 3. SRT推流报input/output error,试下修改URL的后缀字段,比如现在改为的`cz_02` ## 代码编译运行 ```sh #编译 sh build.sh # 运行 ./rv1126_ffmpeg 0 rtmp://192.168.1.104:1935/live/01 ./rv1126_ffmpeg 1 srt://192.168.1.104:8080?streamid=uplive.sls.com/live/cz_02 ``` ## 注册人脸 ```sh ./face_library_import 科比 pic/kb.jpg ./face_library_import 梅西 pic/mx.jpg ./face_library_import C 罗 pic/cl.jpeg ``` ## 流程说明 1. 初始化,包括音视频输入,编码结构体,推流配置 2. 开启线程,通过队列传音视频数据包 1. 读取视频,人脸识别线程。人脸识别时间:135ms/次 1. 视频编码线程 2. 读取音频线程。rkmedia音频编码器不支持AAC,需要自己用ffmpeg转码成AAC 3. 音视频同步,推流 ## 待做 1. 增加其他协议,推流。rtsp手工写,rtp over UDP 2. 用mpp编解码 2. 加多一个摄像头进行双目拼接,推流