File: recordplaytest.html

package info (click to toggle)
janus 1.1.2-3.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,792 kB
  • sloc: ansic: 87,789; javascript: 16,056; makefile: 696; sh: 282; python: 257; lisp: 9
file content (115 lines) | stat: -rw-r--r-- 5,105 bytes parent folder | download | duplicates (2)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Janus WebRTC Server (multistream): Recorder/Playout Demo</title>
<script type="text/javascript" src="javascript/webrtc-adapter/adapter.min.js" ></script>
<script type="text/javascript" src="javascript/jquery/jquery.min.js" ></script>
<script type="text/javascript" src="javascript/jquery-blockui/jquery.blockUI.js" ></script>
<script type="text/javascript" src="javascript/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="javascript/bootbox/bootbox.min.js"></script>
<script type="text/javascript" src="javascript/spin.js/spin.min.js"></script>
<script type="text/javascript" src="settings.js" ></script>
<script type="text/javascript" src="javascript/janus-gateway/janus.min.js" ></script>
<script type="text/javascript" src="recordplaytest.js"></script>
<script>
	$(function() {
		$(".navbar-static-top").load("navbar.html", function() {
			$(".navbar-static-top li.dropdown").addClass("active");
			$(".navbar-static-top a[href='recordplaytest.html']").parent().addClass("active");
		});
		$(".footer").load("footer.html");
	});
</script>
<link rel="stylesheet" href="javascript/bootswatch/cerulean/bootstrap.min.css" type="text/css"/>
<link rel="stylesheet" href="css/demo.css" type="text/css"/>
<link rel="stylesheet" href="fonts/font-awesome/css/font-awesome.min.css" type="text/css"/>
</head>
<body>

<nav class="navbar navbar-default navbar-static-top">
</nav>

<div class="container">
	<div class="row">
		<div class="col-md-12">
			<div class="page-header">
				<h1>Plugin Demo: Recorder/Playout
					<button class="btn btn-default" autocomplete="off" id="start">Start</button>
				</h1>
			</div>
			<div class="container" id="details">
				<div class="row">
					<div class="col-md-12">
						<h3>Demo details</h3>
						<p>This demo shows how you can record a WebRTC session, and replay it later. You
						can choose to either record a new session (e.g., a videomessage) or watch any of
						the recordings that may be available (including those you made yourself).</p>
						<p>This application makes use of the integrated recording feature in Janus,
						specifically the individual recording of audio and video streams in <code>.mjr</code>
						format: these individual recordings are then used for a live broadcasting
						of the dumped RTP packets through a sendonly WebRTC PeerConnection
						when you choose to replay them. To post-process these recordings in a
						more usable format (e.g., <code>.webm</code> for video or <code>.opus</code>
						for audio) you can make use of the <code>janus-pp-rec</code> tool that
						is available as part of the Janus code.</p>
						<p>Press the <code>Start</code> button above to launch the demo.</p>
					</div>
				</div>
			</div>
			<div class="container hide" id="recordplay">
				<div id="demo">
					<div class="col-md-6" id="controls">
						<div class="panel panel-default">
							<div class="panel-heading">
								<h3 class="panel-title">Recorder/Playout</h3>
							</div>
							<div class="panel-body">
								<div class="btn-group btn-group-sm">
									<button class="btn btn-danger" disabled autocomplete="off" id="record">Record</button>
									<button class="btn btn-success" disabled autocomplete="off" id="play">Play</button>
									<button class="btn btn-primary" disabled autocomplete="off" id="list">Update <i id="update-list" class="fa fa-refresh"></i></button>
								</div>
								<br/>
								<div class="btn-group btn-group-sm" style="width: 100%">
									<div class="btn-group btn-group-sm" style="width: 100%">
										<button autocomplete="off" id="recset" class="btn btn-default dropdown-toggle" data-toggle="dropdown" style="width: 100%">
											Recordings list<span class="caret"></span>
										</button>
										<ul id="recslist" class="dropdown-menu" role="menu" style="max-height: 300px; overflow: auto;">
										</ul>
									</div>
								</div>
							</div>
						</div>
					</div>
					<div class="col-md-6 hide" id="video">
						<div class="panel panel-default">
							<div class="panel-heading">
								<h3 class="panel-title">
									<span id="videotitle">Remote Video</span>
									<button class="btn-xs btn-danger pull-right" autocomplete="off" id="stop">Stop</button>
									<button class="btn-xs btn-primary pull-right" autocomplete="off" id="pause-resume">Pause</button>
								</h3>
							</div>
							<div class="panel-body" id="videobox"></div>
						</div>
						<div class="input-group margin-bottom-sm hide">
							<span class="input-group-addon"><i class="fa fa-cloud-upload fa-fw"></i></span>
							<input class="form-control" type="text" placeholder="" autocomplete="off" id="datafield" onkeypress="return checkEnter(event);" disabled />
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>

	<hr>
	<div class="footer">
	</div>
</div>

</body>
</html>