Torna indietro   Hardware Upgrade Forum > Networking e sicurezza > Networking > Networking in generale

OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-10-2010, 22:49   #1
davidee
Junior Member
 
Iscritto dal: Oct 2010
Messaggi: 4
Recuperare lo stream da una ip camera

Ciao a tutti.

Ho un problema, sto implementando un sistema di videosorveglianza, attualmente possiedo 3 ip camera.
Per le prime 2 tutto ok, riesco a recuperare lo stream per instradarlo in un software di videosorveglianza su pc, la terza mi sta facendo impazzire.
La comprai mesi fa su shopto.it, il nome della cam e' albion iph 237.
Inutile dire che non c'e' traccia in rete ne della casa produttrice ne del modello.
Una cam made in china.Dunque, se apro l'ip della cam con firefox o explorer, previa installazione di alcune ocx, l'immagine si vede senza problemi.
Non si riesce a vedere lo streaming con vlc o software di videosorveglianza in nessuna maniera.
La cam supporta il multicast e il multijpeg, nel cd allegato c'e' la cartella sdk con alcune indicazioni di programmazione.Esempio di cosa dice il manuale per recuperare lo stream:


CTransferSession encapuslates the detail about requesting audio/video, receiving, statistics and record, etc. It's sub-class CChannelSession adds decoding. Following code illustrate how to create a session and start it.
CChannelSession *pSess;
pSess = new CChannelSession(
pConn, //A pointer to connection object
0, //Video channel
pConn->iPort, //UDP port
);
pSess->SetTransportType(TRANSPORT_TCP); //Transport type to use. TCP is the default
pSess->AddVideoWnd(hWnd); //Add a output window of decoding
pSess->StartSession(); //Start the session
If m_bPlayAudioif TRUE when StartSession is called, audio data is also requested. You can use StartAudioReceiving()/StopAudioReceiving() to control audio data

When use CChannelSession, if output windows is added(through AddVideoWnd/SetVideoWnd), StartSession starts video decoding. UseStartAudioDecoding()/StopAudioDecoding() to control decoding of audio data.



Suppongo sia una routine in java, attualmente non voglio una routine per recuperare lo stream, mi servirebbe unicamente un qualcosa tipo http://ip_camera/mjpeg.cgi o qualcosa di similare
Con vlc se provo a mettere indirizzo della cam mi da impossibile connettersi perche' ovviamente la cam prova ad aprire una pagina html con lo stream inserito, idem per il multicast.
Questo e' l'html della pagina che apre l'ip cam con lo stream al suo interno:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>livevideo</title>
<link href="tas.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.div_zoom {
position:absolute;
left:594px;
top:566px;
width:122px;
height:62px;
z-index:1;
}
.div_rot {
position:absolute;
left:851px;
top:500px;
width:100px;
height:56px;
z-index:1;
}
.div_alrm{
bottom:0cm;
position:absolute;
width: 180px;
}
.div_bdr {border:0.1cm solid #CCFFFF;margin:0px 0px 0px 0px; padding-top:2px; padding-bottom:2px}
.menu { background-color:#CCCCFF}
.menu tr { cursor:hand; behavior:url(dynrow.htc) }
th {color:#003300; cursor:hand; background:url(bb.gif); background-repeat:no-repeat}
img { cursor:hand }

td img {display: block;}
a:link { color:blue; text-decoration:none; }
a:visited { color:blue;text-decoration:none;}
a:hover { color:#FF9900;text-decoration:none; font-weight:bolder }
.ptz td { text-align:center }
table {background-color:#FFFFFF}
.aitd {background:url(alertoff.gif); background-position:center; background-repeat:no-repeat; color:#FFFFCC; font-weight:bold; text-align:center; cursor:hand}
-->
</style>
<script language="javascript">
var nVchn = 1;
var nInChn = 1;
var menu;
function showPopup(o,m)
{
if(menu) menu.style.display="none";
m.style.left = get_absolute_left(o);
m.style.top = get_absolute_top(o)+26;
m.style.display = "";
menu = m;
}
function hidePopup() {if(menu)menu.style.display="none"; menu=null;}
document.onclick=hidePopup;

function get_absolute_top(o){ var v=0; do { if(o.tagName!="TR")v+=o.offsetTop; }while(o=o.parentElement); return v; }
function get_absolute_left(o) { var v=0; do{if(o.tagName!="TR")v+=o.offsetLeft;}while(o=o.parentElement); return v; }
var Menus;
function toggleDisplay(msel) {
for(var i=0; i<Menus.length; i++)
if(msel != Menus[i]) Menus[i].style.display = "none";
if(msel == menu_clr)
{
if(menu_clr.style.display == "") menu_clr.style.display = "none";
else
if(vx.GetSelectedPane()>=0) {
var chn=vx.GetAttachedChn(vx.GetSelectedPane());
if(chn >= 0) {
chn &= 0xFFFF;
document.getElementById('ifrm_clr').src = "/cfglum?chn="+chn;
menu_clr.style.display = "";
}
}
}
else msel.style.display = msel.style.display=="none"?"":"none";
}
function docLoad() {
if(vx.ConnectServer(location.hostname, location.port==0?80:location.port, '3Hk6OmPt03e3')==0) vx.InitFor(1);else alert('');
if(nVchn<2)stopsess.style.display='none';
else {
var tr = panetbl.insertRow(1);
tr.id = 'menu_vchn';
var td = tr.insertCell();
var s = "<td align='center'><div class='div_bdr' align='center'>";
var a = vx.GetActiveVChnMask();
for(var i=0; i<nVchn; i++) {
if((1<<i)&a)
s+= "<a href='javascrit:;' onclick='window.event.returnValue=false;vx.ShowVideo(" + i
+ ",0,-1);'><img src='camera.gif' border='0'>Channel" + (i+1) + "</a>\r\n"
}
s += "</div></td></tr><tr><td height=2><img src='mm_spacer.gif' /></td>"
td.innerHTML = s;
bar_vchn.style.display = "";
}
Menus = new Array(menu_ptz, menu_clr, menu_ao);
if(document.getElementById('menu_vchn')) Menus[3] = menu_vchn;
}
function imgAIClick(o) {
//o.src = "alertoff.gif";
o.style.backgroundImage="url(alertoff.gif)";
vx.StopAlarmSound();
}
function showStates()
{
var state = vx.GetSessionState2();
var active = (state & 0xFFFF) != 0;
state >>= 16;
mstrm.disabled=!active;
ssstrm.disabled=!active;
record.disabled=!active;
snap.disabled=!active;
sound.disabled=!active;
view.disabled=!active;
rot.disabled=!active;
stopsess.disabled = !active;

if(active) {
record.value=(state&8)?"Stop Record":"Record";
sound.value=(state&4)?"Stop Audio":"Start Audio";
}
}
</script>
<script for="vx" event="onclick()">
showStates();
menu_clr.style.display = "none";
hidePopup();
</script>
<script for="vx" event="onalert(e,chn)">
if(e==1) {
var td=document.all['ai_'+chn];
td.style.backgroundImage="url(alerton.gif)";
} else if(e==2) {
}
</script>
</head>

<body onload="docLoad();">
<div class="div_zoom menu" id="menu_zoom" style="display:none">
<table width="100%" border="0" cellspacing="0" cellpadding="2" class="menu">
<tr><td onclick="vx.SetZoom2(0);">Fullfill Window</td></tr>
<tr><td onclick="vx.SetZoom2(1);">True Size</td></tr>
<tr><td onclick="vx.SetZoom2(2);">Keep Ratio</td></tr>
</table>
</div>
<div class="div_rot menu" id="menu_rot" style="display:none">
<table width="100%" border="0" cellspacing="0" cellpadding="2" class="menu">
<tr><td onclick="vx.Rotate2(0);">Upright</td></tr>
<tr><td onclick="vx.Rotate2(1);">Flip Horizontally</td></tr>
<tr><td onclick="vx.Rotate2(2);">Flip Vertically</td></tr>
<tr><td onclick="vx.Rotate2(3);">Turnover</td></tr>
</table>
</div>
<table width="815" border="0" cellspacing="0" cellpadding="0" align="center" style="position:relative">
<tr>
<td width="640"><object name="vx" classid="CLSID:d8d53d0d-f5aa-4863-b5a2-5df07de23ec9" width="625" height="512" title="livevideo">
</object></td>
<td width="7">&nbsp;</td>
<td width="187" valign="top"><table id="panetbl" name="panetbl" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr id="bar_vchn" style="display:none"><th height=21 onclick='toggleDisplay(menu_vchn);'>Video Channel</th>
</tr>
<tr onclick="toggleDisplay(menu_ptz);"><th height="21">PTZ</th></tr>
<tr id="menu_ptz" style="display:none">
<td height="108"><div class="div_bdr"><table width="155" border="0" cellspacing="0" cellpadding="0" align="center" class="ptz">
<tr>
<td width="18"><a href="javascript:;" onmousedown="vx.PTZControl2(27,0,0);" onmouseup="vx.PTZControl2(0,0,0);" >Z-</a></td>
<td width="17"><a href="javascript:;" onmousedown="vx.PTZControl2(25,0,0);" onmouseup="vx.PTZControl2(0,0,0);" >Z+</a></td>
<td width="13">&nbsp;</td>
<td width="29">&nbsp;</td>
<td width="47"><input name="button" type="button" class="button" onmousedown="vx.PTZControl2(1,parseInt(speed.value),0);" onmouseup="vx.PTZControl2(0,0,0);" value="Up" /></td>
<td width="31">&nbsp;</td>
</tr>
<tr>
<td width="18"><a href="javascript:;" onmousedown="vx.PTZControl2(23,0,0);" onmouseup="vx.PTZControl2(0,0,0);" >F-</a></td>
<td width="17"><a href="javascript:;" onmousedown="vx.PTZControl2(21,0,0);" onmouseup="vx.PTZControl2(0,0,0);" >F+</a></td>
<td width="13">&nbsp;</td>
<td><input name="button3" type="button" class="button" onmousedown="vx.PTZControl2(5,parseInt(speed.value),0);" onmouseup="vx.PTZControl2(0,0,0);" value="Left" /></td>
<td><input name="speed" type="text" style="width:30px" value="10" maxlength="3" /></td>
<td><input name="button4" type="button" class="button" onmousedown="vx.PTZControl2(7,parseInt(speed.value),0);" onmouseup="vx.PTZControl2(0,0,0);" value="Right" /></td>
</tr>
<tr>
<td width="18"><a href="javascript:;" onmousedown="vx.PTZControl2(19,0,0);" onmouseup="vx.PTZControl2(0,0,0);" >I-</a></td>
<td width="17"><a href="javascript:;" onmousedown="vx.PTZControl2(17,0,0);" onmouseup="vx.PTZControl2(0,0,0);" >I+</a></td>
<td width="13">&nbsp;</td>
<td>&nbsp;</td>
<td><input name="button2" type="button" class="button" onmousedown="vx.PTZControl2(3,parseInt(speed.value),0);" onmouseup="vx.PTZControl2(0,0,0);" value="Down" /></td>
<td>&nbsp;</td>
</tr>
</table>
<table width="82%" border="0" cellspacing="0" cellpadding="0" align="center" style="margin-top:5px">
<tr>
<td width="34%">Preset point </td>
<td width="37%"><input type="text" name="psp" style="width:40px" /></td>
<td width="29%"><input name="button52" type="button" class="button" onclick="vx.PTZControl2(30,parseInt(psp.value),0);" value="Go" /></td>
</tr>
<tr>
<td height="21">Cruise</td>
<td><input type="text" name="ct" style="width:40px" /></td>
<td><input name="button5" type="button" class="button" onclick="vx.PTZControl2(35,parseInt(ct.value),0);" value="Go" /></td>
</tr>
</table>
</div> </td>
</tr>
<tr><td height="2"><img src="mm_spacer.gif" /></td></tr>
<tr onclick="toggleDisplay(menu_clr);">
<th height="21">Set Color</th>
</tr>
<tr id="menu_clr" style="display:none"><td align="center"><div class="div_bdr">
<iframe name="ifrm_clr" id="ifrm_clr" frameborder="no" marginheight="0" marginwidth="0" scrolling="no" height="180px" width="100%"></iframe>
</div></td></tr>

<tr><td height="2"><img src="mm_spacer.gif" /></td></tr>
<tr onclick="toggleDisplay(menu_ao);">
<th height="21">Manually AlarmOut</th>
</tr>
<tr id="menu_ao" style="display:none"><td align="center"><div class="div_bdr">
<script>for(var i=0;i< 1;i++) {document.writeln("<input type='button' class='button' value='Output"+(i+1)+"' onclick='vx.SingalAO("+i+");' />"); if(i&1) document.write("<br>");}</script>
</div></td></tr>
<tr>
<td><table width="60%" border="0" cellspacing="8" cellpadding="0" align="center">
<tr>
<td height="49"><img src="1x1.gif" width="26" height="26" onclick="vx.SplitView(1,1);" /></td>
<td><img src="2x2.gif" width="26" height="26" onclick="vx.SplitView(2,2);" /></td>
<td><img src="3x3.gif" width="26" height="26" onclick="vx.SplitView(3,3);" /></td>
<td><img src="1plus5.gif" width="26" height="26" onclick="vx.SplitView(1,0);" /></td>
</tr>
</table></td>
</tr>
<tr>
<td><input name="view" type="button" class="button" onclick="event.cancelBubble=true;showPopup(this,menu_zoom);" value="Display" />
<input name="rot" type="button" class="button" onclick="event.cancelBubble=true;showPopup(this,menu_rot);" value="Rotation" /></td>
</tr>
</table>
<div class="div_alrm"><table border=0 cellspacing=0 cellpadding="0" width="100%" style="cursor:default">
<script>
var ncols=(nInChn>3?4:nInChn);
var icol=0;
document.writeln("<tr><th colspan="+ncols+">Alarm In</th></tr>");
for(var i=0; i<nInChn; i++){
if(icol==0) document.write("<tr height=28>");
document.write("<td id='ai_"+i+"' class='aitd' onclick='imgAIClick(this);'>"+(i+1)+"</td>");
icol++;
if(icol>=ncols) { icol=0; if(icol==0) document.write("</tr>"); }
}
</script>
</table>
</div>
</td>
</tr>
<tr>
<td height="6" colspan=3><img src="mm_spacer.gif" /></td>
</tr>
<tr>
<td><input name="mstrm" type="button" class="button" disabled onclick="vx.ShowVideo2(0);" value="Main stream" />
<input name="ssstrm" type="button" class="button" disabled onclick="vx.ShowVideo2(1);" value="Secondary stream" />
<input name="record" type="button" disabled class="button"
onclick="if(this.value=='Record') { vx.StartRecord2(); this.value='Stop Record'; } else { vx.StopRecord2();this.value='Record'; }" value="Record" />
<input name="snap" type="button" disabled class="button" onclick="vx.Snapshot2();" value="Snapshot" />
<input name="talkback" type="button" class="button"
onclick="if(this.value=='Talkback') {vx.StartTalkback();this.value='Stop Talkback';} else {vx.StopTalkback();this.value='Talkback'; }" value="Talkback" />
<input name="sound" type="button" disabled class="button" onclick="if(this.value=='Start Audio') {vx.Vocalize2();this.value='Stop Audio';} else {vx.Mute2();this.value='Start Audio';}" value="Start Audio" />
<input name="stopsess" type="button" disabled class="button" onclick="vx.StopSession2();showStates();menu_clr.style.display='none';" value="Close Video" />
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</body>
</html>


In sintesi, ci sto sbattendo la testa contro da 2 giorni, qualche anima pia saprebbe come recuperare questo benedetto percorso all'interno della cam (non l'ip che conosco benissimo) per lo stream in mjpeg o h264?
davidee è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2010, 18:58   #2
davidee
Junior Member
 
Iscritto dal: Oct 2010
Messaggi: 4
Nessuna anima pia?
davidee è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2010, 21:41   #3
Apocalysse
Senior Member
 
L'Avatar di Apocalysse
 
Iscritto dal: Nov 2005
Messaggi: 4763
Visto che non mi hai dato feedback per quello che ti avevo detto di fare su NGI, fai cosi
Firefox => installi LIVE HTTP HEADERS => Apri LIVE HTTP HEADERS => Apri lo stream della videocamera da Firefox
Guardi le voci GET a cosa puntano, una di quelle punta al filmato, a quel punto lo dai in pasto a VLC
Apocalysse è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2010, 00:40   #4
davidee
Junior Member
 
Iscritto dal: Oct 2010
Messaggi: 4
Ciao Apo, ti ho risposto di la, non riesco cmq a recuperare il file nella camera che produce lo stream.
Oggi provo a fare quello che suggerisci con FF e vediamo un po se se ne viene a capo.
Dankescen!
davidee è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
OPPO Reno12 F 5G in offerta super: fotoc...
ECOVACS GOAT O800 RTK: il robot tagliaer...
SUSE Linux Enterprise Server 16: il prim...
Universal Music Group e Udio fanno pace ...
Samsung fa il pieno con l'AI: profitti a...
Zuckerberg: meglio investire troppo che ...
Xbox in caduta libera: vendite in calo d...
Le immagini nell'occhio dell'uragano Mel...
Anche gli USA inseguono l'indipendenza: ...
TikTok: i content creator guadagneranno ...
Nothing Phone (3a) Lite disponibile, ma ...
Emissioni globali per la prima volta in ...
Bancomat lancia Eur-Bank: la stablecoin ...
NVIDIA supera i 5.000 miliardi di dollar...
I ransomware fanno meno paura: solo un'a...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v