-
Notifications
You must be signed in to change notification settings - Fork 18
/
media_callee.rb
44 lines (38 loc) · 1.98 KB
/
media_callee.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
require './util.rb'
SKYWAY_API_KEY = ENV["API_KEY"]
PEER_ID = "media_callee"
TARGET_ID = "media_caller"
RECV_ADDR = "127.0.0.1"
VIDEO_RECV_PORT = 20000
AUDIO_RECV_PORT = 20001
VIDEO_RTCP_RECV_PORT = 20010
AUDIO_RTCP_RECV_PORT = 20011
#connect to skyway server
peer_token = create_peer(SKYWAY_API_KEY, PEER_ID)
#port open request for sending data
(video_id, video_ip, video_port) = create_media(true)
(audio_id, audio_ip, audio_port) = create_media(false)
(video_rtcp_id, video_rtcp_ip, video_rtcp_port) = create_rtcp()
(audio_rtcp_id, audio_rtcp_ip, audio_rtcp_port) = create_rtcp()
media_connection_id = wait_call(PEER_ID, peer_token)
pp [video_rtcp_id, video_rtcp_ip, video_rtcp_port]
pp [audio_rtcp_id, audio_rtcp_ip, audio_rtcp_port]
video_redirect = [RECV_ADDR, VIDEO_RECV_PORT]
audio_redirect = [RECV_ADDR, AUDIO_RECV_PORT]
video_rtcp_redirect = [RECV_ADDR, VIDEO_RTCP_RECV_PORT]
audio_rtcp_redirect = [RECV_ADDR, AUDIO_RTCP_RECV_PORT]
answer(media_connection_id, video_id, video_redirect, audio_id, audio_redirect, video_rtcp_id, video_rtcp_redirect, audio_rtcp_id, audio_rtcp_redirect)
wait_ready(media_connection_id)
#now you can send stream form your app
puts "you can send video RTP packet to at #{video_ip}:#{video_port} as #{video_id}"
puts "you can send video RTCP packet to at #{video_rtcp_ip}:#{video_rtcp_port} as #{audio_rtcp_id}"
puts "you can send audio RTP packet to at #{audio_ip}:#{audio_port} as #{audio_id}"
puts "you can send audio RTCP packet to at #{audio_rtcp_ip}:#{audio_rtcp_port} as #{audio_rtcp_id}"
puts "video from #{TARGET_ID} will redirect to #{RECV_ADDR}:#{VIDEO_RECV_PORT}"
puts "video RTCP from #{TARGET_ID} will redirect to #{RECV_ADDR}:#{VIDEO_RTCP_RECV_PORT}"
puts "audio from #{TARGET_ID} will redirect to #{RECV_ADDR}:#{AUDIO_RECV_PORT}"
puts "audio RTCP from #{TARGET_ID} will redirect to #{RECV_ADDR}:#{AUDIO_RTCP_RECV_PORT}"
sleep(1000)
#closing
request(:delete, "/media/connections/#{media_connection_id}")
request(:delete, "/peers/#{PEER_ID}?token=#{peer_token}")