luahttp: fix document parsing with inline javascript
[vlc/solaris.git] / share / lua / http / dialogs / create_stream.html
blob15637bf607ad83de6a5b505650ed916e1d32b4c4
1 <script language="javascript" type="text/javascript">
2 //<![CDATA[
3 $(function(){
4 $('#stream_out_method').change(function(){
5 $('#output_options').empty();
6 switch($(this).val()){
7 case 'file':
8 var options = $('#file_options').clone();
9 break;
10 case 'http':
11 var options = $('#net_options').clone();
12 break;
13 case 'mmsh':
14 case 'rtp':
15 case 'udp':
16 var options = $('#net_options').clone();
17 $('#stream_out_file_',options).val('');
18 break;
20 $('[id]',options).each(function(){
21 $(this).attr('id',$(this).attr('id').substr(0,$(this).attr('id').length-1));
22 $(this).attr('name',$(this).attr('name').substr(0,$(this).attr('name').length-1));
23 });
24 $(options).css({
25 'visibility':'visible',
26 'display':'block'
28 $(options).appendTo('#output_options');
29 });
30 $('#stream_out_mux').change(function(){
31 if($(this).val()=='ffmpeg'){
32 $('#stream_out_mux_opts').val('{mux=flv}');
33 }else{
34 $('#stream_out_mux_opts').val('');
36 });
37 $('#window_create_stream').dialog({
38 autoOpen: false,
39 width:800,
40 modal: true,
41 buttons:{
42 "Create":function(){
43 var e = false;
44 $('input',$(this)).removeClass('ui-state-error');
45 $('#stream_error_container').css({
46 'visibility':'hidden',
47 'display':'none'
48 });
49 if(!$('#stream_name').val()){
50 $('#stream_name').addClass('ui-state-error');
51 e = true;
53 if(!$('#stream_input').val()){
54 $('#stream_input').addClass('ui-state-error');
55 e = true;
58 if($('#stream_out_method').val()!='file' && !$('#stream_out_port').val()){
59 $('#stream_out_port').addClass('ui-state-error');
60 e = true;
62 if($('#stream_out_method').val()!='file' && !$('#stream_out_dest').val()){
63 $('#stream_out_dest').addClass('ui-state-error');
64 e = true;
67 if($('#stream_out_method').val()=='file' && !$('#stream_out_filename').val()){
68 $('#stream_out_filename').addClass('ui-state-error');
69 e = true;
71 if(e){
72 $('#stream_error_message').empty();
73 $('#stream_error_message').append('One or more fields require attention.');
74 $('#stream_error_container').css({
75 'visibility':'visible',
76 'display':'block'
78 }else{
79 sendVLMCmd(buildStreamCode());
80 $(this).dialog('close');
83 "Cancel":function(){
84 $(this).dialog('close');
87 });
88 $('#button_input').click(function(){
89 browse_target = '#stream_input';
90 browse();
91 $('#window_browse').dialog('open');
92 });
93 $('#button_in_screen').click(function(){
94 $('#stream_input').val('screen://');
95 });
96 });
97 function buildStreamCode(){
98 var name = $('#stream_name').val().replace(' ','_');
99 var infile = $('#stream_input').val();
101 var vcodec = $('#stream_vcodec').val();
102 var vb = $('#stream_vb').val();
103 var fps = $('#stream_fps').val();
104 var scale = $('#stream_scale').val();
105 var dlace = $('#stream_deinterlace').is(':checked');
107 var acodec = $('#stream_acodec').val();
108 var ab = $('#stream_ab').val();
109 var srate = $('#stream_samplerate').val();
110 var channels = $('#stream_channels').val();
112 var scodec = $('#stream_scodec').val() && !$('#stream_soverlay').checked ? ','+$('#stream_scodec').val() : '';
113 var soverlay = $('#stream_soverlay').is(':checked') ? ',soverlay' : '';
115 var outmethod = $('#stream_out_method').val();
116 var mux = $('#stream_out_mux').val();
117 var muxoptions = $('#stream_out_mux_opts').val() ? '{'+$('#stream_out_mux_opts').val()+'}' : '';
119 if(outmethod=='file'){
120 var filename = $('#stream_out_filename').val();
121 }else{
122 var outport = $('#stream_out_port').val();
123 var outdest = $('#stream_out_dest').val();
124 var outfile = $('#stream_out_file').val();
126 var dest = outmethod=='file' ? filename : (outfile ? outdest+':'+outport+'/'+outfile : outdest+':'+outport);
127 var inCode = 'new '+name+' broadcast enabled input "'+infile+'" ';
128 var transCode = 'output #transcode{vcodec='+vcodec+',vb='+vb+',fps='+fps+',scale='+scale+',acodec='+acodec+',ab='+ab+',samplerate='+srate+',channels='+channels+scodec+soverlay+'}';
129 var outCode = ':std{access='+outmethod+',mux='+mux+muxoptions+',dst='+dest+'}';
131 return inCode+transCode+outCode;
133 //]]>
134 </script>
135 <div id="window_create_stream" title="Create Stream">
136 <table width="100%">
137 <tr>
138 <td style="text-align:right" valign="top">
139 <h5>Stream Name</h5>
140 </td>
141 <td colspan="5" valign="top">
142 <input type="text" name="stream_name" id="stream_name" value=""/>
143 </td>
144 </tr>
145 <tr>
146 <th colspan="2" valign="top">
147 <h5>Video</h5>
148 </th>
149 <th colspan="2" valign="top">
150 <h5>Audio</h5>
151 </th>
152 <th colspan="2" valign="top">
153 <h5>Subtitles</h5>
154 </th>
155 <th colspan="2" valign="top">
156 <h5>Output</h5>
157 </th>
158 </tr>
159 <tr>
160 <td style="text-align:right" valign="top">Video Codec</td>
161 <td valign="top">
162 <select name="stream_vcodec" id="stream_vcodec">
163 <option value="FLV1">FLV1</option>
164 <option value="mp1v">mp1v</option>
165 <option value="mp2v">mp2v</option>
166 <option value="mp4v">mp4v</option>
167 <option value="DIV1">DIV1</option>
168 <option value="DIV2">DIV2</option>
169 <option value="DIV3">DIV3</option>
170 <option value="H263">H263</option>
171 <option value="H264">H264</option>
172 <option value="WMV1">WMV1</option>
173 <option value="WMV2">WMV2</option>
174 <option value="MJPG">MJPG</option>
175 <option value="theo">theo</option>
176 </select>
177 </td>
178 <td style="text-align:right" valign="top">Audio Codec</td>
179 <td valign="top">
180 <select name="stream_acodec" id="stream_acodec">
181 <option value="mp3">mp3</option>
182 <option value="mpga">mpga</option>
183 <option value="mp2a">mp2a</option>
184 <option value="mp4a">mp4a</option>
185 <option value="a52">a52</option>
186 <option value="vorb">vorb</option>
187 <option value="flac">flac</option>
188 <option value="spx">spx</option>
189 <option value="s16l">s16l</option>
190 <option value="fl32">fl32</option>
191 </select>
192 </td>
193 <td style="text-align:right" valign="top">Subtitle Codec</td>
194 <td valign="top">
195 <select name="stream_scodec" id="stream_scodec">
196 <option value="">none</option>
197 <option value="dvbs">dvbs</option>
198 </select>
199 </td>
200 <td style="text-align:right" valign="top">Output Method</td>
201 <td valign="top">
202 <select name="stream_out_method" id="stream_out_method">
203 <option value="http">HTTP</option>
204 <option value="file">File</option>
205 <option value="mmsh">MMSH</option>
206 <option value="rtp">RTP</option>
207 <option value="udp">UDP</option>
208 </select>
209 </td>
210 </tr>
211 <tr>
212 <td style="text-align:right" valign="top">Video Bit Rate</td>
213 <td valign="top">
214 <select name="stream_vb" id="stream_vb">
215 <option value="4096">4096</option>
216 <option value="3072">3072</option>
217 <option value="2048">2048</option>
218 <option value="1024">1024</option>
219 <option value="768">768</option>
220 <option value="512">512</option>
221 <option value="384">384</option>
222 <option value="256">256</option>
223 <option value="192">192</option>
224 <option value="128">128</option>
225 <option value="96">96</option>
226 <option value="64">64</option>
227 <option value="32">32</option>
228 <option value="16">16</option>
229 </select>
230 </td>
231 <td style="text-align:right" valign="top">Audio Bit Rate</td>
232 <td valign="top">
233 <select name="stream_ab" id="stream_ab">
234 <option value="512">512</option>
235 <option value="384">384</option>
236 <option value="256">256</option>
237 <option value="192">192</option>
238 <option value="128">128</option>
239 <option value="96">96</option>
240 <option value="64">64</option>
241 <option value="32">32</option>
242 <option value="16">16</option>
243 </select>
244 </td>
245 <td style="text-align:right" valign="top">Overlay</td>
246 <td valign="top">
247 <input type="checkbox" name="stream_soverlay" id="stream_soverlay" value="1" />
248 </td>
249 <td style="text-align:right" valign="top">Multiplexer</td>
250 <td valign="top">
251 <select name="stream_out_mux" id="stream_out_mux">
252 <option value="ts">MPEG TS</option>
253 <option value="ps">MPEG PS</option>
254 <option value="mpeg1">MPEG 1</option>
255 <option value="ogg">OGG</option>
256 <option value="asf">ASF</option>
257 <option value="mp4">MP4</option>
258 <option value="mov">MOV</option>
259 <option value="wav">WAV</option>
260 <option value="raw">Raw</option>
261 <option value="ffmpeg" selected="selected">FFMPEG</option>
262 </select>
263 </td>
264 </tr>
265 <tr>
266 <td style="text-align:right" valign="top">Video FPS</td>
267 <td valign="top">
268 <select name="stream_fps" id="stream_fps">
269 <option value="300">300</option>
270 <option value="120">120</option>
271 <option value="100">100</option>
272 <option value="72">72</option>
273 <option value="60">60</option>
274 <option value="50">50</option>
275 <option value="48">48</option>
276 <option value="30">30</option>
277 <option value="25" selected="selected">25</option>
278 <option value="24">24</option>
279 </select>
280 </td>
281 <td style="text-align:right" valign="top">Audio Sample Rate</td>
282 <td valign="top">
283 <select name="stream_samplerate" id="stream_samplerate">
284 <option value="192000">192 KHz</option>
285 <option value="96000">96 KHz</option>
286 <option value="50000">50 KHz</option>
287 <option value="48000">48 KHz</option>
288 <option value="44100" selected="selected">44 KHz</option>
289 <option value="32000">32 KHz</option>
290 <option value="22050">22 KHz</option>
291 <option value="16000">16 KHz</option>
292 <option value="11025">11 KHz</option>
293 <option value="8000">8 KHz</option>
294 </select>
295 </td>
296 <td colspan="2" valign="top">&nbsp;</td>
297 <td style="text-align:right" valign="top">MUX Options</td>
298 <td valign="top">
299 <input type="text" name="stream_out_mux_opts" id="stream_out_mux_opts" value="{mux=flv}" />
300 </td>
301 </tr>
302 <tr>
303 <td style="text-align:right" valign="top">Video Scale</td>
304 <td valign="top">
305 <select name="stream_scale" id="stream_scale">
306 <option value="0.25">25%</option>
307 <option value="0.5">50%</option>
308 <option value="0.75">75%</option>
309 <option selected="selected" value="1">100%</option>
310 <option value="1.25">125%</option>
311 <option value="1.5">150%</option>
312 <option value="1.75">175%</option>
313 <option value="2">200%</option>
314 </select>
315 </td>
316 <td style="text-align:right" valign="top">Audio Channels</td>
317 <td valign="top">
318 <select name="stream_channels" id="stream_channels" >
319 <option value="1">1</option>
320 <option value="2" selected="selected">2</option>
321 <option value="4">4</option>
322 <option value="6">6</option>
323 </select>
324 </td>
325 <td colspan="2" valign="top">&nbsp;</td>
326 <td colspan="2" rowspan="2" valign="top">
327 <div id="output_options">
328 <table>
329 <tr>
330 <td style="text-align:right" valign="top">Output Port</td>
331 <td valign="top"><input type="text" name="stream_out_port" id="stream_out_port" value="8081" /></td>
332 </tr>
333 <tr>
334 <td style="text-align:right" valign="top">Output Destination</td>
335 <td><input type="text" name="stream_out_dest" id="stream_out_dest" value="0.0.0.0" /></td>
336 </tr>
337 <tr>
338 <td style="text-align:right" valign="top">Output File</td>
339 <td valign="top"><input type="text" name="stream_out_file" id="stream_out_file" value="stream.flv" /></td>
340 </tr>
341 </table>
342 </div>
343 </td>
344 </tr>
345 <tr>
346 <td valign="top" style="text-align:right">Deinterlace</td>
347 <td valign="top">
348 <input type="checkbox" name="stream_deinterlace" id="stream_deinterlace" value="1" />
349 </td>
350 <td colspan="2" valign="top">&nbsp;</td>
351 <td colspan="2" valign="top">&nbsp;</td>
352 </tr>
353 <tr>
354 <td style="text-align:right" colspan="2" valign="top">
355 Input Media
356 </td>
357 <td colspan="6" valign="top">
358 <input type="text" name="stream_input" id="stream_input" value="" size="50" />
359 <div id="button_input" class="button icon ui-widget ui-state-default" title="Media File" opendialog="window_browse"><span class="ui-icon ui-icon-eject"></span></div>
360 <div id="button_in_screen" class="button icon ui-widget ui-state-default" title="Capture Screen" ><span class="ui-icon ui-icon-contact"></span></div>
361 </td>
362 </tr>
363 </table>
364 <div class="ui-widget" id="stream_error_container" style="display:none;visibility: hidden;">
365 <div class="ui-state-error ui-corner-all" style="padding: 0 .7em;">
366 <p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>
367 <strong>Error:</strong> <span id="stream_error_message">Sample ui-state-error style.</span></p>
368 </div>
369 </div>
370 </div>
371 <div id="net_options" style="display:none;visibility: hidden;">
372 <table>
373 <tr>
374 <td style="text-align:right" valign="top">Output Port</td>
375 <td valign="top"><input type="text" name="stream_out_port_" id="stream_out_port_" value="8081" /></td>
376 </tr>
377 <tr>
378 <td style="text-align:right" valign="top">Output Destination</td>
379 <td valign="top"><input type="text" name="stream_out_dest_" id="stream_out_dest_" value="0.0.0.0" /></td>
380 </tr>
381 <tr>
382 <td style="text-align:right" valign="top">Output File</td>
383 <td valign="top"><input type="text" name="stream_out_file_" id="stream_out_file_" value="stream.flv" /></td>
384 </tr>
385 </table>
386 </div>
387 <div id="file_options" style="display:none;visibility: hidden;">
388 <table>
389 <tr>
390 <td style="text-align:right" valign="top">File Name</td>
391 <td valign="top"><input type="text" name="stream_out_filename_" id="stream_out_filename_"/></td>
392 </tr>
393 </table>
394 </div>