RV1126+FFMPEG多路码流监控项目——测试

RV1126+FFMPEG多路码流监控项目——测试

前面几章奖这个项目的代码都写完了,现在可以进行编译,放进板子里面测试了,编译烧录步骤我这里就不再赘述了,VI模块内容详细说了。

1.编译后的程序移植进板子后,放在userdata文件夹下,运行命令:

./rv1126_ffmpeg_main 0 rtmp://电脑IP:1935/live/01 0 rtmp://电脑IP:1935/live/02

自己电脑IP不知到的,win+r,cmd,输入ipconfig,查看以太网的IPv4的地址,然后在板子上ping一下:

ping IP地址

这就是ping成功了。

但此时还不能直接运行,会提示少几个库找不到

根据报错提示,我们在虚拟机中找到这些库,命令是:

find . -name "库的名字"

然后将这些库移植进板子的usr/lib的文件夹

2.Nginx编译集成了 rtmp 模块,专门用来做 RTMP 直播中转服务。 执行start ./nginx.exe就是启动流媒体服务程序

开始菜单搜索框输入PowerShell,点击「Windows PowerShell」打开,手动切换到 nginx 目录

start .\nginx.exe

执行这个命令,启动 nginx 后,程序会持续监听 1935 端口,接收 RV1126 发过来的 H.264 视频码流,把视频数据缓存到服务器内部。不启动 nginx:端口无人监听,开发板推流会连接失败,没有任何视频数据。

再打开两个PowerShell,进入ffmpeg中的bin文件夹,

准备好这两个命令,

此时板子的终端,准备好执行命令,开始执行之后,PowerShell也开始执行,就可以显示出两路画面。

如果没有显示出画面,就将专用网络的防火墙关了,再重新执行一遍程序,一般来说就可以了。

成功执行之后,可以永久放行端口就不用反复开关防火墙

  1. 打开「控制面板→系统和安全→Windows Defender 防火墙→高级设置」
  2. 左侧选择「入站规则」→ 右侧「新建规则」
  3. 规则类型选端口,下一步
  4. 选择 TCP,特定本地端口填写1935,下一步
  5. 勾选「域、专用、公网」全部选项,下一步
  6. 名称填写RTMP 1935,完成创建

出站规则也要新建一条一模一样的

同样新建规则,TCP 1935 端口,放行出站,保证 ffplay 播放器向外拉流不受拦截。

以上就是整个项目的执行顺序