Skip to navigation
Logo Penaz's Area

cat /dev/random > penaz

Creiamo il nostro personale streaming Live


Vediamo come creare il nostro piccolo servizio di streaming Live, senza Twitch o altri servizi più famosi.

Buongiorno a tutti, tutti conoscono Twitch, un famoso servizio di streaming live usato da molti videogiocatori per trasmettere in tempo reale le proprie prodezze videoludiche. La registrazione è gratuita, ma vi sono alcuni motivi per cui qualcuno non vuole iscriversi ma comunque mostrare le proprie capacità; magari per uno streaming unico (per il quale un account Twitch sarebbe sprecato) o semplicemente per curiosità, oggi vedremo come creare il nostro piccolo servizio di streaming online.

Questo tutorial è principalmente a fine di puro divertimento e curiosità.

Strumenti necessari:

Installiamo Nginx e l'estensione per lo streaming via RTMP, ora apriamo il file di configurazione nginx.conf (la sua posizione dipende dal sistema operativo usato) ed inseriamo in fondo alla pagina ciò che segue:

rtmp {
server {
listen 1935;
chunk_size 4096;

application live {
live on;
record off;
}
}
}

Ciò ci permetterà di effettuare uno streaming live sulla porta 1935, che dovremo inoltrare sul nostro router (la procedura dipende dal router, cercate "Port forwarding <modello>" per vedere come si fa).

Dopo aver inoltrato la porta 1935, possiamo configurare Open Broadcaster Software. Apritelo, configurate le impostazioni come vi aggrada per quanto riguarda qualità ecc....

Ora andate in Impostazioni -> Parametri broadcast ed usate le seguenti opzioni:

Modalità: Live Stream

Servizio di streaming: Custom

FMS URL: rtmp://[vostro IP qui]/live

Play Path/Stream Key: test

E siete pronti per lo streaming! I vostri amici dovranno semplicemente aprire un player che supporti protocolli di rete (Come VLC) ed aprire uno stream di rete all'indirizzo: rtmp://[vostroIP]/live/test

Ma se volete veramente andare oltre, è possibile settare una pagina web per lo streaming. Ed è qui che il mio calvario di 3 ore è iniziato, ho provato di tutto FlowPlayer, JWPlayer (entrambe famose soluzioni freemium), Il tag "video" di HTML5, soluzioni in JavaScript che vanno oltre la percezione umana... Niente funzionava, il player non veniva visualizzato, oppure il formato non era supportato, oppure lo stream non veniva nemmano trovato. E poi sono arrivato a questa soluzione, open source e fantasticamente semplice.

Ingredienti:

  • Video.js
  • Tanta pazienza e coraggio
  • Un router.
  • Un computer

Per prima cosa inoltriamo la porta che abbiamo scelto per la nostra pagina HTTP (potrebbe essere la classica porta 80, siccome non sono su un server puro, ho scelto la porta 8080).

Scarichiamo Video.js ed estraiamolo nella cartella "http" di nginx, dove dovrebbero stare le pagine html.

Dopodichè creiamo una pagina come segue:

<!DOCTYPE html>
<html>
<head>
<head>
    <link href="/video-js/video-js.css" rel="stylesheet">
<script src="/video-js/video.js"></script>
<script>
  videojs.options.flash.swf = "/video-js/video-js.swf"
</script>
</head>
<body>
 <div class="main">
        <div id="content_area" class="well">
            <div class="vid_player">
                <video id="MY_VIDEO_1" class="video-js vjs-default-skin" controls
                 preload="auto" width="960" height="540" poster="images/POSTER.png"
                 data-setup="{}">
                 <source src="rtmp://<tuo_IP_qui>/live/test" type="rtmp/flv">
                 <p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
                </video>
            </div>
        </div>
    </div>
</body>
</html>

Ora ai nostri amici non resterà che collegarsi al nostro IP, sulla porta giusta, sulla pagina giusta ed avranno un piccolo player che permetterà di vedere il nostro streaming Live!

Questo è quanto. Buono streaming a tutti!

Saluti!

Penaz.