开发者社区> 问答> 正文

阿里云服务器搭建srs音视频服务,客户端拉流报错

我在阿里云服务器上搭建了一个srs服务,使用ffmpeg命令推流是正常的,但是使用ffplay 拉流的时候,srs服务中的日志报了timeout的错,1935、1985、8080端口策略都已经开通,不知道是不是服务器哪里还需要做些什么配置?

下面是srs配置:
image.png

下面是服务器防火墙策略:
image.png

下面是srs服务日志报错信息:

serve error code=1011(SocketTimeout)(Socket io timeout) : service cycle : rtmp: stream service : rtmp: send 1 messages : send messages : send iovs : writev : writev timeout 30000 ms
thread [24012][8230vg8i]: do_cycle() [./src/app/srs_app_rtmp_conn.cpp:262][errno=4]
thread [24012][8230vg8i]: service_cycle() [./src/app/srs_app_rtmp_conn.cpp:456][errno=4]
thread [24012][8230vg8i]: do_playing() [./src/app/srs_app_rtmp_conn.cpp:901][errno=62]
thread [24012][8230vg8i]: send_and_free_messages() [./src/protocol/srs_protocol_rtmp_stack.cpp:755][errno=62]
thread [24012][8230vg8i]: do_send_messages() [./src/protocol/srs_protocol_rtmp_stack.cpp:497][errno=62]
thread [24012][8230vg8i]: srs_write_large_iovs() [./src/protocol/srs_protocol_utility.cpp:376][errno=62]
thread [24012][8230vg8i]: writev() [./src/protocol/srs_protocol_st.cpp:664]errno=62

展开
收起
游客flsmfrsa7a4jo 2023-09-11 16:43:24 443 0
3 条回答
写回答
取消 提交回答
  • 是个只会写bug的程序媛啊!!!

    如果您在阿里云服务器上搭建SRS音视频服务,并且客户端在拉流时出现错误,可能有很多原因导致这个问题。以下是一些常见的原因和解决方法:

    1. 网络问题:请确保您的服务器和客户端之间的网络连接是正常的。检查防火墙设置,确保服务器上的端口(例如,默认端口是1935和8080)是否已打开,并且客户端可以访问这些端口。
    2. SRS配置问题:请检查SRS服务器的配置文件(通常是rtmp.conf或srs.conf)是否正确。确保音视频流的质量、码率、格式等参数与客户端支持的格式相匹配。
    3. 编码问题:确保客户端使用的编解码器与服务器兼容。某些编解码器可能不被所有客户端支持,或者需要特定的配置才能在服务器上使用。
    4. 客户端问题:检查客户端是否正确连接到服务器URL,并确保客户端使用的播放器和SDK版本与服务器兼容。
    5. SSL/TLS问题:如果您的服务器使用了SSL/TLS加密,请确保客户端支持相应的证书和加密协议。在某些情况下,可能需要在服务器上禁用某些加密算法以解决兼容性问题。
    6. 日志和错误信息:检查服务器和客户端的日志文件以获取更详细的错误信息。这可以帮助您确定问题的根本原因。
    7. 其他问题:还可能有其他问题导致拉流失败,例如磁盘空间不足、CPU过载等。请确保服务器的基本运行环境是正常的。

    根据您提供的信息,我无法确定具体的问题原因。但是,您可以按照上述方向逐一排查,并检查相关的日志文件以获取更多关于问题的信息。如果您能提供更多关于客户端和服务器配置的细节,我将更有助于帮助您解决问题。

    2023-09-12 10:51:52
    赞同 展开评论 打赏
  • 如果您在阿里云服务器上搭建了SRS(Simple Real-Time Streaming)音视频服务,但遇到了客户端拉流报错的问题,有几个常见的可能原因和解决方法:

    1. 检查网络连接:确保客户端能够正常连接到阿里云服务器。检查客户端和服务器之间的网络连接是否稳定,并且正确配置了相关的网络设置。

    2. 确认流地址和端口:确认客户端使用的拉流地址和端口号是否与服务器配置一致。确保客户端通过正确的地址和端口进行拉流请求。

    3. 验证流的存在和可用性:确保服务器上存在需要拉取的流,并且该流处于可用状态。您可以在服务器上检查 SRS 的日志文件或管理界面,确认流的创建和状态。

    4. 检查拉流协议和格式:确认客户端使用的拉流协议和格式是否与服务器配置兼容。SRS 支持多种协议和格式(如RTMP、HLS等),请确保客户端使用的协议和格式与服务器配置一致。

    5. 防火墙和安全组设置:检查阿里云服务器的安全组规则和防火墙设置,确保没有阻止客户端访问服务器的限制。

    6. 日志和错误信息:查看客户端报错信息和服务器日志,以获取更具体的错误信息。客户端可能会提供有关连接失败或协议不匹配的详细错误描述,而服务器日志可以帮助您定位问题的原因。

    2023-09-11 22:15:25
    赞同 展开评论 打赏
  • 哪位大佬知道原因,帮忙解答一下,万分感谢

    2023-09-11 16:44:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何运维千台以上游戏云服务器 立即下载
网站/服务器取证 实践与挑战 立即下载
ECS快储存加密技术 立即下载