Come creare link ipertestuali a file audio e video per il web (è solo un URL)
Non si "crea un link ipertestuale a un file": si crea un link a un **URL** che *eroga* il file. I browser non possono accedere a percorsi di file locali (`C:\Musica\canzone.mp3`, `/home/user/video.mp4`) da una pagina web per motivi di sicurezza. Il file deve essere **ospitato su un server web** con un URL HTTPS pubblico.
Flusso di lavoro corretto
- Ospita il file: caricalo in una posizione accessibile via web:
- Hosting statico (gratuito/statico): Netlify Drop, GitHub Pages, Cloudflare Pages, Firebase Hosting, Surge.sh, Vercel.
- Object storage (scalabile): AWS S3 + CloudFront, Google Cloud Storage, Backblaze B2, Cloudflare R2 (nessun costo in uscita). Imposta il bucket pubblico o URL firmati.
- Ottimizzato per media: Mux, Cloudflare Stream, Bunny Stream, Vimeo, YouTube (non in elenco), Wistia — gestiscono transcodifica, bitrate adattivo (HLS/DASH), anteprime.
- Condivisione rapida (temporanea): file.io, transfer.sh, pixeldrain, catbox.moe (scadono/eliminano).
- Ottieni l'URL diretto: deve terminare con `.mp3`, `.wav`, `.ogg`, `.mp4`, `.webm`, `.m4a` (o inviare `Content-Type: audio/mpeg`, `video/mp4`). **Non** una pagina *con* un player (es. `youtube.com/watch?v=...` ≠ link diretto al file).
- Crea il link:
<!-- Audio --> <a href="https://cdn.example.com/audio/episodio-42.mp3">Ascolta l'episodio 42</a> <!-- Video --> <a href="https://cdn.example.com/video/demo.webm">Scarica video demo</a> <!-- Player nativo (UX migliore) --> <audio controls src="https://cdn.example.com/audio/episodio-42.mp3"></audio> <video controls src="https://cdn.example.com/video/demo.webm" width="640"></video>
Dettagli tecnici critici
- MIME Types: il server *deve* inviare l'intestazione `Content-Type` corretta. `audio/mpeg`, `audio/ogg`, `video/mp4`, `video/webm`. Tipo errato → il browser scarica invece di riprodurre.
- Range Requests (HTTP 206): **Fondamentali per lo streaming/seek.** Il server deve supportare `Accept-Ranges: bytes`. Hosting statico (Netlify, S3, Cloudflare) lo fanno. Script PHP `readfile()` spesso no — usa `mod_xsendfile` / `X-Accel-Redirect` / URL firmati.
- CORS: se incorpori su *un altro dominio* (`
- Codec: **Universali:** MP3 (audio), MP4/H.264+AAC (video). **Moderni/Migliori:** Opus (audio), WebM/VP9 o AV1+Opus (video). Safari richiede MP4/H.264.
- Preload: `
Errori comuni
- ❌ Collegarsi a link "condividi" di Google Drive / Dropbox / OneDrive (erogano pagina HTML, non file). Usa link di esportazione diretta o un host reale.
- ❌ Usare protocollo `file://` (funziona solo sul *tuo* computer).
- ❌ Hotlinking da siti casuali (furto di banda, interruzioni, rischio legale).
- ❌ File non compressi enormi (WAV, ProRes) su hosting statico — fanno esplodere la bolletta della banda. Trascodifica prima.
Riepilogo: Carica → Ottieni URL file diretto HTTPS → `` o `