Closed dcarrion87 closed 9 months ago
I'm testing out some of on_publish redirect capabilities. I'm testing at the moment with separate frontend and backend nginx servers for extending some dynamic features. However, the stream never starts.
front nginx server:
load_module modules/ngx_rtmp_module.so; events {} error_log /dev/stdout info; http { server { listen 80; location /on_connect { rewrite ^.*$ default? permanent; } location /on_publish { rewrite ^.*$ rtmp://10.0.1.123:1936/back? permanent; } } } rtmp { server { listen 1935; notify_method get; on_connect http://localhost/on_connect; application default { live off; on_publish http://localhost/on_publish; } } }
back nginx server:
load_module modules/ngx_rtmp_module.so; events {} error_log /dev/stdout info; rtmp { server { listen 1936; application back { live on; play on; record all; record_suffix .flv; record_path /temp; record_unique on; } } }
container logs:
muck-nginx-front-1 | 2023/12/09 13:55:00 [info] 250#250: *7 client connected '172.22.0.4' muck-nginx-front-1 | 2023/12/09 13:55:00 [info] 250#250: *7 connect: app='blablablablabla' args='' flashver='FMLE/3.0 (compatible; Lavf58.76' swf_url='' tc_url='rtmp://nginx-front:1935/blablablablabla' page_url='' acodecs=0 vcodecs=0 object_encoding=0, client: 172.22.0.4, server: 0.0.0.0:1935 muck-nginx-front-1 | 2023/12/09 13:55:00 [info] 250#250: *7 notify: connect 'localhost/on_connect', client: 172.22.0.4, server: 0.0.0.0:1935 muck-nginx-front-1 | 2023/12/09 13:55:00 [info] 250#250: *7 notify: connect redirect to 'default', client: 172.22.0.4, server: 0.0.0.0:1935 muck-nginx-front-1 | 2023/12/09 13:55:00 [info] 250#250: *7 createStream, client: 172.22.0.4, server: 0.0.0.0:1935 muck-nginx-front-1 | 2023/12/09 13:55:01 [info] 250#250: *7 publish: name='' args='' type=live silent=0, client: 172.22.0.4, server: 0.0.0.0:1935 muck-nginx-front-1 | 2023/12/09 13:55:01 [info] 250#250: *7 notify: publish 'localhost/on_publish', client: 172.22.0.4, server: 0.0.0.0:1935 muck-nginx-front-1 | 2023/12/09 13:55:01 [error] 250#250: *7 notify: push '' to 'rtmp://172.22.0.2:1936/back', client: 172.22.0.4, server: 0.0.0.0:1935 muck-nginx-front-1 | 2023/12/09 13:55:01 [info] 250#250: *7 relay: create push name='' app='' playpath='' url='172.22.0.2:1936/back', client: 172.22.0.4, server: 0.0.0.0:1935 muck-nginx-back-1 | 2023/12/09 13:55:01 [info] 7#7: *2 client connected '172.22.0.3' muck-nginx-back-1 | 2023/12/09 13:55:01 [info] 7#7: *2 connect: app='back' args='' flashver='LNX.11,1,102,55' swf_url='' tc_url='rtmp://172.22.0.2:1936/back' page_url='' acodecs=3575 vcodecs=252 object_encoding=0, client: 172.22.0.3, server: 0.0.0.0:1936 muck-nginx-back-1 | 2023/12/09 13:55:01 [info] 7#7: *2 createStream, client: 172.22.0.3, server: 0.0.0.0:1936 muck-nginx-back-1 | 2023/12/09 13:55:01 [info] 7#7: *2 publish: name='' args='' type=live silent=0, client: 172.22.0.3, server: 0.0.0.0:1936
ffmpeg logs it never starts streaming
command:
ffmpeg -v debug -stream_loop -1 -i world.mp4 -f flv rtmp://nginx-front/blablablablabla
logs:
Opening an output file: rtmp://nginx-front/blablablablabla. [rtmp @ 0x5586acf064c0] No default whitelist set [tcp @ 0x5586acf05a40] No default whitelist set [tcp @ 0x5586acf05a40] Original list of addresses: [tcp @ 0x5586acf05a40] Address 172.22.0.3 port 1935 [tcp @ 0x5586acf05a40] Interleaved list of addresses: [tcp @ 0x5586acf05a40] Address 172.22.0.3 port 1935 [tcp @ 0x5586acf05a40] Starting connection attempt to 172.22.0.3 port 1935 [tcp @ 0x5586acf05a40] Successfully connected to 172.22.0.3 port 1935 [rtmp @ 0x5586acf064c0] Handshaking... [rtmp @ 0x5586acf064c0] Type answer 3 [rtmp @ 0x5586acf064c0] Server version 13.14.10.13 [rtmp @ 0x5586acf064c0] Proto = rtmp, path = /blablablablabla, app = blablablablabla, fname = [rtmp @ 0x5586acf064c0] Window acknowledgement size = 5000000 [rtmp @ 0x5586acf064c0] Max sent, unacked = 5000000 [rtmp @ 0x5586acf064c0] New incoming chunk size = 4096 [rtmp @ 0x5586acf064c0] Releasing stream... [rtmp @ 0x5586acf064c0] FCPublish stream... [rtmp @ 0x5586acf064c0] Creating stream... [rtmp @ 0x5586acf064c0] Sending publish command for ''
Any thoughts why it's getting stuck?
If I stream directly to backend nginx server it's fine.
Resolved realised I didn't have live on at the front.
I'm testing out some of on_publish redirect capabilities. I'm testing at the moment with separate frontend and backend nginx servers for extending some dynamic features. However, the stream never starts.
front nginx server:
back nginx server:
container logs:
ffmpeg logs it never starts streaming
command:
logs:
Any thoughts why it's getting stuck?
If I stream directly to backend nginx server it's fine.