Contatore nr di visualizzazioni video

di il
9 risposte

Contatore nr di visualizzazioni video

Ciao e buon pomeriggio

Volevo implementare un counter che conteggi il nr di visualizzazioni di un determinato video (no Youtube) che ho caricato sulla pagina di un mio sito WP .
Non voglio contare quante volte la pagina viene caricata, perchè potrebbero esserci più video sulla stessa pagina ed ognuno deve avere un suo ctr.

Qualche suggerimento su come fare? (in PHP/Javascript....)
O in alternativa esiste un plugin che mi consenta di contare quante volte è stato visualizzato un video (e magari anche per quanto tempo?)

Qualsiasi suggerimento è benvenuto
Grazie per l’attenzione

Nick

9 Risposte

  • Re: Contatore nr di visualizzazioni video

    Aggiungi un handler alla "play" dell'oggetto
    <video onPlay="contatoreJs();"/>
    e nel javascript fai quello che credi, ad esempio:
    //codice javascript
    
    function contatoreJs(){
    //chiamata web che incrementa il contatore
    fetch('/counter.php') 
    //promise che mi ritorna i dati json della risposta
    .then(response => response.json())
    .then(data => console.log("la visualizzazione corrente è la numero: "+data['count']));
    }
    
    poi sul server avrai un handler del tipo seguente: per semplicità uso un file, in produzione userai qualcosa di più sicuro.
    
    //file counter.php
    <?php
    //leggo il valore del contatore, per semplicità tenuto in un file, la @ sopprime gli errori
    $val = @file_get_contents('count.txt');
    //se è la prima visualizzazione imposto il valore a 1
    if(empty($val)) $val = 1;
    else $val = $val +1;
    //aggiorno il contatore
    file_put_contents('count.txt',$val);
    //dico che torno i dati come json
    header('Content-Type: application/json; charset=utf-8');
    //torno effettivamente i dati
    echo json_encode(["count"=>$val]);
    
    Note: il codice non l'ho provato quindi potrebbe contenere qualche errore ma il flusso logico è questo
    Poi puoi passare per parametro il nome del video (per gestire video diversi). Inoltre ti rimando al https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
    dove puoi trovare tutti gli eventi sottoscrivibili. Usandoli non è difficile ottenere altre metriche come
    durata della visualizzazione, eventuali criticità (stalli), messe in pausa...
  • Re: Contatore nr di visualizzazioni video

    Grazie DavideDaSerra,

    visiono il codice e la relativa documentazione che mi hai inviato...mi hai dato certamente un grosso aiuto!
    Appena riesco nell'intento tornerò a darti feedback del funzionamento

    Grazie ancora;-)
  • Re: Contatore nr di visualizzazioni video

    Come promesso, ti do feedback

    I tuoi script sono stai utilissimi, grazie!
    Ho raggiunto il primo obiettivo: contare tutte le volte che un utente preme play su un determinato video.

    Ora vorrei però come mi anticipavi, utilizzare il tempo di visualizzazione trascorso per realmente abilitare il conteggio (che so dopo almeno 15" che il video viene riprodotto, incremento il mio contatore su file)

    Da questa documentazione, dovre bbe essere la proprietà currentTime

    https://www.w3.org/2010/05/video/mediaevents.htm
  • Re: Contatore nr di visualizzazioni video

    Corretto, ma devi anche sottoscrivere l'evento timeupdate che l'oggetto "video" notifica ogni volta che il video avanza di un quanto di tempo (altrimenti non sapresti quando leggere la proprietà "current time" ed eseguire il controllo.

    Un'alternativa sarebbe un polling con una setInterval che ogni intervallo di tempo fisso controlla la currentTime, funzionerebbe ma non è la strada giusta (complichi inutilmente la logica oltre ad essere più scomodo da debuggare).
  • Re: Contatore nr di visualizzazioni video

    Ok grazie, procedo con la prima opzione da te suggerita.

    Già che ci sono ti faccio una domanda pertinente al "polling"...
    Per mia utilità, ho pensato d'implementare un programmino che mi avvisi delle scadenze (luce, gas,rc,TARI, IMU etc.), leggendo i dati da un semplice file xls

    Devo realizzare un polling che ogni giorno verifichi se ci sono scadenze in prossimità..e mi invii mail di notifica x giorni prima (con opzione repeat).
    Lasciamo stare lettura da file xls ed invio mail di notifica ma per la funzionalità di "ascolto" hai un metacodice da suggerire?
    Mi pare di capire tu sia molto skillato, tu come procederesti?

    Grazie e buon proseguimento!
  • Re: Contatore nr di visualizzazioni video

    Personalmente preferisco la pappa pronta (uso il calendario di google per ricordarmi le scadenze)

    Altrimenti direi un banale cronjob che esegua quotidianamente possa fare il controllo e inviare la mail se del caso.
  • Re: Contatore nr di visualizzazioni video

    Ok, anch'io uso calendar come agenda...ma diciamo che vorrei personalizzare alcune funzionalità

    Ora la questione è....non ho mai utilizzato un cronjob o crontab (SOB...SOB)

    Ho visto che serve la libreria SSH ...
    Come faccio ad installarla su server aruba?

    Una volta installata, come procedo per fare un semplice script che ogni giorno faccia un determ task, fosse anche la semplice visualizzazione di un msg?

    Ho trovato questo utile link, ma non so installare la libreria SSH:
    https://code-tutsplus-com.translate.goog/tutorials/managing-cron-jobs-with-php--net-19428?_x_tr_sl=auto&_x_tr_tl=it&_x_tr_hl=it&_x_tr_pto=nui
  • Re: Contatore nr di visualizzazioni video

    Ssh ti serve per collegarti al server: se già hai un accesso client (RDP, VNC, telnet) non ti serve.
    Se non lo hai installi Putty sul pc (windows), su linux solitamente è già presente integrato

    Ti colleghi al computer remoto,
    dai il comando man crontab, studi come funzionano i cronjob e aggiungi lo script che periodicamente fa quello che deve.
  • Re: Contatore nr di visualizzazioni video

    Ciao DavideDaSerra
    Comunque...
    Ho risolto in questo modo, a parte il codice che utilizza la classe di lettura e scrittura di un file excel/CSV...
    Una volta realizzato il codice PHP, ho utilizzato il task manager del pannello admin di Aruba che ti consente di avviare con alcune frequenze selezionabili lo script.

    Fatto tutto, funziona! Ogni domenica a mezzanotte mi viene inviata una mail con le scaadenze, non flaggate come ok su file csv.
    Grazie comunque;-)
Devi accedere o registrarti per scrivere nel forum
9 risposte