Coder Social home page Coder Social logo

pingostack / pingos Goto Github PK

View Code? Open in Web Editor NEW
974.0 34.0 270.0 28.69 MB

Based on the NGINX/RTMP/HTTP-FLV/HTTP-TS/HLS/HLS+/DASH/H.264/H.265/AAC/MP3/Live/Record/VOD/Push/Pull/Multiple Processes/Dynamic Configuration/Configuration Variables/Console Interface/Notify

Home Page: https://pingos.io

License: BSD 3-Clause "New" or "Revised" License

Shell 0.75% C 98.55% Go 0.03% XSLT 0.59% Dockerfile 0.07% Python 0.02%
hls-live-streaming hls-server flv-stream flv-live flv-server rtmp rtmp-server flvjs rtmp-stream rtmp-push

pingos's People

Contributors

im-pingo avatar mtt0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pingos's Issues

nclients doesnt show current amount of viewers

Hi!

I got my stream to work and i got some friends watching. But the viewer amount, i guess thats nclients, doesnt increase.
How do i get a real-time viewer count?

kind regards,
Graxo

HLS2播放与停止鉴权问题

1.当播放器播放HLS2流时有调用on_play start事件 但是没有请求端的IP
2.当播放器停止播放HLS2流时没有调用on_play done事件(hls2_timeout 10s)
3.VLC播放HLS2流 出图很慢 至少5秒以上 (H264 +AAC gop 50)

播放鉴权

1.rtmp鉴权配置不生效 配置如下
application live {
live on;
idle_streams off;
on_publish http://127.0.0.1:8080/api/play/auth stage=start,done args=a=c&b=d&$pargs;
on_play http://127.0.0.1:8080/api/play/auth stage=start,done args=a=c&b=d&$pargs;
on_stream http://127.0.0.1:8080/api/play/auth stage=start,done args=a=c&b=d&$pargs;
hls on;
hls_path /tmp/hls;
hls_fragment 4000ms;
hls_playlist_length 12000ms;
hls_type live;
}
是不是我哪里配置错了。。

2.另外如果我想给http-flv/hls/http-ts播放鉴权 我该怎么配置。。

关于点播功能(VOD)

你好,我想使用点播功能,在nginx.conf里面做了如下配置,但是提示出错,'play'关键字未识别,烦请看看点播功能如何激活。

rmtp{
...
server {
...
application vod {
play /home/Videos;
}
}
}

执行./sbin/nginx -t , 提示如下:
nginx: [emerg] unknown directive "play" in /usr/local/pingos/conf/nginx.conf:53
nginx: configuration file /usr/local/pingos/conf/nginx.conf test failed

error log 重覆出現相同的訊息mpegts vps_copy 1, sps_copy 1, pps_copy 1

您好,請問一下rtmp 推流上去後,毎個流都會一直重覆出現以下log
2020/11/03 15:38:02 [error] 306641#0: *149 mpegts vps_copy 1, sps_copy 1, pps_copy 1
, client: 127.0.0.1, server: 0.0.0.0:1935, session: 00000000039B5530, stream: 000/live/xxxxxxx

這個是正常的log 還是我用ffmpeg 推流錯誤呢?

nginx进程core dump

hi nginx.conf中配置on_pull采用动态回源方式,当on_pull接口返回404时,进程出现随机的异常重启(core dumped)。
core日志如下:
image
core时,session的值:
image
另外,p s->finalized 为1.

您好,树莓派4B官方系统,安装报错

您好,我尝试在树莓派4B上安装服务,安装过程参照您的说明,运行release.sh脚本时,使用sudo授权
sudo ./release.sh -i
安装过程报如下错误,能帮我看看这是什么问题,如何解决吗?

In file included from ../modules/nginx-rtmp-module/ngx_live_relay.h:10,
                 from ../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:6:
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c: In function ‘ngx_live_relay_httpflv_parse’:
src/core/ngx_core.h:102:37: error: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                     ^
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
src/core/ngx_core.h:102:47: error: operand of ?: changes signedness from ‘int’ to ‘uint32_t’ {aka ‘unsigned int’} due to unsignedness of other operand [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                               ^~~~~~
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I ../modules/nginx-client-module -I ../modules/nginx-multiport-module -I ../modules/nginx-toolkit-module  -I src/core -I src/event -I src/event/modules -I src/os/unix -I ../modules/nginx-rtmp-module -I objs -I src/http -I src/http/modules -I ../modules/nginx-rtmp-module -I ../modules/nginx-rtmp-module/http -I ../modules/nginx-rtmp-module/hls -I ../modules/nginx-rtmp-module/mpegts \
	-o objs/addon/nginx-rtmp-module/ngx_live_relay_simple.o \
	../modules/nginx-rtmp-module/ngx_live_relay_simple.c
cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:1565:objs/addon/nginx-rtmp-module/ngx_live_relay_httpflv.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: 离开目录“/home/pi/Tools/pingos/nginx”
make: *** [Makefile:8:build] 错误 2
make -f objs/Makefile install
make[1]: 进入目录“/home/pi/Tools/pingos/nginx”
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I ../modules/nginx-client-module -I ../modules/nginx-multiport-module -I ../modules/nginx-toolkit-module  -I src/core -I src/event -I src/event/modules -I src/os/unix -I ../modules/nginx-rtmp-module -I objs -I src/http -I src/http/modules -I ../modules/nginx-rtmp-module -I ../modules/nginx-rtmp-module/http -I ../modules/nginx-rtmp-module/hls -I ../modules/nginx-rtmp-module/mpegts \
	-o objs/addon/nginx-rtmp-module/ngx_live_relay_httpflv.o \
	../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c
In file included from ../modules/nginx-rtmp-module/ngx_live_relay.h:10,
                 from ../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:6:
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c: In function ‘ngx_live_relay_httpflv_parse’:
src/core/ngx_core.h:102:37: error: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                     ^
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
src/core/ngx_core.h:102:47: error: operand of ?: changes signedness from ‘int’ to ‘uint32_t’ {aka ‘unsigned int’} due to unsignedness of other operand [-Werror=sign-compare]
 #define ngx_min(val1, val2)  ((val1 > val2) ? (val2) : (val1))
                                               ^~~~~~
../modules/nginx-rtmp-module/ngx_live_relay_httpflv.c:318:23: note: in expansion of macro ‘ngx_min’
                 len = ngx_min(st->len, b->last - p);
                       ^~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:1565:objs/addon/nginx-rtmp-module/ngx_live_relay_httpflv.o] 错误 1
make[1]: 离开目录“/home/pi/Tools/pingos/nginx”

請問如何取得目前錄像的檔案名稱?

請問要如何取得目前錄像的檔名,或者可以利用API動態加載自行定義的錄像檔案名稱?
例如 http://${your-pingos-server-ip}/control/${section}/${method}?srv=${serverid}&app=${app}&name=${name}&clientid=${clientid}&addr=${addr}&recordfile=XXXXX

流量统计的功能能不能做在stage=update中?

流量统计的功能能不能做在stage=update中? 这样后台服务器就可以很方便的获取到这个流推送的流量。 我尝试日志中的参数(
$bytes_sent | 这条连接上发出去的字节数 ) 配置在on_publish中没有作用。

关于exec使用的问题

问题一:exec_pull和exec命令是否相同
exec文档中别名exec_push
exec_pull文档中貌似没有介绍

问题二:这边想流推来的时候想利用ffmpeg转编码之后push转推到对应的服务器
原本实例:
application push {
live on;
push rtmp://127.0.0.1:9000/live app=live;
}
修改实例:
application push {
live on;
exec_push ffmpeg -vcodec hevc -i 推上来的流 -acodec copy -vcodec libx264 rtmp://127.0.0.1:9000/live app=live;
}

这里推上来的流这一段该写什么呢?请指教,非常感谢啊。

服务core dump

hi httpflv的拉流过程中,随机出现服务进程异常重启(core dump)
core日志如下:
image
image
image
nginx日志如下:
2020/08/06 10:48:52 [info] 33167#0: *93823 http flv live, client timed out (110: Connection timed out), client: 10.200.20.62, server: , request: "GET /live/b34f586544924ab8a9a9f66f4761672d HTTP/1.0", host: "live2.pptv.com"
2020/08/06 10:48:52 [info] 33167#0: *93823 http flv live, cleanup, client: 10.200.20.62, server: , request: "GET /live/b34f586544924ab8a9a9f66f4761672d HTTP/1.0", host: "live2.pptv.com"
2020/08/06 10:48:52 [info] 33167#0: *93823 finalize fake session, server: 0.0.0.0:1935, session: 000000000245A680, stream: pptv/live/b34f586544924ab8a9a9f66f4761672d, client: 10.200.20.62, server: , request: "GET /live/b34f586544924ab8a9a9f66f4761672d HTTP/1.0", host: "live2.pptv.com"
2020/08/06 10:48:52 [info] 33167#0: *93823 disconnect, server: 0.0.0.0:1935, session: 000000000245A680, stream: pptv/live/b34f586544924ab8a9a9f66f4761672d, client: 10.200.20.62, server: , request: "GET /live/b34f586544924ab8a9a9f66f4761672d HTTP/1.0", host: "live2.pptv.com"
2020/08/06 10:48:52 [info] 33167#0: *93823 rtmp close stream filter, server: 0.0.0.0:1935, session: 000000000245A680, stream: pptv/live/b34f586544924ab8a9a9f66f4761672d, client: 10.200.20.62, server: , request: "GET /live/b34f586544924ab8a9a9f66f4761672d HTTP/1.0", host: "live2.pptv.com"
2020/08/06 10:48:52 [info] 33167#0: *93823 finalize session, server: 0.0.0.0:1935, session: 000000000245A680, stream: pptv/live/b34f586544924ab8a9a9f66f4761672d, client: 10.200.20.62, server: , request: "GET /live/b34f586544924ab8a9a9f66f4761672d HTTP/1.0", host: "live2.pptv.com"
2020/08/06 10:48:52 [info] 33167#0: *93823 asyn finalize http request, server: 0.0.0.0:1935, session: 000000000245A680, stream: pptv/live/b34f586544924ab8a9a9f66f4761672d, client: 10.200.20.62, server: 0.0.0.0:80
2020/08/06 10:48:52 [notice] 32285#0: signal 17 (SIGCHLD) received from 33167
2020/08/06 10:48:52 [alert] 32285#0: worker process 33167 exited on signal 11 (core dumped)

rename m3u8failed

error.log show log like this

2020/05/25 15:19:06 [error] 3176#0: *65 hls: rename failed: '/usr/local/nginx/html/app/ly.m3u8.bak'->'/usr/local/nginx/html/app/ly.m3u8' (2: No such file or directory), client: unix:/tmp/rtmp.3, server: 0.0.0.0:1935, session: 0000000003B70710, stream: default/hls/ly
2020/05/25 15:20:02 [error] 3177#0: *281 hls: rename failed: '/usr/local/nginx/html/app/ly.m3u8.bak'->'/usr/local/nginx/html/app/ly.m3u8' (2: No such file or directory), client: unix:/tmp/rtmp.3, server: 0.0.0.0:1935, session: 0000000003B70710, stream: default/hls/ly

3176 and 3177 are different process id of nginx worker.

hls+携带的额外参数重复

hls+携带的额外参数重复了,携带的额外参数已由ngx_hls_http_module.c处理。
解决方案:
nginx.conf中/hls2部分注释掉

 #if ($args) {
 #    set $hls_args scheme=$scheme&$args&location=/hls2;
 #}

hls+鉴权失败导致推流断开

对notify:on_play stage=start添加鉴权。鉴权失败时HttpStatusCode=403
使用hls+模式播放,如果鉴权失败时请求m3u8会出错
curl: (52) Empty reply from server(linux)/curl: (56) Failure when receiving data from the peer (windows),并且OBS提示已断开链接,推流被断开
http-flv模式下,鉴权失败正确响应403,并且推流状态正常

notify中on_play事件的建议

测试发现 如果on_play 配置url访问不了,服务器就自动放行了。
建议加个属性来决定这种情况是否自动放行。

请问下大量推流的配置问题

使用场景是有上百个摄像头通过ffmpeg 转rtsp 到rtmp推流到pingos,通过hls查看直播流,查看请求非常少,个位数。
通过实验发现worker_processes默认4会有大量推流不能生成hls文件,扩到到12(和cpu核匹配)有改善,但还是不能满足全部推流的转发,但其实cpu使用率并不高,12%左右。这种情况下如何配置才比较合理呢?

hls h265 错误

我使用提供的金山ffmpeg 补丁,发送h265码流时,ffmpeg会出现错误,提示
error writing trailer of rtmp://127.0.0.1:1938/live/2 : connection reset by peer .
于是查看了pingos中logs/ 下的error日志:
hls: failed to read 22 byte .....
hls: error appending vps/sps/pps nals ;

于是我手动关闭了 hls的支持, hls off , 然后ffmpeg 可以转发h265的流了

关于搭建支持随意调节进度的视频点播功能的一些问题

你好,我最近打算使用pingos搭建http点播的服务器。我在pingos的博客里看到pingos支持点播服务,而且“mp4、hls点播过程可通过进度条实现seek(快进、回退)”,但是搭建过程中我遇到一些问题,想请教一下。

  1. 我使用ffmpeg自己把mp4文件切成ts文件放到/tmp/hls里,尝试点播。但是我是否可以直接提供mp4文件,不用自己切ts,让pingos直接帮我实现mp4直播,并实现seek(快进、回退)呢?

  2. 在我尝试自己切ts文件并放到/tmp/hls里后,虽然通过 http://ip/hls/*.m3u8 能正常进行hls点播,但是手动重启nginx后,/tmp/hls里的东西会被清空,我猜可能是直播推流的配置影响的(我用的pingos默认配置),这个ts文件被清空问题如何解决?

  3. 如果我想用hls+来进行点播,是否可行?又如何设置?

nginx seems crash when more than one rtmp stream push

when use one rtmp stream push like /live/0 . nginx works above 12 hours , but when add 2 rtmp stream push /live/0 and /live/1 . nginx will crash and no response of /rtmp_stat at 20-30 minutes. how do i check the problem ?

pingos exec_pull参数 执行问题

由于想通过exec_pull 来动态拉流转rtmp,我这边前端请求hls2的流地址的时候,追加了uri参数,但是拉流一直不成功,不知道是神什么原因,前端请求的m3u8地址为:http://127.0.0.1:8080/hls2/test.m3u8?uri=openUrl/IoAs24w
nginx记录的错误日志,提示应该是报错,但是看不到实际执行的命令,不知道是哪里出错了,手动使用ffmpeg命令的时候是正常的,但是放到exec_pull里面,就会执行失败,不知道设么原因,麻烦帮看下什么原因呢?我这还有个问题,http-flv的流,一直请求不成功,实在找不到什么原因,也请帮忙看下,谢谢🙏,下边是我的nginx配置文件
`#user root;
master_process on;
worker_processes auto;
#worker_rlimit 4g;

#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log debug;

worker_rlimit_nofile 102400;
worker_rlimit_core 2G;
working_directory /tmp;

#pid logs/nginx.pid;

events {
#use epoll;
worker_connections 1024;
multi_listen unix:/tmp/http 80;
multi_listen unix:/tmp/rtmp 1935;
}

stream_zone buckets=1024 streams=4096;

rtmp {
log_format log_bandwidth '{"app":"$app","name":"$name","bitrate":$bitrate,"args":"$args","timestamp":$ntp,"ts":"$time_local","type":"$command","remote_addr":"$remote_addr","domain":"$domain"}';
access_log logs/bandwidth.log log_bandwidth trunc=60s;

server {
    listen 1935;
    serverid 000;
    out_queue 2048;
    server_name localhost;

    application live {
        rtmp_auto_pull on;
        rtmp_auto_pull_port unix:/tmp/rtmp;

       exec_pull bash -c "ffmpeg -re  -rtsp_transport tcp -i rtsp://127.0.0.1:554/$parg_uri -vcodec libx264 -vprofile baseline -f flv rtmp://127.0.0.1:1935/live/test";

        live on;
        hls on;
        hls_path /tmp/hls;
        hls_fragment 4000ms;
        hls_max_fragment 5000ms;
        hls_playlist_length 12000ms;
        hls_type event;

        hls2 on;
        mpegts_cache_time 20s;

        hls2_fragment 1300ms;
        hls2_max_fragment 1600ms;
        hls2_playlist_length 3900ms;

        wait_key on;
        wait_video on;
        cache_time 3s;
        low_latency off;
        fix_timestamp 2s;
        #h265 codecid, default 12
        hevc_codecid  12;
    }
}

}

http {
include mime.types;
default_type application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_X-Forwarded-For" "$http_X-Real-IP" "$host"';


access_log  logs/access.log  main;

sendfile        on;
#tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65;

#reset_server_name www.test1.com www.test2.com;
#gzip  on;
server {
     listen 80;
    location /rtmp_stat {
        rtmp_stat all;
        rtmp_stat_stylesheet /stat.xsl;
    }

    location /xstat {
        rtmp_stat all;
    }

    location /sys_stat {
        sys_stat;
    }

    location /control {
        rtmp_control all;
    }

    location /live {
        flv_live 1935;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header Cache-Control no-cache;
    }

    location /ts {
        ts_live 1935 app=live;
    }

    location /hls {
        # Serve HLS fragments
         types {
             application/vnd.apple.mpegurl m3u8;
             video/mp2t ts;
         }
         root /tmp;
         add_header Cache-Control no-cache;
         add_header 'Access-Control-Allow-Origin' '*';
    }

    location /hls2 {
        hls2_live 1935 app=live;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header Cache-Control no-cache;
    }

    location / {
         chunked_transfer_encoding on;
         root html/;
    }
}

}`

VLC可以播放,浏览器插件不能播放

1.使用pingos,配置使用的是配置引导里模板,VLC可以播放,浏览器插件不能播放(像是卡住了,暂停一会儿会直接跳到下一个画面)。 但是VLC播放真的很流畅!!
2.使用 nginx-rtmp-module + nginx
配置 application hls {
gop_cache on;
live on;
hls on;
hls_path /usr/local/nginx/html/hls;
hls_fragment 5s;
}
VLC,浏览器插件均可正常播放,但是很卡

请问有什么建议吗?

ngx_mpegts_gop_cache 导致 cpu 100%

用一段时间,nginx 占CPU 就会飙升100, 重启nginx 又可正常一断时间,
进程跟踪发现是ngx_mpegts_gop_cache这个函数吃CPU 太历害了
IMG_20200625_143732

nginx version :1.17.3

nginx 错误日志记录 大部多是如下面这样

2020/06/25 15:01:31 [error] 125972#125972: *1539 gop, current gop pos is NULL, skip to new postion [pos 1 last 1] 1441, client: unix:, server: 0.0.0.0:1935, session: 00007F26D1426B40, stream: 000/live/2
2020/06/25 15:01:31 [error] 125972#125972: *32 gop, current gop pos is NULL, skip to new postion [pos 1 last 1] 1441, client: unix:, server: 0.0.0.0:1935, session: 00007F26D117C080, stream: 000/live/2
2020/06/25 15:01:31 [error] 125972#125972: *1539 gop, current gop pos is NULL, skip to new postion [pos 1 last 3] 3, client: unix:, server: 0.0.0.0:1935, session: 00007F26D1426B40, stream: 000/live/2
2020/06/25 15:01:31 [error] 125972#125972: *32 gop, current gop pos is NULL, skip to new postion [pos 1 last 3] 3, client: unix:, server: 0.0.0.0:1935, session: 00007F26D117C080, stream: 000/live/2
2020/06/25 15:01:31 [error] 125972#125972: *1666 mpegts-gop: link| current gop pos is NULL, skip to new postion [pos 0 last 1] 1439, server: 0.0.0.0:1935, session: 00007F26B8DA7C00, stream: 000/live/2
2020/06/25 15:01:31 [error] 125977#125977: *105 gop, current gop pos is NULL, skip to new postion [pos 1 last 1] 1441, client: unix:, server: 0.0.0.0:1935, session: 00007F26D0B9A7C0, stream: 000/live/3
2020/06/25 15:01:31 [error] 125977#125977: *105 gop, current gop pos is NULL, skip to new postion [pos 1 last 3] 3, client: unix:, server: 0.0.0.0:1935, session: 00007F26D0B9A7C0, stream: 000/live/3
2020/06/25 15:01:36 [error] 125972#125972: *1666 hls_http: write_handler| send error (32: Broken pipe), server: 0.0.0.0:1935, session: 00007F26B8DA7C00, stream: 000/live/2
2020/06/25 15:01:36 [error] 125972#125972: *1666 hls_http: write_handler| send error (32: Broken pipe), server: 0.0.0.0:1935, session: 00007F26B8DA7C00, stream: 000/live/2
2020/06/25 15:01:37 [error] 125972#125972: *1666 hls_http: write_handler| send error (32: Broken pipe), server: 0.0.0.0:1935, session: 00007F26B8DA7C00, stream: 000/live/2
2020/06/25 15:01:37 [error] 125972#125972: *1666 hls_http: write_handler| send error (32: Broken pipe), server: 0.0.0.0:1935, session: 00007F26B8DA7C00, stream: 000/live/2
2020/06/25 15:01:38 [error] 125972#125972: *1666 hls_http: write_handler| send error (32: Broken pipe), server: 0.0.0.0:1935, session: 00007F26B8DA7C00, stream: 000/live/2
2020/06/25 15:01:38 [error] 125972#125972: *1666 hls_http: write_handler| send error (32: Broken pipe), server: 0.0.0.0:1935, session: 00007F26B8DA7C00, stream: 000/live/2
2020/06/25 15:01:38 [error] 125972#125972: *1666 hls_http: write_handler| send error (32: Broken pipe), server: 0.0.0.0:1935, session: 00007F26B8DA7C00, stream: 000/live/2
2020/06/25 15:01:39 [error] 125972#125972: *1666 hls_http: write_handler| send error (32: Broken pipe), server: 0.0.0.0:1935, session: 00007F26B8DA7C00, stream: 000/live/2
2020/06/25 15:01:39 [error] 125972#125972: *1666 hls_http: write_handler| send error (32: Broken pipe), server: 0.0.0.0:1935, session: 00007F26B8DA7C00, stream: 000/live/2

想提几个需求

1:RTMP动态挂载点 可以做到能设置参数来限制拉流地址的拉流数量吗
2:http-flv能不能像rtmp一样给出rtmp_stat类似的统计
-。-嘻嘻

hls+ 流不能在 https 环境下正常播放

hls+视频流,使用videojs在http环境下可以正常播放,转成https之后自动获取的仍是http的地址,因此就不能继续显示了。hls可以从http转https。

使用hls流时 exec_pull 配置无效

使用flv或者hls+流,exec_pull 中的命令都会被触发,但是使用hls流时就不行。用vlc测试也是如此。请问有什么原因么?

control 指令操作不了

1
192.168.83.200 是pingos 服务器
192.168.83.1 是vlc播放器

我播放器还能继续播放呢?怎么回事?
我也操作了停止录播这些操作,也不行。请作者忙里抽空,回答一下哈

Export rtmp_stat to database

Hi, i would like to export the rtmp_stat to a database to i can show a history of viewers. anyone an idea how to do this?

SRT support

Hello @im-pingo ,

Thank you for good software.

Do you plan to support Haivision/SRT any time?

Thank you.

如何处理不同的清晰度

有什么方法可以在推流进来的时候对数据进行降码,最后根据请求的的参数返回对应的码率.
大佬们可以提供一下思路吗

live_record分时段保存

请问live_record保存成m3u8时可否分时段保存,比如每一个m3u8对应10分钟的视频?我尝试设置参数live_record_interval似乎没有任何效果

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.