nginx-rtmp-module
nginx-rtmp-module copied to clipboard
Multi-worker streaming Issues
I have Issues when enable Multi-worker streaming
my config
user fstv;
worker_processes 4;
events {
worker_connections 1024;
}
rtmp_auto_push on;
rtmp_auto_push_reconnect 1s;
rtmp_socket_dir /var/sock;
rtmp {
server{
listen 1935;
application live {
live on;
}
}
}
http {
include mime.types;
default_type application/octet-stream;
ssl_session_cache shared:SSL:10m;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
error log
2016/05/31 21:43:45 [alert] 14915#14915: worker process 14925 exited on signal 11
2016/05/31 21:43:45 [alert] 14915#14915: worker process 14931 exited on signal 11
2016/05/31 21:43:45 [alert] 14915#14915: worker process 14932 exited on signal 11
2016/05/31 21:43:45 [alert] 14915#14915: worker process 14930 exited on signal 11
2016/05/31 21:43:46 [alert] 14915#14915: worker process 14933 exited on signal 11
2016/05/31 21:43:46 [alert] 14915#14915: worker process 14935 exited on signal 11
2016/05/31 21:43:46 [alert] 14915#14915: worker process 14936 exited on signal 11
2016/05/31 21:43:46 [alert] 14915#14915: worker process 14934 exited on signal 11
2016/05/31 21:43:46 [alert] 14915#14915: worker process 14938 exited on signal 11
2016/05/31 21:43:46 [alert] 14915#14915: worker process 14937 exited on signal 11
2016/05/31 21:43:47 [alert] 14915#14915: worker process 14940 exited on signal 11
2016/05/31 21:43:47 [alert] 14915#14915: worker process 14939 exited on signal 11
2016/05/31 21:43:47 [alert] 14915#14915: worker process 14943 exited on signal 11
2016/05/31 21:43:47 [alert] 14915#14915: worker process 14941 exited on signal 11
2016/05/31 21:43:47 [alert] 14915#14915: worker process 14942 exited on signal 11
2016/05/31 21:43:47 [alert] 14915#14915: worker process 14945 exited on signal 11
2016/05/31 21:43:48 [alert] 14915#14915: worker process 14944 exited on signal 11
2016/05/31 21:43:48 [alert] 14915#14915: worker process 14946 exited on signal 11
2016/05/31 21:43:48 [alert] 14915#14915: worker process 14948 exited on signal 11
2016/05/31 21:43:48 [alert] 14915#14915: worker process 14949 exited on signal 11
2016/05/31 21:43:48 [alert] 14915#14915: worker process 14947 exited on signal 11
2016/05/31 21:43:48 [alert] 14915#14915: worker process 14951 exited on signal 11
2016/05/31 21:43:48 [alert] 14915#14915: worker process 14950 exited on signal 11
2016/05/31 21:43:49 [alert] 14915#14915: worker process 14952 exited on signal 11
2016/05/31 21:43:49 [alert] 14915#14915: worker process 14953 exited on signal 11
2016/05/31 21:43:49 [alert] 14915#14915: worker process 14954 exited on signal 11
2016/05/31 21:43:49 [alert] 14915#14915: worker process 14956 exited on signal 11
2016/05/31 21:43:49 [alert] 14915#14915: worker process 14958 exited on signal 11
2016/05/31 21:43:49 [alert] 14915#14915: worker process 14955 exited on signal 11
2016/05/31 21:43:50 [alert] 14915#14915: worker process 14957 exited on signal 11
2016/05/31 21:43:50 [alert] 14915#14915: worker process 14959 exited on signal 11
2016/05/31 21:43:50 [alert] 14915#14915: worker process 14960 exited on signal 11
2016/05/31 21:43:50 [alert] 14915#14915: worker process 14962 exited on signal 11
2016/05/31 21:43:50 [alert] 14915#14915: worker process 14961 exited on signal 11
2016/05/31 21:43:50 [alert] 14915#14915: worker process 14964 exited on signal 11
2016/05/31 21:43:51 [alert] 14915#14915: worker process 14963 exited on signal 11
2016/05/31 21:43:51 [alert] 14915#14915: worker process 14965 exited on signal 11
2016/05/31 21:43:51 [alert] 14915#14915: worker process 14966 exited on signal 11
2016/05/31 21:43:51 [alert] 14915#14915: worker process 14967 exited on signal 11
2016/05/31 21:43:51 [alert] 14915#14915: worker process 14969 exited on signal 11
2016/05/31 21:43:51 [alert] 14915#14915: worker process 14971 exited on signal 11
2016/05/31 21:43:51 [alert] 14915#14915: worker process 14968 exited on signal 11
2016/05/31 21:43:52 [alert] 14915#14915: worker process 14973 exited on signal 11
2016/05/31 21:43:52 [alert] 14915#14915: worker process 14972 exited on signal 11
2016/05/31 21:43:52 [alert] 14915#14915: worker process 14975 exited on signal 11
2016/05/31 21:43:52 [alert] 14915#14915: worker process 14970 exited on signal 11
2016/05/31 21:43:52 [alert] 14915#14915: worker process 14976 exited on signal 11
2016/05/31 21:43:52 [alert] 14915#14915: worker process 14977 exited on signal 11
2016/05/31 21:43:53 [alert] 14915#14915: worker process 14974 exited on signal 11
2016/05/31 21:43:53 [alert] 14915#14915: worker process 14978 exited on signal 11
2016/05/31 21:43:53 [alert] 14915#14915: worker process 14980 exited on signal 11
2016/05/31 21:43:53 [alert] 14915#14915: worker process 14981 exited on signal 11
2016/05/31 21:43:53 [alert] 14915#14915: worker process 14979 exited on signal 11
2016/05/31 21:43:53 [alert] 14915#14915: worker process 14982 exited on signal 11
2016/05/31 21:43:54 [alert] 14915#14915: worker process 14983 exited on signal 11
2016/05/31 21:43:54 [alert] 14915#14915: worker process 14985 exited on signal 11
2016/05/31 21:43:54 [alert] 14915#14915: worker process 14984 exited on signal 11
2016/05/31 21:43:54 [alert] 14915#14915: worker process 14988 exited on signal 11
2016/05/31 21:43:54 [alert] 14915#14915: worker process 14986 exited on signal 11
2016/05/31 21:43:54 [alert] 14915#14915: worker process 14987 exited on signal 11
2016/05/31 21:43:54 [alert] 14915#14915: worker process 14990 exited on signal 11
2016/05/31 21:43:55 [alert] 14915#14915: worker process 14989 exited on signal 11
2016/05/31 21:43:55 [alert] 14915#14915: worker process 14993 exited on signal 11
2016/05/31 21:43:55 [alert] 14915#14915: worker process 14992 exited on signal 11
2016/05/31 21:43:55 [alert] 14915#14915: worker process 14991 exited on signal 11
2016/05/31 21:43:55 [alert] 14915#14915: worker process 14995 exited on signal 11
Multiworkers is now abandoned functionality.
https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/issues/132
@misiek08 do you have any idea to solve this issue ?
Disable multiple workers and auto_push.
If you really need so many viewers handled then run multiple nginx processes with pull directives or set them like normal instance and setup push on origin process.
@misiek08 thanks for idea. Do you have an example ?
This information should be updated in Readme that it's ill-advised to use multiple workers and auto_push feature (Currently it says in the Readme that RTMP module supports this and points out how to enable it).
@karlisk +1
In my case nginx-rtmp used only for rtmp termination. Clients publish flv, nginx makes dash and serve fragments. No rtmp plays involved. No rtmp pulls. Can I use multiple workers somehow?
You can start two nginx services - one for incoming rtmp, second for serving http-dash.
First need to be builded with nginx-rtmp module (or load it) and one worker,
second - just light http build with mp4/flv modules and multiple workers.
Each must read from different config dirs like /etc/nginx
, /etc/nginx-rtmp
This is obvious solution, but config and datadirs hell isn't so good. I used config with multiple workers for weeks (just forgot) without any faults. Maybe it's option for my use case?
it should work in your case. The biggest problem when someone try playing rtmp from another worker than the one where publisher is. In your case players connect via http and this part works without any problem with multiple workers. Just try for a while and if it will work then it's safe. I don't think there were changes that break multiworker publishers.
W dniu poniedziałek, 20 czerwca 2016 skykohai [email protected] napisał(a):
This is obvious solution, but config and datadirs hell isn't so good. I used config with multiple workers for weeks (just forgot) without any faults. Maybe it's option for my use case?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/issues/142#issuecomment-227119140, or mute the thread https://github.com/notifications/unsubscribe/AAbp9oYerGQz0btnBnS91V5Comuwq6BTks5qNnu6gaJpZM4Iq1x2 .
It worked just fine. I worry about dash files cleanups. What if two or more publishers will be connected to different workers? Can one worker delete dash files of another?
They will need to delete only own files and IIRC worker cleans up only closed stream files, so won't touch other.
W dniu poniedziałek, 20 czerwca 2016 skykohai [email protected] napisał(a):
It worked just fine. I worry about dash files cleanups. What if two or more publishers will be connected to different workers? Can one worker delete dash files of another?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/issues/142#issuecomment-227140915, or mute the thread https://github.com/notifications/unsubscribe/AAbp9hsalQDgMixDH2bGrXUaax6uzHTHks5qNpS2gaJpZM4Iq1x2 .