胡斌

parse RES_MOV_PROPERTY

正在显示 1 个修改的文件 包含 54 行增加3 行删除
@@ -312,9 +312,24 @@ a:active { @@ -312,9 +312,24 @@ a:active {
312 writeToScreen('<span style="color: blue;">result: unknown result </span>'); 312 writeToScreen('<span style="color: blue;">result: unknown result </span>');
313 } 313 }
314 314
315 - if(0 == result){//mov_start success 315 + if(0 == result || 6 == result || 8 == result){//mov_start,mov_pause,mov_seek success
316 playRTMPStream("rtmp://127.0.0.1:" + rtmp_port + "/live/ms"); 316 playRTMPStream("rtmp://127.0.0.1:" + rtmp_port + "/live/ms");
317 } 317 }
  318 + else if(10 == result){//movie property
  319 + if(data_len > 7 * 4 + 8){
  320 + var uint32params = new Uint32Array(evt.target.result, 8, 8);
  321 + var info = "width:" + uint32params[0] + " height:" + uint32params[1];
  322 + writeToScreen(info);
  323 + info = "framerate:" + uint32params[2] + " duration:" + uint32params[3];
  324 + writeToScreen(info);
  325 + info = "playpos:" + uint32params[4] + " filesize:" + uint32params[5];
  326 + writeToScreen(info);
  327 + var file_name_len = uint32params[6];
  328 + var file_name = new Uint8Array(evt.target.result, 40 , file_name_len);
  329 + var file_name_string = utf8to16(file_name);
  330 + writeToScreen("filename:"+ file_name_string);
  331 + }
  332 + }
318 else if(11 == result){//ss_start success 333 else if(11 == result){//ss_start success
319 playRTMPStream("rtmp://127.0.0.1:" + rtmp_port + "/live/ss"); 334 playRTMPStream("rtmp://127.0.0.1:" + rtmp_port + "/live/ss");
320 } 335 }
@@ -411,7 +426,12 @@ a:active { @@ -411,7 +426,12 @@ a:active {
411 426
412 function doSendWSCmd(wsCmd) 427 function doSendWSCmd(wsCmd)
413 { 428 {
414 - writeToScreen("SENT: " + wsCmd.name); 429 + if(wsState != "connected"){
  430 + writeToScreen("websocket isn't connected,please connect first!");
  431 + return;
  432 + }
  433 +
  434 + writeToScreen("Send: " + wsCmd.name);
415 435
416 var cmd_buf_len = 2 + 1*2 + 4 + wsCmd.data_len; 436 var cmd_buf_len = 2 + 1*2 + 4 + wsCmd.data_len;
417 var buffer = new ArrayBuffer(cmd_buf_len); 437 var buffer = new ArrayBuffer(cmd_buf_len);
@@ -447,6 +467,31 @@ a:active { @@ -447,6 +467,31 @@ a:active {
447 else if(obj.id == "mov_stop"){ 467 else if(obj.id == "mov_stop"){
448 cmd.type = 2; 468 cmd.type = 2;
449 } 469 }
  470 + else if(obj.id == "mov_pause"){
  471 + cmd.type = 3;
  472 + var pos = document.getElementById("mov_pos").value;
  473 + if(pos.length > 0){
  474 + cmd.data_len = 4;
  475 + var buffer = new ArrayBuffer(cmd.data_len);
  476 + var Uint32param = new Uint32Array(buffer, 0, 1);
  477 + Uint32param[0] = parseInt(pos);
  478 + cmd.data = new Uint8Array(buffer, 0, 4);
  479 + }
  480 + }
  481 + else if(obj.id == "mov_resume"){
  482 + cmd.type = 4;
  483 + }
  484 + else if(obj.id == "mov_seek"){
  485 + cmd.type = 5;
  486 + var pos = document.getElementById("mov_pos").value;
  487 + if(pos.length > 0){
  488 + cmd.data_len = 4;
  489 + var buffer = new ArrayBuffer(cmd.data_len);
  490 + var Uint32param = new Uint32Array(buffer, 0, 1);
  491 + Uint32param[0] = parseInt(pos);
  492 + cmd.data = new Uint8Array(buffer, 0, 4);
  493 + }
  494 + }
450 else if(obj.id == "ss_start"){ 495 else if(obj.id == "ss_start"){
451 cmd.type = 6; 496 cmd.type = 6;
452 var param = document.getElementById("ss_start_input"); 497 var param = document.getElementById("ss_start_input");
@@ -883,11 +928,17 @@ a:active { @@ -883,11 +928,17 @@ a:active {
883 <tr> 928 <tr>
884 <td width="35" colspan="2"><img src="images/spacer.gif" width="20" height="10" /></td> 929 <td width="35" colspan="2"><img src="images/spacer.gif" width="20" height="10" /></td>
885 <td colspan="3"><button type="button" id="mov_start" onclick="javascript:onTestClick(this);">mov_start</button></td> 930 <td colspan="3"><button type="button" id="mov_start" onclick="javascript:onTestClick(this);">mov_start</button></td>
886 - <td colspan="3"></td> 931 + <td colspan="3"> <button type="button" id="mov_seek" onclick="javascript:onTestClick(this);">mov_seek</button></td>
887 <td colspan="3"><button type="button" id="mov_stop" onclick="javascript:onTestClick(this);">mov_stop</button></td> 932 <td colspan="3"><button type="button" id="mov_stop" onclick="javascript:onTestClick(this);">mov_stop</button></td>
888 </tr> 933 </tr>
889 <tr> 934 <tr>
890 <td width="35" colspan="2"><img src="images/spacer.gif" width="20" height="10" /></td> 935 <td width="35" colspan="2"><img src="images/spacer.gif" width="20" height="10" /></td>
  936 + <td colspan="3"><button type="button" id="mov_pause" onclick="javascript:onTestClick(this);">mov_pause</button></td>
  937 + <td colspan="3"><input id="mov_pos" width="800"/></td>
  938 + <td colspan="3"><button type="button" id="mov_resume" onclick="javascript:onTestClick(this);">mov_resume</button></td>
  939 + </tr>
  940 + <tr>
  941 + <td width="35" colspan="2"><img src="images/spacer.gif" width="20" height="10" /></td>
891 <td colspan="3"><button type="button" id="get_cam" onclick="javascript:onTestClick(this);">get_cam</button></td> 942 <td colspan="3"><button type="button" id="get_cam" onclick="javascript:onTestClick(this);">get_cam</button></td>
892 <td width="300" ><img src="images/spacer.gif" width="20" height="10" /> 943 <td width="300" ><img src="images/spacer.gif" width="20" height="10" />
893 <select width = "300" id="cameras" name="cameras" /> 944 <select width = "300" id="cameras" name="cameras" />