Nuestros Servicios

Somos una empresa dedica a los servicios de streaming en línea y diseños potentes para tu empresa o negocio actuando con responsabilidad y dedicación.


<div id="gv-paquetes" style="max-width:720px;margin:0 auto;font-family:Arial,Helvetica,sans-serif;">
<style>
#gv-paquetes *{box-sizing:border-box;}
#gv-paquetes .gv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:24px;}
#gv-paquetes .gv-card{cursor:pointer;border-radius:12px;padding:16px 18px;transition:transform .2s ease;}
#gv-paquetes .gv-card:hover{transform:translateY(-2px);}
#gv-paquetes .gv-bar{height:6px;border-radius:4px;background:rgba(0,0,0,0.12);overflow:hidden;margin-bottom:4px;}
#gv-paquetes .gv-bar-fill{height:100%;transition:width .3s ease;}
#gv-paquetes .gv-box{background:#F5F7FA;border-radius:8px;padding:16px;margin-bottom:16px;}
#gv-paquetes .gv-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:13px;border-top:1px solid #E1E4E8;}
#gv-paquetes .gv-row:first-child{border-top:none;}
#gv-paquetes input[type=text]{width:100%;height:36px;border:1px solid #CBD2D9;border-radius:6px;padding:0 10px;font-size:13px;}
#gv-paquetes button{font-family:inherit;font-size:13px;border-radius:6px;cursor:pointer;}
#gv-paquetes .gv-btn-outline{background:#fff;color:#0A2843;border:1px solid #CBD2D9;padding:6px 10px;}
#gv-paquetes .gv-btn-outline.active{background:#2B7CC1;color:#fff;border-color:#2B7CC1;}
#gv-paquetes .gv-btn-primary{background:#2B7CC1;color:#fff;border:none;width:100%;padding:12px;font-size:14px;font-weight:bold;}
#gv-paquetes .gv-btn-primary:hover{background:#24689f;}
#gv-paquetes .gv-stepper button{width:28px;height:28px;background:#fff;border:1px solid #CBD2D9;}
</style>

<div class="gv-cards" id="gv-cards"></div>

<div class="gv-box">
<p style="font-size:14px;font-weight:bold;margin:0 0 8px;color:#0A2843;">Extras de aumento</p>
<p style="font-size:12px;color:#75797E;margin:0 0 6px;">Usuarios concurrentes extra</p>
<div id="gv-users-buttons" style="display:flex;gap:6px;margin-bottom:12px;"></div>

<div class="gv-row">
<span>Salidas SRT extra <span style="color:#75797E;">($1.5 c/u)</span></span>
<div class="gv-stepper" style="display:flex;align-items:center;gap:8px;">
<button id="gv-srt-minus">-</button>
<span id="gv-srt-val" style="min-width:18px;text-align:center;font-weight:bold;">0</span>
<button id="gv-srt-plus">+</button>
</div>
</div>

<div id="gv-extras-check"></div>
<div id="gv-domain-field" style="display:none;padding:8px 0 0;">
<input type="text" id="gv-domain-input" placeholder="ej: miradio.com">
</div>
<div id="gv-app-row" style="padding:10px 0 2px;font-size:13px;border-top:1px solid #E1E4E8;color:#75797E;"></div>
</div>

<div id="gv-nudge" style="display:none;background:#E3EEF9;border-radius:8px;margin-bottom:16px;padding:10px 14px;"></div>

<div class="gv-box">
<p style="font-size:12px;color:#75797E;margin:0 0 4px;">Estás por llevar</p>
<p id="gv-resumen" style="font-size:14px;margin:0;color:#0A2843;font-weight:bold;">Básico · 100 usuarios</p>
</div>

<div style="display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;">
<span style="font-size:14px;color:#75797E;">Total mensual</span>
<span id="gv-total-mes" style="font-size:24px;font-weight:bold;color:#0A2843;">$65.0/mes</span>
</div>

<button id="gv-cotizar" class="gv-btn-primary">Cotizar este paquete por WhatsApp</button>
</div>

<script>
(function(){
var plans = [
{name:'Básico', price:65, users:100, server:'Ryzen 5 5600X · 32GB RAM', icon:'■', ramp:{fill:'#EEF2F7',stroke:'#36538B',text:'#0A2843'},
specs:['Panel de administración','Protocolos WSS, RTMP, RTSP','5 salidas SRT out','Ingesta RTMP','Embed WSS']},
{name:'Pro', price:125, users:300, server:'Ryzen 9 3900X · 64GB RAM', icon:'⚡', ramp:{fill:'#E3EEF9',stroke:'#2B7CC1',text:'#0A2843'}, popular:true,
specs:['Panel de administración','Protocolos WSS, DASH, RTMP, RTSP','Ingesta RTMP y SRT','10 salidas SRT · puertos dedicados']},
{name:'Premium', price:180, users:500, server:'Dual Xeon Gold 6130 · 128GB RAM', icon:'♦', ramp:{fill:'#0A2843',stroke:'#2B7CC1',text:'#FFFFFF'},
specs:['Panel de administración','WSS, DASH, HLS (m3u8), RTMP, RTSP, PPV','Transcoder 1080/720/640/480/360 incluido','Ingesta RTMP y SRT','25 salidas SRT · puertos dedicados','Acceso a app con marca blanca']}
];
var userOptions = [0, 50, 100, 150];
var checkExtras = [
{id:'dvr', label:'Grabación / DVR 7 días', price:20},
{id:'transcoder', label:'Transcoder (1080/720/640/480/360)', price:35, includedIn:['Premium']}
];

var selectedPlan = 0, usersExtra = 0, srtQty = 0, domainValue = '';
var checks = {dvr:false, transcoder:false, dominio:false};

var cardsEl = document.getElementById('gv-cards');
var usersButtonsEl = document.getElementById('gv-users-buttons');
var srtVal = document.getElementById('gv-srt-val');
var checkEl = document.getElementById('gv-extras-check');
var domainField = document.getElementById('gv-domain-field');
var domainInput = document.getElementById('gv-domain-input');
var appRow = document.getElementById('gv-app-row');
var nudgeEl = document.getElementById('gv-nudge');
var totalEl = document.getElementById('gv-total-mes');
var resumenEl = document.getElementById('gv-resumen');

function fmt(n){ return Number(n).toFixed(1); }

function extrasTotal(){
var t = (usersExtra/10)*3.5 + srtQty*1.5;
if (checks.dvr) t += 20;
var premiumSelected = plans[selectedPlan].name === 'Premium';
if (checks.transcoder && !premiumSelected) t += 35;
if (checks.dominio) t += 8;
return t;
}

function renderUsersButtons(){
usersButtonsEl.innerHTML = '';
userOptions.forEach(function(v){
var b = document.createElement('button');
b.className = 'gv-btn-outline' + (v === usersExtra ? ' active' : '');
b.style.flex = '1';
b.textContent = v === 0 ? 'Ninguno' : ('+' + v + ' ($' + fmt(v/10*3.5) + ')');
b.onclick = function(){ usersExtra = v; renderUsersButtons(); recalc(); };
usersButtonsEl.appendChild(b);
});
}

function renderExtras(){
var planName = plans[selectedPlan].name;
checkEl.innerHTML = '';
checkExtras.forEach(function(e){
var included = e.includedIn && e.includedIn.indexOf(planName) > -1;
var row = document.createElement('label');
row.className = 'gv-row';
row.style.display = 'flex';
var priceLabel = included ? 'incluido' : ('+$' + e.price + '/mes');
var isChecked = included || checks[e.id];
row.innerHTML = '<span><input type="checkbox" class="gv-opt" data-id="' + e.id + '" ' + (isChecked ? 'checked' : '') + ' ' + (included ? 'disabled' : '') + ' style="margin-right:8px;">' + e.label + '</span>' +
'<span style="color:#75797E;">' + priceLabel + '</span>';
checkEl.appendChild(row);
});
var domRow = document.createElement('label');
domRow.className = 'gv-row';
domRow.style.display = 'flex';
domRow.innerHTML = '<span><input type="checkbox" id="gv-dominio-check" ' + (checks.dominio ? 'checked' : '') + ' style="margin-right:8px;">Dominio y SSL personalizado</span><span style="color:#75797E;">+$8/mes</span>';
checkEl.appendChild(domRow);

var opts = checkEl.querySelectorAll('.gv-opt');
for (var i=0;i<opts.length;i++){
opts[i].addEventListener('change', function(ev){ checks[ev.target.dataset.id] = ev.target.checked; recalc(); });
}
document.getElementById('gv-dominio-check').addEventListener('change', function(ev){
checks.dominio = ev.target.checked;
domainField.style.display = checks.dominio ? 'block' : 'none';
recalc();
});

if (planName === 'Premium') {
appRow.innerHTML = 'App con marca blanca incluida — solicítala cuando quieras.';
} else {
appRow.innerHTML = 'App con marca blanca — disponible a solicitud, cotización aparte.';
}
}

function renderCards(){
cardsEl.innerHTML = '';
plans.forEach(function(p, i){
var on = i === selectedPlan;
var c = p.ramp;
var extraSpecs = [], extraPrice = 0, totalUsers = p.users;
if (on) {
extraPrice = extrasTotal();
totalUsers = p.users + usersExtra;
if (usersExtra > 0) extraSpecs.push('+ ' + usersExtra + ' usuarios concurrentes');
if (srtQty > 0) extraSpecs.push('+ ' + srtQty + ' salidas SRT');
if (checks.dvr) extraSpecs.push('+ Grabación / DVR 7 días');
if (checks.transcoder && p.name !== 'Premium') extraSpecs.push('+ Transcoder (5 resoluciones)');
if (checks.dominio) extraSpecs.push('+ Dominio: ' + (domainValue || 'por definir'));
}
var maxRef = p.users + 150;
var pct = Math.min(100, Math.round(totalUsers / maxRef * 100));

var div = document.createElement('div');
div.className = 'gv-card';
div.style.background = c.fill;
div.style.border = on ? ('2px solid ' + c.stroke) : '1px solid transparent';
div.innerHTML =
'<div style="display:flex;align-items:center;gap:8px;margin-bottom:6px;">' +
'<span style="color:' + c.text + ';">' + p.icon + '</span>' +
'<span style="font-weight:bold;font-size:15px;color:' + c.text + ';">' + p.name + '</span>' +
(p.popular ? '<span style="margin-left:auto;background:#2B7CC1;color:#fff;font-size:11px;padding:2px 8px;border-radius:6px;">Popular</span>' : '') +
'</div>' +
'<p style="font-size:22px;font-weight:bold;margin:0 0 10px;color:' + c.text + ';">$' + fmt(p.price + extraPrice) + '<span style="font-size:12px;font-weight:normal;opacity:0.8;">/mes</span></p>' +
'<ul style="list-style:none;padding:0;margin:0 0 10px;font-size:12px;color:' + c.text + ';opacity:0.9;line-height:1.8;">' +
p.specs.map(function(s){ return '<li>' + s + '</li>'; }).join('') +
extraSpecs.map(function(s){ return '<li style="color:' + c.stroke + ';font-weight:bold;">' + s + '</li>'; }).join('') +
'</ul>' +
'<div class="gv-bar"><div class="gv-bar-fill" style="width:' + pct + '%;background:' + c.stroke + ';"></div></div>' +
'<p style="font-size:11px;margin:0;color:' + c.text + ';opacity:0.8;">' + p.server + ' · ' + totalUsers + ' usuarios' + (on && usersExtra > 0 ? ' (' + p.users + ' base + ' + usersExtra + ' extra)' : ' máx.') + '</p>';
div.onclick = function(idx){ return function(){ selectedPlan = idx; renderCards(); renderExtras(); recalc(); }; }(i);
cardsEl.appendChild(div);
});
}

function recalc(){
var plan = plans[selectedPlan];
var mes = plan.price + extrasTotal();
var totalUsers = plan.users + usersExtra;
totalEl.textContent = '$' + fmt(mes) + '/mes';

var parts = [];
if (usersExtra > 0) parts.push('+' + usersExtra + ' usuarios');
if (srtQty > 0) parts.push('+' + srtQty + ' SRT');
if (checks.dvr) parts.push('DVR');
if (checks.transcoder && plan.name !== 'Premium') parts.push('Transcoder');
if (checks.dominio) parts.push('dominio ' + (domainValue || 'por definir'));
resumenEl.textContent = plan.name + ' · ' + totalUsers + ' usuarios totales' + (parts.length ? ' · ' + parts.join(', ') : '');

var nextPlan = plans[selectedPlan + 1];
if (nextPlan && mes >= nextPlan.price - 15 && mes < nextPlan.price + 200) {
nudgeEl.style.display = 'block';
nudgeEl.innerHTML = '<p style="font-size:13px;color:#0A2843;margin:0 0 8px;">Con estos extras ya casi pagas ' + nextPlan.name + ' ($' + nextPlan.price + '/mes, hasta ' + nextPlan.users + ' usuarios). Conviene más subir de plan.</p>' +
'<button id="gv-aceptar-upgrade" class="gv-btn-primary" style="width:auto;padding:6px 12px;font-size:12px;">Cambiar a ' + nextPlan.name + ' y limpiar extras</button>';
document.getElementById('gv-aceptar-upgrade').onclick = function(){
selectedPlan += 1;
usersExtra = 0; srtQty = 0; checks = {dvr:false, transcoder:false, dominio:false}; domainValue = '';
domainInput.value = ''; domainField.style.display = 'none';
srtVal.textContent = '0';
renderUsersButtons(); renderCards(); renderExtras(); recalc();
};
} else {
nudgeEl.style.display = 'none';
}
nudgeEl.setAttribute('data-summary', resumenEl.textContent + ', total $' + fmt(mes) + '/mes');
renderCards();
}

document.getElementById('gv-srt-minus').onclick = function(){ srtQty = Math.max(0, srtQty - 1); srtVal.textContent = srtQty; recalc(); };
document.getElementById('gv-srt-plus').onclick = function(){ srtQty = Math.min(25, srtQty + 1); srtVal.textContent = srtQty; recalc(); };
domainInput.addEventListener('input', function(ev){ domainValue = ev.target.value; recalc(); });

renderUsersButtons();
renderCards();
renderExtras();
recalc();

document.getElementById('gv-cotizar').onclick = function(){
var msg = 'Hola, quiero cotizar mi paquete armado: ' + nudgeEl.getAttribute('data-summary');
window.open('https://wa.me/50499718825?text=' + encodeURIComponent(msg), '_blank');
};
})();
</script>

¿Quiénes Somos?

Somos una empresa formada por personal capacitado y responsable, dedica a desarrollar con empeño cada servicio que ofrece.