mirror of
https://github.com/fstat13/PSCapture.git
synced 2026-10-17 16:01:29 +02:00
446 lines
31 KiB
HTML
446 lines
31 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="it" class="no-js">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>PSCapture — la PS5 come scheda di acquisizione sul PC</title>
|
||
<meta name="description" content="PSCapture trasforma una PS5 jailbroken in una scheda di acquisizione per il PC: lo schermo della console passa sulla tua rete locale e compare in Discord, OBS e ffmpeg come la webcam “PS5 Capture”.">
|
||
<meta name="theme-color" content="#07090d">
|
||
<link rel="icon" type="image/png" href="pscapture.png">
|
||
<link rel="alternate" hreflang="en" href="https://fstat13.github.io/PSCapture/">
|
||
<link rel="alternate" hreflang="it" href="https://fstat13.github.io/PSCapture/index.it.html">
|
||
<meta property="og:type" content="website">
|
||
<meta property="og:locale" content="it_IT">
|
||
<meta property="og:title" content="PSCapture — lo schermo della PS5, live sul tuo PC">
|
||
<meta property="og:description" content="Lo schermo della PS5 compare in Discord, OBS e ffmpeg come la webcam “PS5 Capture”. Niente capture card, niente Remote Play, niente cloud.">
|
||
<meta property="og:image" content="https://fstat13.github.io/PSCapture/social-preview.png">
|
||
<meta property="og:image:width" content="1280">
|
||
<meta property="og:image:height" content="640">
|
||
<meta property="og:url" content="https://fstat13.github.io/PSCapture/index.it.html">
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
||
<link rel="stylesheet" href="style.css">
|
||
</head>
|
||
<body>
|
||
|
||
<svg width="0" height="0" style="position:absolute" aria-hidden="true">
|
||
<symbol id="i-download" viewBox="0 0 24 24"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></symbol>
|
||
<symbol id="i-star" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></symbol>
|
||
<symbol id="i-check" viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></symbol>
|
||
<symbol id="i-video" viewBox="0 0 24 24"><path d="m22 8-6 4 6 4V8Z"/><rect x="2" y="6" width="14" height="12" rx="2"/></symbol>
|
||
<symbol id="i-zap" viewBox="0 0 24 24"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></symbol>
|
||
<symbol id="i-file" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></symbol>
|
||
<symbol id="i-refresh" viewBox="0 0 24 24"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"/></symbol>
|
||
<symbol id="i-sliders" viewBox="0 0 24 24"><line x1="4" y1="21" x2="4" y2="14"/><line x1="4" y1="10" x2="4" y2="3"/><line x1="12" y1="21" x2="12" y2="12"/><line x1="12" y1="8" x2="12" y2="3"/><line x1="20" y1="21" x2="20" y2="16"/><line x1="20" y1="12" x2="20" y2="3"/><line x1="1" y1="14" x2="7" y2="14"/><line x1="9" y1="8" x2="15" y2="8"/><line x1="17" y1="16" x2="23" y2="16"/></symbol>
|
||
<symbol id="i-lock" viewBox="0 0 24 24"><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></symbol>
|
||
<symbol id="i-console" viewBox="0 0 24 24"><rect x="2" y="6" width="20" height="12" rx="3"/><line x1="6" y1="12" x2="10" y2="12"/><line x1="8" y1="10" x2="8" y2="14"/><circle cx="16" cy="11" r=".6"/><circle cx="18" cy="13" r=".6"/></symbol>
|
||
<symbol id="i-monitor" viewBox="0 0 24 24"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></symbol>
|
||
<symbol id="i-info" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></symbol>
|
||
<symbol id="i-alert" viewBox="0 0 24 24"><path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></symbol>
|
||
<symbol id="i-search" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></symbol>
|
||
</svg>
|
||
|
||
<nav class="nav">
|
||
<div class="wrap">
|
||
<a class="logo" href="#top"><img src="pscapture.png" alt="">PSCapture</a>
|
||
<div class="nav-links">
|
||
<a href="#how">Come funziona</a>
|
||
<a href="#start">Installazione</a>
|
||
<a href="#trouble">Problemi</a>
|
||
<a href="#build">Build</a>
|
||
<a href="#faq">FAQ</a>
|
||
</div>
|
||
<div class="nav-right">
|
||
<a class="lang" href="index.html" hreflang="en">English</a>
|
||
<a class="btn btn-ghost btn-sm" href="https://github.com/fstat13/PSCapture"><svg class="i"><use href="#i-star"/></svg>Star <span class="stars" data-stars hidden></span></a>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<header class="hero" id="top">
|
||
<div class="wrap hero-grid">
|
||
<div>
|
||
<span class="eyebrow"><span class="tagv">v0.1</span>Testato sul firmware PS5 13.60</span>
|
||
<h1>Lo schermo della PS5,<br><span class="grad">live sul tuo PC.</span></h1>
|
||
<p class="lead">PSCapture trasforma una PlayStation 5 jailbroken in una scheda di acquisizione.
|
||
La console manda il proprio schermo sulla tua rete locale e Windows lo vede come una
|
||
webcam chiamata <b>PS5 Capture</b>, pronta per Discord, OBS e ffmpeg.</p>
|
||
<div class="cta">
|
||
<a class="btn btn-primary" href="https://github.com/fstat13/PSCapture/releases"><svg class="i"><use href="#i-download"/></svg>Scarica per Windows</a>
|
||
<a class="btn btn-ghost" href="https://github.com/fstat13/PSCapture"><svg class="i"><use href="#i-star"/></svg>Metti una stella <span class="stars" data-stars hidden></span></a>
|
||
</div>
|
||
<div class="hero-meta">
|
||
<span><svg class="i"><use href="#i-check"/></svg>Niente capture card</span>
|
||
<span><svg class="i"><use href="#i-check"/></svg>Niente Remote Play</span>
|
||
<span><svg class="i"><use href="#i-check"/></svg>Niente cloud</span>
|
||
<span><svg class="i"><use href="#i-check"/></svg>Un solo .exe</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="app" role="img" aria-label="La finestra di PSCapture: il log mostra il controllo del driver, l'invio del payload e la connessione dello stream; la pillola di stato dice STREAMING.">
|
||
<div class="app-bar">
|
||
<img src="pscapture.png" alt="">
|
||
<span class="t">PSCapture by fstat13 - PS5 screen to PC</span>
|
||
<span class="w"><span>–</span><span>□</span><span>✕</span></span>
|
||
</div>
|
||
<div class="app-body">
|
||
<div class="app-head">
|
||
<div class="app-title">PSCapture<small>PS5 screen to PC</small></div>
|
||
<span class="pill live"><i></i> STREAMING 29.8 fps</span>
|
||
</div>
|
||
<div class="app-row">
|
||
<span class="app-lbl">PS5 IP</span><span class="app-in">192.168.0.36</span>
|
||
<span class="app-btn">Deploy payload</span><span class="app-btn">Install driver</span>
|
||
</div>
|
||
<div class="app-row">
|
||
<span class="app-btn big">START STREAMING</span><span class="app-btn stop">STOP</span>
|
||
<span class="app-knobs app-row" style="margin:0">
|
||
<span class="app-lbl">gain</span><span class="app-in">1.0</span>
|
||
<span class="app-lbl">shift px</span><span class="app-in">0</span>
|
||
</span>
|
||
</div>
|
||
<div class="app-log" aria-hidden="true">
|
||
<div>PSCapture pronto: premo Start e faccio tutto da solo.</div>
|
||
<div>--- AVVIO AUTOMATICO ---</div>
|
||
<div>driver gia' installato</div>
|
||
<div>payload dall'eseguibile (175480 byte)</div>
|
||
<div>payload 175480 byte, invio a 192.168.0.36</div>
|
||
<div>autoloader aggiornato (pldmgr)</div>
|
||
<div class="hl">payload avviato - la PS5 deve mostrare la notifica PSCapture</div>
|
||
<div>porta stream: 5599</div>
|
||
<div class="ok">collegato a 192.168.0.36:5599</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="wrap">
|
||
<div class="stats">
|
||
<div class="stat"><div class="n">1920×1080</div><div class="l">full HD in OBS</div></div>
|
||
<div class="stat"><div class="n">~30 fps</div><div class="l">su una normale LAN</div></div>
|
||
<div class="stat"><div class="n">0</div><div class="l">ricodifiche sulla console</div></div>
|
||
<div class="stat"><div class="n">1 file</div><div class="l">driver e payload inclusi</div></div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="wrap">
|
||
|
||
<section id="why" class="reveal">
|
||
<div class="sec-head">
|
||
<div class="kicker">Perché PSCapture</div>
|
||
<h2>Una capture card, senza la capture card.</h2>
|
||
<p class="sub">Funziona tutto con quello che hai già: la console, la tua rete e il tuo PC.</p>
|
||
</div>
|
||
<div class="grid g3">
|
||
<div class="card"><div class="ico"><svg class="i"><use href="#i-video"/></svg></div>
|
||
<h3>Una vera webcam</h3>
|
||
<p>Un filtro sorgente DirectShow chiamato <b>PS5 Capture</b>. Qualsiasi programma che apre una webcam può aprire la tua console.</p></div>
|
||
<div class="card"><div class="ico v"><svg class="i"><use href="#i-zap"/></svg></div>
|
||
<h3>Direttamente dal display engine</h3>
|
||
<p>Il payload legge il buffer di scan-out della console e manda frame NV12 grezzi. Niente ricodifica, quindi niente attese per un encoder.</p></div>
|
||
<div class="card"><div class="ico g"><svg class="i"><use href="#i-file"/></svg></div>
|
||
<h3>Un file, una finestra</h3>
|
||
<p><b>PSCapture.exe</b> installa il driver, manda il payload, lo registra nell'autoloader e si collega. Tutto da solo.</p></div>
|
||
<div class="card"><div class="ico a"><svg class="i"><use href="#i-refresh"/></svg></div>
|
||
<h3>Si riprende da solo</h3>
|
||
<p>Console ancora spenta? Riprova ogni 2 secondi. Stream caduto? Si ricollega. Non devi stargli dietro.</p></div>
|
||
<div class="card"><div class="ico"><svg class="i"><use href="#i-sliders"/></svg></div>
|
||
<h3>Regolazioni in diretta</h3>
|
||
<p><code>gain</code> del colore e <code>shift</code> orizzontale si applicano in circa un secondo e restano salvati in <code>pscapture.ini</code>.</p></div>
|
||
<div class="card"><div class="ico v"><svg class="i"><use href="#i-lock"/></svg></div>
|
||
<h3>Resta nella tua rete</h3>
|
||
<p>Niente account, niente server esterni, niente Remote Play. I frame vanno dalla console al PC e basta.</p></div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="how" class="reveal">
|
||
<div class="sec-head">
|
||
<div class="kicker">Come funziona</div>
|
||
<h2>Tre pezzi piccoli, una webcam.</h2>
|
||
<p class="sub">Un payload sulla console, un feeder e un driver sul PC. I programmi che usi già vedono semplicemente una webcam.</p>
|
||
</div>
|
||
<div class="pipe">
|
||
<div class="node"><div class="where">PS5</div><h3>Payload</h3>
|
||
<p>Legge il ring di scan-out del display engine, costruisce i frame NV12 e li serve sulla porta TCP <code>5599</code>. Mostra la notifica <i>“PSCapture is streaming on:5599”</i>.</p></div>
|
||
<div class="link"><span>TCP · NV12<br>rete locale</span><div class="line"></div></div>
|
||
<div class="node"><div class="where">PC · PSCapture.exe</div><h3>Feeder</h3>
|
||
<p>Riceve i frame e li pubblica in un ring di memoria condivisa.</p></div>
|
||
<div class="link"><span>memoria<br>condivisa</span><div class="line"></div></div>
|
||
<div class="node"><div class="where">PC · pscapture.dll</div><h3>Driver</h3>
|
||
<p>Un filtro sorgente DirectShow che espone il ring come la webcam <b>PS5 Capture</b>.</p></div>
|
||
<div class="link"><span>DirectShow</span><div class="line"></div></div>
|
||
<div class="node end"><div class="where">I tuoi programmi</div><h3>Qualsiasi app video</h3>
|
||
<p>Scegli <b>PS5 Capture</b> come una webcam qualunque.</p>
|
||
<div class="chips"><span class="chip">Discord</span><span class="chip">OBS</span><span class="chip">ffmpeg</span></div></div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="requirements" class="reveal">
|
||
<div class="sec-head">
|
||
<div class="kicker">Prima di iniziare</div>
|
||
<h2>Cosa ti serve.</h2>
|
||
</div>
|
||
<div class="grid g2">
|
||
<div class="req">
|
||
<div class="req-h"><div class="ico"><svg class="i"><use href="#i-console"/></svg></div><h3>Sulla PS5</h3></div>
|
||
<ul>
|
||
<li><svg class="i"><use href="#i-check"/></svg><span>Una console jailbroken<small>Sviluppato e tarato sul firmware <b>13.60</b>. Per le altre versioni vedi la FAQ.</small></span></li>
|
||
<li><svg class="i"><use href="#i-check"/></svg><span>Payload loader sulla porta TCP <code>9021</code><small>Tipo <code>elfldr</code>, come in tutti i setup di jailbreak attuali.</small></span></li>
|
||
<li><svg class="i"><use href="#i-check"/></svg><span>FTP anonimo sulla porta TCP <code>2121</code><small>L'app legge e scrive alcuni file sulla console.</small></span></li>
|
||
<li class="opt"><svg class="i"><use href="#i-check"/></svg><span>Autoloader <code>pldmgr</code> <span class="tagopt">opzionale</span><small>Avvia il payload a ogni accensione, così non devi mai mandarlo a mano.</small></span></li>
|
||
</ul>
|
||
</div>
|
||
<div class="req">
|
||
<div class="req-h"><div class="ico v"><svg class="i"><use href="#i-monitor"/></svg></div><h3>Sul PC</h3></div>
|
||
<ul>
|
||
<li><svg class="i"><use href="#i-check"/></svg><span>Windows 10 o 11, 64 bit<small>La webcam è un dispositivo DirectShow, quindi il lato PC è solo per Windows.</small></span></li>
|
||
<li><svg class="i"><use href="#i-check"/></svg><span>Stessa rete della console<small>Meglio via cavo. Il gigabit basta e avanza per 1080p a 30 fps.</small></span></li>
|
||
<li><svg class="i"><use href="#i-check"/></svg><span>Permessi di amministratore, una volta<small>Per registrare la webcam per tutti i programmi del PC.</small></span></li>
|
||
<li><svg class="i"><use href="#i-check"/></svg><span><b>PSCapture.exe</b> dalle <a href="https://github.com/fstat13/PSCapture/releases">Releases</a><small>Un unico file: payload e driver sono già dentro.</small></span></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="start" class="reveal">
|
||
<div class="sec-head">
|
||
<div class="kicker">Installazione</div>
|
||
<h2>Da zero a live in cinque passi.</h2>
|
||
<p class="sub">Dal passo 2 in poi ti basta guardare: l'app fa il resto e ti dice cosa sta facendo.</p>
|
||
</div>
|
||
<ol class="steps">
|
||
<li><h3>Fai il jailbreak della console</h3>
|
||
<p>Avvia il tuo solito jailbreak, così il payload loader (<code>9021</code>) e l'FTP (<code>2121</code>) sono attivi.</p></li>
|
||
<li><h3>Doppio clic su <code>PSCapture.exe</code></h3>
|
||
<p>Windows chiede <i>“Consentire a questa app di apportare modifiche al dispositivo?”</i>. Clicca <b>Sì</b>. L'app chiede da sola i permessi, non serve il tasto destro.</p></li>
|
||
<li><h3>Controlla l'IP</h3>
|
||
<p>Quello predefinito è <code>192.168.0.36</code>. Se la tua PS5 ha un altro indirizzo, scrivilo in <b>PS5 IP</b> e premi <b>Apply</b>: viene ricordato. Lo trovi sulla console in <i>Impostazioni → Rete → Stato della connessione → Visualizza stato della connessione</i>.</p></li>
|
||
<li><h3>Non toccare niente</h3>
|
||
<p>Al primo avvio l'app installa il driver, poi manda il payload e si collega. Sulla console compare <i>“PSCapture is streaming on:5599”</i> e la pillola di stato diventa <b style="color:var(--green)">verde: STREAMING</b>.</p></li>
|
||
<li><h3>Scegli <b>PS5 Capture</b> nel tuo programma</h3>
|
||
<p>Discord, OBS o ffmpeg. Più sotto trovi <a href="#use">dove trovarla</a>.</p></li>
|
||
</ol>
|
||
|
||
<h3 style="margin:30px 0 6px">Come leggere il log</h3>
|
||
<p style="color:var(--dim)">Queste sono le righe che vedrai, nell'ordine in cui compaiono.</p>
|
||
<div class="term" style="margin-top:14px">
|
||
<div class="term-bar"><i></i><i></i><i></i><b>pscapture-app.log</b></div>
|
||
<div class="term-row"><code>driver gia' installato</code><span class="m">La webcam è già registrata. Niente da fare.</span></div>
|
||
<div class="term-row"><code>driver non installato: lo installo ora (primo avvio)<br>driver estratto dall'eseguibile (… byte)<br>driver registrato - la webcam 'PS5 Capture' e' pronta</code><span class="m">Primo avvio: il driver viene estratto dall'exe e registrato.</span></div>
|
||
<div class="term-row"><code>payload dall'eseguibile (… byte)<br>payload … byte, invio a 192.168.0.36</code><span class="m">Il payload sta andando verso la console.</span></div>
|
||
<div class="term-row"><code>autoloader aggiornato (pldmgr)</code><span class="m">Il payload è stato copiato nell'autoloader: partirà a ogni accensione.</span></div>
|
||
<div class="term-row"><code>payload avviato - la PS5 deve mostrare la notifica PSCapture</code><span class="m">Il payload gira. Cerca la notifica sulla TV.</span></div>
|
||
<div class="term-row ok"><code>porta stream: 5599<br>collegato a 192.168.0.36:5599</code><span class="m">Collegato. La pillola dice <b>STREAMING</b> con gli fps in tempo reale.</span></div>
|
||
</div>
|
||
|
||
<div class="callout warn" style="margin-top:18px">
|
||
<svg class="i"><use href="#i-alert"/></svg>
|
||
<p><b>Pillola ferma su “IN ATTESA DELLA PS5”?</b> La console è spenta, il jailbreak non è ancora partito o l'IP è sbagliato. Non serve riavviare niente: l'app riprova ogni 2 secondi e si collega appena le porte <code>9021</code> e <code>2121</code> rispondono.</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="use" class="reveal">
|
||
<div class="sec-head">
|
||
<div class="kicker">Usalo</div>
|
||
<h2>Funziona ovunque funzioni una webcam.</h2>
|
||
</div>
|
||
<div class="grid g3">
|
||
<div class="card target"><h3>Discord</h3>
|
||
<div class="path"><i>Impostazioni → Voce e video → Videocamera</i> → <b>PS5 Capture</b></div>
|
||
<p style="margin-top:10px">Discord chiede 720p a tutte le webcam, capture card comprese. Per il 1080p60 usa la condivisione schermo (Nitro).</p>
|
||
<div class="res">in chiamata <b>1280×720</b></div></div>
|
||
<div class="card target"><h3>OBS Studio</h3>
|
||
<div class="path"><i>Fonti → + → Dispositivo di acquisizione video</i> → <b>PS5 Capture</b></div>
|
||
<p style="margin-top:10px">Risoluzione piena, pronta per registrare o andare in live.</p>
|
||
<div class="res">nativo <b>1920×1080</b></div></div>
|
||
<div class="card target"><h3>ffmpeg</h3>
|
||
<div class="path"><code>ffmpeg -f dshow -i video="PS5 Capture" capture.mkv</code></div>
|
||
<p style="margin-top:10px">Per catture da script e test veloci.</p>
|
||
<div class="res">nativo <b>1920×1080</b></div></div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="daily" class="reveal">
|
||
<div class="sec-head">
|
||
<div class="kicker">Uso quotidiano</div>
|
||
<h2>Aprilo e gioca.</h2>
|
||
</div>
|
||
<div class="grid g3">
|
||
<div class="card knob"><span class="k">ogni giorno</span>
|
||
<p>Apri <b>PSCapture.exe</b> e accetta il prompt UAC. Con l'autoloader lo stream parte da solo.</p>
|
||
<ul>
|
||
<li><b>Deploy payload</b>: rimanda il payload a mano, dopo un riavvio senza autoloader.</li>
|
||
<li><b>Install driver</b>: registra di nuovo la webcam se il log mostra un errore del driver.</li>
|
||
<li><b>STOP</b> o chiudere l'app: la webcam si ferma sull'ultimo frame e resta nell'elenco.</li>
|
||
</ul></div>
|
||
<div class="card knob"><span class="k">gain</span>
|
||
<p>Intensità del colore (croma).</p>
|
||
<ul><li><code>1.0</code> è il valore grezzo e corretto.</li><li>Cambialo solo se i colori sembrano sbagliati.</li></ul></div>
|
||
<div class="card knob"><span class="k">shift px</span>
|
||
<p>Sposta l'immagine a destra o a sinistra.</p>
|
||
<ul><li><b>Solo numeri pari</b>: un valore dispari scambia i colori.</li><li>Le scritte dei titoli della console sono un buon riferimento.</li></ul></div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="trouble" class="reveal">
|
||
<div class="sec-head">
|
||
<div class="kicker">Problemi</div>
|
||
<h2>Sintomo → rimedio.</h2>
|
||
<p class="sub">Scrivi cosa vedi, oppure incolla una riga del log.</p>
|
||
</div>
|
||
<div class="search"><svg class="i"><use href="#i-search"/></svg>
|
||
<input id="q" type="search" placeholder="es. nera, 720p, err=126, ATTESA…" autocomplete="off" aria-label="Filtra i problemi"></div>
|
||
<div class="issues">
|
||
<div class="issue"><div class="sym">La pillola resta su <code>AVVIO…</code> o <code>IN ATTESA DELLA PS5</code></div>
|
||
<div class="fix"><span class="cause">console spenta, senza jailbreak o IP sbagliato</span>Accendi la console, avvia il jailbreak (le porte 9021 e 2121 devono essere attive), controlla il campo <b>PS5 IP</b>. L'app continua a riprovare.</div></div>
|
||
<div class="issue"><div class="sym">Il log ripete <code>PS5 non raggiungibile (…), riprovo</code></div>
|
||
<div class="fix"><span class="cause">console non raggiungibile</span>Come sopra. Si collega da sola appena la console risponde.</div></div>
|
||
<div class="issue"><div class="sym">Log: <code>elfldr :9021 non raggiungibile</code></div>
|
||
<div class="fix"><span class="cause">payload loader non attivo</span>Rilancia il jailbreak, poi premi <b>Deploy payload</b>.</div></div>
|
||
<div class="issue"><div class="sym">La webcam <b>PS5 Capture</b> non compare in Discord o OBS</div>
|
||
<div class="fix"><span class="cause">driver non registrato</span>Premi <b>Install driver</b> e leggi la riga successiva del log: riporta l'errore vero.</div></div>
|
||
<div class="issue"><div class="sym">Log: <code>ERRORE: driver non scrivibile in C:\Program Files\PSCapture (serve admin?)</code></div>
|
||
<div class="fix"><span class="cause">app senza permessi di amministratore</span>Chiudila, riapri <code>PSCapture.exe</code> e rispondi <b>Sì</b> al prompt UAC.</div></div>
|
||
<div class="issue"><div class="sym">Log: <code>elevazione rifiutata: continuo senza privilegi</code></div>
|
||
<div class="fix"><span class="cause">al prompt UAC hai risposto “No”</span>Lo stream può funzionare lo stesso, ma il driver non si installa. Riavvia l'app e clicca <b>Sì</b>.</div></div>
|
||
<div class="issue"><div class="sym">Log: <code>ERRORE caricamento dll (err=126)</code></div>
|
||
<div class="fix"><span class="cause">l'antivirus ha messo in quarantena il driver</span>Ripristina e consenti <code>pscapture.dll</code> nell'antivirus, poi premi di nuovo <b>Install driver</b>.</div></div>
|
||
<div class="issue"><div class="sym">Log: <code>autoloader: copia FALLITA (pldmgr c'e'?)</code></div>
|
||
<div class="fix"><span class="cause"><code>pldmgr</code> non installato</span>Nessun danno: lo stream funziona. Senza autoloader, però, dopo ogni riavvio della console devi premere <b>Deploy payload</b>.</div></div>
|
||
<div class="issue"><div class="sym">La webcam compare ma l'immagine è nera</div>
|
||
<div class="fix"><span class="cause">stream non partito</span>Guarda la pillola. Premi <b>Deploy payload</b> e/o <b>START STREAMING</b>.</div></div>
|
||
<div class="issue"><div class="sym">Log: <code>stream caduto, riconnetto</code></div>
|
||
<div class="fix"><span class="cause">problema di rete o console in modalità riposo</span>L'app si ricollega da sola. Se succede spesso, passa dal Wi-Fi al cavo.</div></div>
|
||
<div class="issue"><div class="sym">I colori sembrano sbagliati (pelle rossastra, cielo arancione)</div>
|
||
<div class="fix"><span class="cause">hai cambiato <code>gain</code></span>Rimetti <code>gain</code> a <code>1.0</code> e premi <b>Apply</b>.</div></div>
|
||
<div class="issue"><div class="sym">Colori invertiti, barra nera, immagine decentrata</div>
|
||
<div class="fix"><span class="cause">allineamento</span>Regola <code>shift px</code> usando solo valori <b>pari</b>. Un valore dispari scambia i colori.</div></div>
|
||
<div class="issue"><div class="sym">Discord mostra solo 720p</div>
|
||
<div class="fix"><span class="cause">limite di Discord, non di PSCapture</span>In chiamata Discord limita ogni webcam a 720p. Usa OBS per il 1080p, o la condivisione schermo di Discord (1080p60 con Nitro).</div></div>
|
||
<div class="issue"><div class="sym">OBS vede la webcam, Discord no</div>
|
||
<div class="fix"><span class="cause">Discord era aperto durante l'installazione del driver</span>Chiudi Discord del tutto (anche dall'icona nella tray) e riaprilo.</div></div>
|
||
<div class="issue"><div class="sym">Tutto il resto</div>
|
||
<div class="fix"><span class="cause">leggi i log</span><code>pscapture-app.log</code> (accanto all'exe o in <code>%TEMP%</code>) e il log della console <code>/data/pscapture.log</code> via FTP. Poi <a href="https://github.com/fstat13/PSCapture/issues">apri una issue</a> allegandoli.</div></div>
|
||
<div class="noresult" hidden>Nessun risultato. <a href="https://github.com/fstat13/PSCapture/issues">Apri una issue</a> con il tuo <code>pscapture-app.log</code>.</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="build" class="reveal">
|
||
<div class="sec-head">
|
||
<div class="kicker">Build dai sorgenti</div>
|
||
<h2>Due metà, due toolchain.</h2>
|
||
<p class="sub">La repo contiene solo i sorgenti; i binari pronti sono nelle <a href="https://github.com/fstat13/PSCapture/releases">Releases</a>. La guida completa (installazione toolchain, verifiche, trappole) è in <a href="https://github.com/fstat13/PSCapture/blob/main/docs/BUILD.it.md">BUILD.it.md</a>.</p>
|
||
</div>
|
||
|
||
<div class="build-step">
|
||
<div class="num">Passo 1 · console</div>
|
||
<h3>Payload → <code>pscapture.elf</code></h3>
|
||
<p>Servono Docker e l'immagine del PS5 payload SDK (prospero-clang; va bene qualsiasi tag, qui <code>ps5sdk:18</code>).</p>
|
||
<div class="codeblock"><pre><span class="p">$ </span>docker run --rm -v "$PWD/payload:/payload" -w /payload ps5sdk:18 make</pre></div>
|
||
</div>
|
||
|
||
<div class="build-step">
|
||
<div class="num">Passo 2 · PC</div>
|
||
<h3>App e driver → <code>pscapture.exe</code> + <code>pscapture.dll</code></h3>
|
||
<p>Serve MinGW-w64 (<code>gcc</code> + <code>windres</code>). <b>L'ordine conta</b>: il <code>.res</code> incorpora driver e payload esattamente come sono su disco.</p>
|
||
<div class="codeblock"><pre><span class="c"># dalla radice della repo</span>
|
||
cp payload/pscapture.elf pc/
|
||
cd pc
|
||
|
||
<span class="c"># 1) il driver della capture card (filtro sorgente DirectShow)</span>
|
||
gcc -O2 -shared -static -static-libgcc -o pscapture.dll ps5cam.c \
|
||
-lole32 -loleaut32 -luser32 -ladvapi32 -lws2_32
|
||
|
||
<span class="c"># 2) icona + payload + driver nell'oggetto risorse</span>
|
||
windres pscapture.rc -O coff -o pscapture.res
|
||
|
||
<span class="c"># 3) l'app in un unico file</span>
|
||
gcc -O2 -mwindows -o pscapture.exe pscapture.c pscapture.res \
|
||
-lws2_32 -lshell32 -ladvapi32 -luxtheme</pre></div>
|
||
</div>
|
||
|
||
<div class="callout info" style="margin-top:22px">
|
||
<svg class="i"><use href="#i-info"/></svg>
|
||
<p><b>I due errori classici.</b> Se ricompili la DLL o il payload <i>dopo</i> <code>windres</code>, l'exe si porta dentro quelli vecchi: l'ordine è sempre DLL → windres → exe. E <code>-static -static-libgcc</code> sulla DLL è obbligatorio: senza, Windows può rifiutarsi di caricare il driver con “impossibile trovare il modulo specificato” (manca il runtime MinGW).</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="faq" class="reveal">
|
||
<div class="sec-head">
|
||
<div class="kicker">FAQ</div>
|
||
<h2>Domande.</h2>
|
||
</div>
|
||
<div class="faq">
|
||
<details><summary>Funziona su firmware diversi dal 13.60?</summary>
|
||
<div class="body"><p>Il lato PC funziona con qualsiasi firmware: app e driver usano solo TCP, FTP e memoria condivisa. La parte legata alla versione è il payload della console, sviluppato e tarato sul <b>13.60</b> usando gli ancoraggi del display engine di quel firmware. Su altre versioni può servire un piccolo porting per ritrovare gli stessi ancoraggi. <a href="https://github.com/fstat13/PSCapture/issues">Apri una issue</a> indicando il tuo firmware.</p></div></details>
|
||
<details><summary>Perché in chiamata su Discord la webcam è a 720p?</summary>
|
||
<div class="body"><p>È il motore vocale di Discord: chiede 1280×720 a ogni webcam. In OBS, PS5 Capture va a 1920×1080 pieni. La condivisione schermo di Discord arriva a 1080p60 con Nitro.</p></div></details>
|
||
<details><summary>Servono una capture card o il Remote Play?</summary>
|
||
<div class="body"><p>No. PSCapture non usa mai il Remote Play: il payload legge il display engine direttamente sulla console e manda i frame grezzi sulla tua rete locale.</p></div></details>
|
||
<details><summary>Cattura anche l'audio del gioco?</summary>
|
||
<div class="body"><p>Non ancora. Per ora PSCapture trasmette solo il video.</p></div></details>
|
||
<details><summary>Funziona su macOS o Linux?</summary>
|
||
<div class="body"><p>Il lato PC è solo per Windows, perché la webcam è un dispositivo DirectShow.</p></div></details>
|
||
<details><summary>Come si disinstalla?</summary>
|
||
<div class="body"><ol>
|
||
<li>Chiudi l'app.</li>
|
||
<li>Esegui <code>rundll32 "%ProgramFiles%\PSCapture\pscapture.dll",DllUnregisterServer</code> per rimuovere la webcam.</li>
|
||
<li>Cancella <code>C:\Program Files\PSCapture</code>.</li>
|
||
<li>Facoltativo, sulla console: cancella <code>/data/pldmgr/payloads/pscapture/</code> così l'autoloader smette di avviarlo.</li>
|
||
</ol></div></details>
|
||
</div>
|
||
</section>
|
||
|
||
<div class="band reveal">
|
||
<div>
|
||
<h2>Ti è utile? Lascia una stella.</h2>
|
||
<p>PSCapture è gratuito. Una stella su GitHub aiuta altri appassionati di homebrew PS5 a trovarlo.</p>
|
||
</div>
|
||
<div class="cta">
|
||
<a class="btn btn-primary" href="https://github.com/fstat13/PSCapture"><svg class="i"><use href="#i-star"/></svg>Metti una stella <span class="stars" data-stars hidden></span></a>
|
||
<a class="btn btn-ghost" href="https://github.com/fstat13/PSCapture/issues">Segnala un problema</a>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
|
||
<footer>
|
||
<div class="wrap">
|
||
<div class="foot">
|
||
<div>
|
||
<a class="logo" href="#top"><img src="pscapture.png" alt="">PSCapture</a>
|
||
<p>Lo schermo della PS5 ovunque nella tua rete. Senza card, senza cloud.<br>di <b>fstat13</b></p>
|
||
</div>
|
||
<div>
|
||
<h4>Guide</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/fstat13/PSCapture/blob/main/docs/GUIDE.it.md">Guida passo-passo</a></li>
|
||
<li><a href="https://github.com/fstat13/PSCapture/blob/main/docs/BUILD.it.md">Build dai sorgenti</a></li>
|
||
<li><a href="https://github.com/fstat13/PSCapture/blob/main/docs/INSTALLER.md">Cosa fa l'installer (EN)</a></li>
|
||
<li><a href="https://github.com/fstat13/PSCapture/blob/main/docs/REVERSE_ENGINEERING.md">Reverse engineering (EN)</a></li>
|
||
<li><a href="https://github.com/fstat13/PSCapture/blob/main/docs/ENGINEERING_LOG.md">Engineering log (EN)</a></li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<h4>Progetto</h4>
|
||
<ul>
|
||
<li><a href="https://github.com/fstat13/PSCapture">GitHub</a></li>
|
||
<li><a href="https://github.com/fstat13/PSCapture/releases">Releases</a></li>
|
||
<li><a href="https://github.com/fstat13/PSCapture/issues">Issues</a></li>
|
||
<li><a href="https://github.com/fstat13/PSCapture/blob/main/LICENSE">Licenza</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="legal">
|
||
<span>© 2026 fstat13 · source-available</span>
|
||
<span>Non affiliato a Sony Interactive Entertainment. “PlayStation” e “PS5” sono marchi dei rispettivi proprietari.</span>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<script src="main.js"></script>
|
||
</body>
|
||
</html>
|