EasyDSS高性能RTMP、HLS(m3u8)、FLV、RTSP流媒体服务器运行遇到getpwnam(_xxxxx_)错误的解决办法

EasyDSS RTMP流媒体服务器是什么?

EasyDarwin如何支持点播和RTMP/HLS直播?EasyDSS!

getpwnam(“xxxxx”)

近期有EasyDSS流媒体服务器用户反应运行easydss for linux会遇到
easydss: [emerg] getpwnam("nobody") failed
错误,导致easydss无法运行。

问题分析

我们使用getpwnam这个函数来获取nobody账户的账户信息,并且我们默认任务这个nobody属于nobody用户组。
这里主要分为两种情况。

  1. 在部分Linux发行版中默认无nobody用户组(如:ubuntu 14.04.1 LTS)。这里就需要添加nobody用户组,并且把nobody用户加入nobody用户组。
    命令为:
    groupadd nobody
    usermod -a -G nobody nobody
    查看用户命令为cat /etc/passwd,查看用户组为cat /etc/group

  2. 我们easydss for linux使用ubuntu 14.04 LTS编译,并且“试图”使用-static解决所有linux发行版的运行兼容问题,结果,这里就是此问题引起。

if you link your program statically to GNU libc and use name services (getpwnam() etc.), you end up linked dynamically against libc’s NSS (name service switch).

https://unix.stackexchange.com/questions/227910/will-my-linux-binary-work-on-all-distros

解决方案

  • 运行easydss for linux时,遇到getpwnam错误时,检查nobody用户和nobody组是否存在,不存在则添加。
  • 较小众或者版本较低的linux发行版,请联系EasyDarwin团队进行支持。

EasyDSS流媒体服务器

EasyDSS流媒体服务器具有高效的视频管理功能,支持一站式的上传、转码、直播、回放、嵌入、分享功能,具有多屏播放、自由组合、接口丰富等特点。该系统完全由C语言研发实现,能够最大限度的挖掘硬件和网络的潜能,实现在一台普通服务器上支持超过5000个并发播出。系统支持HTTP、HLS、RTMP等播出协议,面向Windows、Android、iOS 、Mac等终端提供稳定流畅的直播、点播、时移、回看服务,广泛应用到互联网教学、互联网电视、IPTV、VOD、视频聊天和各种互联网直播/点播。详情可访问EasyDSS官网:http://www.easydss.com
EasyDSS
EasyDSS

posted @ 2019-06-01 17:24  Babosa|EasyDarwin  阅读(194)  评论(0编辑  收藏  举报