Replies: 3 comments 5 replies
-
Have you gotten your ome instance working with the public demo player
airensoft hosts? That's step one
…On Sat, Jul 27, 2024 at 11:08 Deltawolf ***@***.***> wrote:
Hey all,
I'm having trouble getting playable video to the OvenPlayer. I'm thinking
because I'm not super knowledgeable on this that I have misconfigured
something along the way, and maybe someone else can spot what I'm missing?
Symptom:
When hitting play on the OvenPlayer, the player will connect to the
OvenMediaEngine and immediately disconnect.
Logs:
ovenmediaengine | [2024-07-27 01:09:10.049] I [SPRtcSig-t3334:16] HTTP.Server | http_server.cpp:149 | Client(<ClientSocket: <Hex1>, #36, Connected, TCP, Nonblocking, <IP>:57670>) is connected on *:3334
ovenmediaengine | [2024-07-27 01:09:10.053] I [SPRtcSig-t3334:16] HTTP.Server | http_connection.cpp:147 | TLS connection accepted : Server Name(<Domain>) Alpn Protocol(http/1.1) Client (<ClientSocket: <Hex1>, #36, Connected, TCP, Nonblocking, <IP>:57670>)
ovenmediaengine | [2024-07-27 01:09:10.053] I [SPRtcSig-t3334:16] Signalling | rtc_signalling_server.cpp:316 | New client is connected: <ClientSocket: <Hex1>, #36, Connected, TCP, Nonblocking, <IP>:57670>
ovenmediaengine | [2024-07-27 01:09:10.056] I [SPRtcSig-t3334:16] Signalling | rtc_signalling_server.cpp:450 | Client is disconnected: HttpConnection(<Hex2>) : WebSocket <ClientSocket: <Hex1>, #36, Connected, TCP, Nonblocking, <IP>:57670> TLS(Enabled) (#default#live / stream, ufrag: local: v5BCN6, remote: (N/A))
ovenmediaengine | [2024-07-27 01:09:10.056] I [SPRtcSig-t3334:16] HTTP.Server | http_server.cpp:216 | Client(<ClientSocket: <Hex1>, #36, Closed, TCP, Nonblocking, <IP>:57670>) has been disconnected by *:3334
Configuration:
I am running my computer streaming with OBS on the same network as the
server computer running a bridged network in docker compose with
OvenMediaEngine (one origin instance), NGINX (SWAG container), and a HTML
file loading the OvenPlayer from my NGINX root www/ folder. The HTML file
is served through NGINX at https://domain.com/player.html#streamid.
Server.txt <https://github.com/user-attachments/files/16400450/Server.txt>
Docker Compose
ovenmediaengine:
image: airensoft/ovenmediaengine:latest
container_name: ovenmediaengine
ports:
- "9000:9000/tcp" # OVT(Origin)
- "1935:1935/tcp" # RTMP Provider
- "9999:9999/udp" # SRT
- "3333:3333" # WebRTC Signaling / LLHLS
- "3334:3334"
- "3478:3478/tcp" # WebRTC TURN
- "10000-10004:10000-10004/udp" # WebRTC Candidate
environment:
- OME_HOST_IP=<Local Network IP>
- OME_ORIGIN_PORT=9000
- OME_RTMP_PROV_PORT=1935
- OME_SRT_PROV_PORT=9999
- OME_LLHLS_STREAM_PORT=3333
- OME_WEBRTC_SIGNALLING_PORT=3333
- OME_WEBRTC_TCP_RELAY_PORT=3478
- OME_WEBRTC_CANDIDATE_PORT=10000-10004/udp
volumes:
- ./volumes/ovenmediaengine/config:/opt/ovenmediaengine/bin/origin_conf
- ./volumes/swag/config/etc:/keys
restart: unless-stopped
# Uncomment the following line to use your own configuration file (./origin_conf/Server.xml)
#volumes:
#- ./origin_conf:/opt/ovenmediaengine/bin/origin_conf
command: /opt/ovenmediaengine/bin/OvenMediaEngine -c origin_conf
Player
This the player that I would like to work, but I have tested both this
page below and a container of OvenPlayerDemo. I'm running OvenPlayeDemo for
further testing until this is resolved.
<!DOCTYPE html>
<html lang=en>
<head>
<meta charset=UTF-8>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=viewport content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
<title>Livestream</title>
<script ***@***.***/dist/hls.min.js"></script>
<script src="node_modules/ovenplayer/dist/ovenplayer.js"></script>
<style rel=stylesheet type=text/css>
body {
background-color: #111;
}
.player-wrapper {
margin: 0 auto;
width: 80%;
}
</style>
</head>
<body>
<div class="player-wrapper">
<div id="player_id"></div>
</div>
<script>
var stream_key = 'public'
if (window.location.hash) {
stream_key = window.location.hash.substring(1)
}
const player = OvenPlayer.create('player_id', {
"autoStart": true, // May not work due to browser policy
"mute": false,
"sources": [{
"label": `${stream_key}-webrtc`,
"type": "webrtc",
"file": `wss://${window.location.hostname}/live/${stream_key}`
}],
"webrtcConfig": {
"timeoutMaxRetry": 10,
"connectionTimeout": 2000
}
});
</script>
</body>
</html>
Nginx
This is in nginx/site-confs/default.conf for https://domain.com. Site
only uses 443 and HTTPS.
location /live/ {
set $upstream_app ovenmediaengine;
set $upstream_port 3333;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
Remarks:
I don't know enough about what I'm doing to intelligently test. I was
thinking I was close to getting it to work and would change one thing here
or there... but for the past 2 days lol. I kept trying to reduce the
complexity of my setup until I was on OvenPlayerDemo on my own local
network trying all sorts of combinations of ws, wss, https//.m3u8 over
3333, 3334, and 3478.
I believe with 3333 and 3334 OvenPlayerDemo at best gives me a
"RTCPeerConnection is not defined".
For NGINX, I also tested proxy passing to the :3333, :3333 to see if there
was an issue using the bridge network to go directly into the container.
In the server config, I tried reducing the ABR stuff down to just the one
stream setup, moved my OBS config from SRT to RTMP, and tried to change the
TcpRelay from * to my public IP and I *think* I also tried my local
network IP. I don't know what TURN is through tbh, it was just another
thing to try.
Ideally, I would like to not open all of these ports on my docker config.
I would like to use NGINX to forward the data into the container directly
where possible, but I think I'll need to at least have 1935 open if I stick
with RTMP or 9999 open if I can get SRT working instead.
Let me know if I should provide any additional information or
clarification. I can also perform any testing or configuration changes.
Thank you for taking the time to read this anonymous internet helpers :)
—
Reply to this email directly, view it on GitHub
<#1670>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABV4BWOFI7I3WV6BCXNZTO3ZOOZVTAVCNFSM6AAAAABLR6KHQGVHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZWHE4DGMBSGA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
1 reply
-
Test with the public demo player to eliminate potential local demo player
problems
Either remove the ome host IP environment variable or set it to your public
IP
Have you forwarded ports in your router?
…On Sat, Jul 27, 2024 at 11:18 Deltawolf ***@***.***> wrote:
No, I was having the same issues with the public demo player. I tried
opening ports 3333, 3334, and 3478. I couldn't get it to work on the public
instance, and then I loaded it up the demo locally to
https://player.domain.com try again and eliminate possible certificate
issues.
—
Reply to this email directly, view it on GitHub
<#1670 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABV4BWL4EMTVWMWCATAFSIDZOO247AVCNFSM6AAAAABLR6KHQGVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTAMJWG44DMMQ>
.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
2 replies
-
If I understand correctly, you're trying to proxy port 3333 and 3334
through nginx? I don't believe that will work, or at least I never managed
it
Expose those directly to the internet. Which, if your server is directly
connected to the internet, the docker port option should do. Fwiw, docker
port forwarding bypasses ufw and other software firewalls by default. Don't
get caught by that
Also, when posting logs or config files least don't inline them, use GitHub
gists or something similar so it's easier to parse
…On Sat, Jul 27, 2024 at 11:41 Deltawolf ***@***.***> wrote:
wss://domain.com/live/stream proxy_passed to port 3333
ovenmediaengine | [2024-07-27 15:35:54.943] I [SPRtcSig-t3333:10] Signalling | rtc_signalling_server.cpp:450 | Client is disconnected: HttpConnection(0x7f6ea2603010) : WebSocket <ClientSocket: 0x7f6ea2603210, #36, Connected, TCP, Nonblocking, 172.18.0.21:45676> TLS(Disabled) (#default#live / stream, ufrag: local: GFbzyg, remote: (N/A))
ovenmediaengine | [2024-07-27 15:35:54.943] I [SPRtcSig-t3333:10] HTTP.Server | http_server.cpp:216 | Client(<ClientSocket: 0x7f6ea2603210, #36, Closed, TCP, Nonblocking, 172.18.0.21:45676>) has been disconnected by *:3333
ovenmediaengine | [2024-07-27 15:35:56.981] I [SPRtcSig-t3333:12] HTTP.Server | http_server.cpp:149 | Client(<ClientSocket: 0x7f6ea2603a10, #36, Connected, TCP, Nonblocking, 172.18.0.21:45684>) is connected on *:3333
ovenmediaengine | [2024-07-27 15:35:56.981] I [SPRtcSig-t3333:12] Signalling | rtc_signalling_server.cpp:316 | New client is connected: <ClientSocket: 0x7f6ea2603a10, #36, Connected, TCP, Nonblocking, 172.18.0.21:45684>
ovenmediaengine | [2024-07-27 15:35:56.984] I [SPRtcSig-t3333:12] Signalling | rtc_signalling_server.cpp:450 | Client is disconnected: HttpConnection(0x7f6ea3c40610) : WebSocket <ClientSocket: 0x7f6ea2603a10, #36, Connected, TCP, Nonblocking, 172.18.0.21:45684> TLS(Disabled) (#default#live / stream, ufrag: local: ESXzbZ, remote: (N/A))
ovenmediaengine | [2024-07-27 15:35:56.984] I [SPRtcSig-t3333:12] HTTP.Server | http_server.cpp:216 | Client(<ClientSocket: 0x7f6ea2603a10, #36, Closed, TCP, Nonblocking, 172.18.0.21:45684>) has been disconnected by *:3333
ovenmediaengine | [2024-07-27 15:35:59.021] I [SPRtcSig-t3333:8] HTTP.Server | http_server.cpp:149 | Client(<ClientSocket: 0x7f6ea2603410, #36, Connected, TCP, Nonblocking, 172.18.0.21:45692>) is connected on *:3333
ovenmediaengine | [2024-07-27 15:35:59.022] I [SPRtcSig-t3333:8] Signalling | rtc_signalling_server.cpp:316 | New client is connected: <ClientSocket: 0x7f6ea2603410, #36, Connected, TCP, Nonblocking, 172.18.0.21:45692>
ovenmediaengine | [2024-07-27 15:35:59.024] I [SPRtcSig-t3333:8] Signalling | rtc_signalling_server.cpp:450 | Client is disconnected: HttpConnection(0x7f6ea2603810) : WebSocket <ClientSocket: 0x7f6ea2603410, #36, Connected, TCP, Nonblocking, 172.18.0.21:45692> TLS(Disabled) (#default#live / stream, ufrag: local: 8coAgp, remote: (N/A))
ovenmediaengine | [2024-07-27 15:35:59.024] I [SPRtcSig-t3333:8] HTTP.Server | http_server.cpp:216 | Client(<ClientSocket: 0x7f6ea2603410, #36, Closed, TCP, Nonblocking, 172.18.0.21:45692>) has been disconnected by *:3333
wss://domain.com/live/stream proxy_passed to port 3334
ovenmediaengine | [2024-07-27 15:39:39.488] I [SPRtcSig-t3334:16] HTTP.Server | http_server.cpp:216 | Client(<ClientSocket: 0x7f6e9c600010, #34, Closed, TCP, Nonblocking, 172.18.0.21:44220>) has been disconnected by *:3334
ovenmediaengine | [2024-07-27 15:39:41.527] I [SPRtcSig-t3334:17] HTTP.Server | http_server.cpp:149 | Client(<ClientSocket: 0x7f6ea3dba010, #34, Connected, TCP, Nonblocking, 172.18.0.21:44230>) is connected on *:3334
ovenmediaengine | [2024-07-27 15:39:41.527] E [SPRtcSig-t3334:17] OpenSSL | tls.cpp:208 | An error occurred while accept SSL connection: [OpenSSL] error:0A00009C:SSL routines::http request (167772316)
ovenmediaengine | [2024-07-27 15:39:41.527] I [SPRtcSig-t3334:17] HTTP.Server | http_server.cpp:216 | Client(<ClientSocket: 0x7f6ea3dba010, #34, Closed, TCP, Nonblocking, 172.18.0.21:44230>) has been disconnected by *:3334
ovenmediaengine | [2024-07-27 15:39:43.566] I [SPRtcSig-t3334:14] HTTP.Server | http_server.cpp:149 | Client(<ClientSocket: 0x7f6e9c600210, #34, Connected, TCP, Nonblocking, 172.18.0.21:44236>) is connected on *:3334
ovenmediaengine | [2024-07-27 15:39:43.567] I [SPRtcSig-t3334:14] HTTP.Server | http_server.cpp:216 | Client(<ClientSocket: 0x7f6e9c600210, #34, Closed, TCP, Nonblocking, 172.18.0.21:44236>) has been disconnected by *:3334
ovenmediaengine | [2024-07-27 15:39:43.566] E [SPRtcSig-t3334:14] OpenSSL | tls.cpp:208 | An error occurred while accept SSL connection: [OpenSSL] error:0A00009C:SSL routines::http request (167772316)
—
Reply to this email directly, view it on GitHub
<#1670 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABV4BWND6JHDNQLVKJOPQ6DZOO5RLAVCNFSM6AAAAABLR6KHQGVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTAMJWG44TKNI>
.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hey all,
I'm having trouble getting playable video to the OvenPlayer. I'm thinking because I'm not super knowledgeable on this that I have misconfigured something along the way, and maybe someone else can spot what I'm missing?
Symptom:
When hitting play on the OvenPlayer, the player will connect to the OvenMediaEngine and immediately disconnect.
Logs:
Configuration:
I am running my computer streaming with OBS on the same network as the server computer running a bridged network in docker compose with OvenMediaEngine (one origin instance), NGINX (SWAG container), and a HTML file loading the OvenPlayer from my NGINX root www/ folder. The HTML file is served through NGINX at https://domain.com/player.html#streamid.
Server.txt
Docker Compose
Player
This the player that I would like to work, but I have tested both this page below and a container of OvenPlayerDemo. I'm running OvenPlayeDemo for further testing until this is resolved.
Nginx
This is in nginx/site-confs/default.conf for https://domain.com. Site only uses 443 and HTTPS.
Remarks:
I don't know enough about what I'm doing to intelligently test. I was thinking I was close to getting it to work and would change one thing here or there... but for the past 2 days lol. I kept trying to reduce the complexity of my setup until I was on OvenPlayerDemo on my own local network trying all sorts of combinations of ws, wss, https//.m3u8 over 3333, 3334, and 3478.
I believe with 3333 and 3334 OvenPlayerDemo at best gives me a "RTCPeerConnection is not defined".
For NGINX, I also tested proxy passing to the :3333, :3333 to see if there was an issue using the bridge network to go directly into the container.
In the server config, I tried reducing the ABR stuff down to just the one stream setup, moved my OBS config from SRT to RTMP, and tried to change the TcpRelay from * to my public IP and I think I also tried my local network IP. I don't know what TURN is through tbh, it was just another thing to try.
Ideally, I would like to not open all of these ports on my docker config. I would like to use NGINX to forward the data into the container directly where possible, but I think I'll need to at least have 1935 open if I stick with RTMP or 9999 open if I can get SRT working instead.
Let me know if I should provide any additional information or clarification. I can also perform any testing or configuration changes. Thank you for taking the time to read this anonymous internet helpers :)
Beta Was this translation helpful? Give feedback.
All reactions