srs_rtmp connect vhost/app failed

2024-04-06 20:18
文章标签 app failed connect rtmp srs vhost

本文主要是介绍srs_rtmp connect vhost/app failed,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在上一篇文章中已经实现了arm版本的nginx,且已经可以在目标板子上运行了,如:

同时也可以用netstat 查看nginx监听的端口号,如:

 

 arm版本的nginx已经搭建好,且nginx里rtmp模块也已经支持,接下来就是尝试在板子上将h264裸码流推送到nginx服务,然后在pc上用vlc进行拉流,在网上搜索到一篇博文,可以参考:将h.264裸码流推送到RTMP服务器_OSSRS-CSDN博客

我也是参考了里面的操作,首先是下载了srs_h264_raw_publish.c,及srs_librtmp.h, srs_librtmp.cpp, h264码流文件无法下载了,我是自己在公司设备上搞下来的一段上264码流,有需要的朋友欢迎@我。文件如下:

 为了编译方便,我将srs_h264_raw_publish.c 修改为了cpp,只要修改几处goto就可以。编译依赖库libcrypto.so,所以如果出现这些错误时需要编译安装libcrypto.so库:

一切编译完成后,拷贝到arm板子上运行时,却出现这个错误:

 可以看到握手已经成功了,但在连接vhost时失败了,出现错误的代码位置:

对srs_librtmp不熟悉,不知道这个是什么错误引起的,网上搜索一番也未能找到答案。最后终于找到原因了,因为我们调用的命令是:./rtmpPublisher ./videoFrame.h264 rtmp://127.0.0.1:1935/live/livestream 25;我们的配置里相应的也要有配置,其配置如下:

其中关键字“live”就是对应命令行里 rtmp://127.0.0.1:1935/live/livestream 里的live,如果这两个不一样,就会出现上面那个错误“connect vhost/app failed”。最后成功的样子:

已经在读取h264文件进行推送了。配置文件一定要修改对,可以用nginx -t 进行测试,这样可以测试nginx配置文件是否存在语法错误,或是无法识别的module,如果nginx不支持rtmp模块,而在nginx.conf里添加了rtmp模块的配置,则会报错无法识别等信息。配置如下:

 同时也可以查看nginx用的是哪个路径下的nginx.conf配置文件,如我的板子上存在多个nginx.conf配置文件,nginx用的是/usr/sbin/conf/下的nginx.conf

这篇关于srs_rtmp connect vhost/app failed的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/880728

相关文章

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

解决Failed to get nested archive for entry BOOT-INF/lib/xxx.jar问题

《解决FailedtogetnestedarchiveforentryBOOT-INF/lib/xxx.jar问题》解决BOOT-INF/lib/xxx.jar替换异常需确保路径正确:解... 目录Failed to get nested archive for entry BOOT-INF/lib/xxx

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式