mayomeng

Results 13 comments of mayomeng

请问是否有配置可以控制,如果没有客户端播放器,也不销毁直播流?

请问hook的哪项配置对无人观看有影响呀?我这边的需求比较特殊,希望的是无人观看也能保持视频直播流的(hook也需要开);多谢拉

on_stream_none_reader我直接回复false是不是就可以保持无人观看的直播流了?

我现在是把on_stream_none_reader注释了,这样和置空不同是吧,注释了就会返回默认值,置空的话就是不生效,是这样吗?

大神,我设置了on_stream_none_reader返回【close: false】,但是流还是被注销了,而且on_stream_none_reader没有被调用呀,我hook都开了,下面是配置文件: ``` #!!!!此配置文件为范例配置文件,意在告诉读者,各个配置项的具体含义和作用, #!!!!该配置文件在执行cmake时,会拷贝至release/${操作系统类型}/${编译类型}(例如release/linux/Debug) 文件夹。 #!!!!该文件夹(release/${操作系统类型}/${编译类型})同时也是可执行程序生成目标路径,在执行MediaServer进程时,它会默认加载同目录下的config.ini文件作为配置文件, #!!!!你如果修改此范例配置文件(conf/config.ini),并不会被MediaServer进程加载,因为MediaServer进程默认加载的是release/${操作系统类型}/${编译类型}/config.ini。 #!!!!当然,你每次执行cmake,该文件确实会被拷贝至release/${操作系统类型}/${编译类型}/config.ini, #!!!!但是一般建议你直接修改release/${操作系统类型}/${编译类型}/config.ini文件,修改此文件一般不起作用,除非你运行MediaServer时使用-c参数指定到此文件。 [api] #是否调试http api,启用调试后,会打印每次http请求的内容和回复 apiDebug=1 #一些比较敏感的http api在访问时需要提供secret,否则无权限调用 #如果是通过127.0.0.1访问,那么可以不提供secret secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc #截图保存路径根目录,截图通过http api(/index/api/getSnap)生成和获取 snapRoot=./www/snap/ #默认截图图片,在启动FFmpeg截图后但是截图还未生成时,可以返回默认的预设图片 defaultSnap=./www/logo.png [ffmpeg] #FFmpeg可执行程序路径,支持相对路径/绝对路径 bin=/usr/bin/ffmpeg #FFmpeg拉流再推流的命令模板,通过该模板可以设置再编码的一些参数 cmd=%s -re -i...

使用流程是这样的,服务器A从服务器B使用addStreamProxy拉流并保存为mp4文件;但是拉流一会就会断开;并且服务器A和服务器B都配置了on_stream_none_reader并且该Hook接口始终返回【close:false】,但是拉流断开的时候服务器A和B都没有调用on_stream_none_reader接口. 服务器A的日志如下: ``` 2022-09-21 14:33:21.498 D MediaServer[7-event poller 0] RtmpPlayer.cpp:58 play | media2.neusoft:1935 rtp 00000001 2022-09-21 14:33:21.502 T MediaServer[7-event poller 0] RtmpProtocol.cpp:683 handle_chunk | MSG_SET_CHUNK:60000 2022-09-21 14:33:21.502 T MediaServer[7-event poller...

是的,但是我现在的问题是主动关闭流前没有回调【on_stream_none_reader】,按照上面的回答,主动关闭流之前不是应该回调【on_stream_none_reader】接口,根据接口返回值决定是否主动关闭流吗?

下载了最新版代码后没有这个问题了

这个问题发生的时候,拉流的rtmp地址并没有失效的; 目前的现象是,zlm刚启动的时候拉流生成直播地址非常正常;但是持续运行一段时间后(一天左右),拉流就无法生成直播流了; 而且如果是rtmp连接失效,那么应该返回【play rtmp timeout】之类的错误,现在是能成功返回拉流对应的Key,但是却没用生成直播地址,日志一直报【PlayerProxy.cpp:140 operator() | 重试播放】;这时如果重启zlm的话,那么就可以成功生成直播流。。。 此现象并不是偶现,目前的规律是只要zlm持续运行一天左右,就会出现,重启后又恢复正常; 大神有空的时候麻烦看看哈