2010-08-16 7 views
0

J'ai un site qui diffuse des vidéos en direct, et je veux offrir un aperçu gratuit d'une minute aux utilisateurs avant de payer pour un flux. J'utilise JW Player - Je pensais déclencher une minuterie lorsque l'on clique sur le bouton de lecture, puis retirer un div contenant le lecteur une fois la minuterie terminée. J'utilise déjà jQuery sur cette page.Comment puis-je fournir un aperçu en 1 minute d'un flux vidéo en direct en utilisant Javascript?

Quelles méthodes puis-je prendre pour sécuriser cela? Existe-t-il un autre moyen de le faire? J'utilise un CDN donc le côté serveur est quelque peu limité.

+0

Assurez-vous de tuer le son aussi ;-) –

+0

Super trucs jusqu'à présent. Pour clarifier, je reconnais que cela ne va pas être sécurisé - Sortir un échantillon vidéo d'une minute pourrait être une bonne option à long terme, mais en attendant j'ai besoin d'une solution JS seule (ou peut-être quelque chose de léger sur le côté serveur cela peut masquer la vraie adresse RTMP). Pour le moment, le flux est sur RTMP et est livré par simpleCDN. – Moyersy

Répondre

4

n'est pas possible pour créer un aperçu sécurisé de 60 secondes seulement de la vidéo complète de cette façon; La seule façon d'être sûr que personne ne pourrait exploiter le code javascript et voir toute la vidéo est de créer un fichier vidéo séparé de 60 secondes seulement et de jouer celui-là au lieu de la vidéo complète réelle. Il en est ainsi parce que le code javascript est exécuté sur le client et qu'il serait assez facile de le désactiver, de le modifier ou, plus simplement, de repérer l'URL de la version complète de la vidéo dans le code.

De plus il est préférable de protéger le téléchargement du fichier vidéo complet en vérifiant que chaque requête HTTP faite pour le télécharger correspond à un utilisateur qui a payé pour cela.

1

Sauf si vous utilisez un streaming approprié (par exemple RTMP), le fichier entier sera accessible pour le téléchargement direct par les utilisateurs ayant accès à ce pseudo-aperçu. Pour limiter correctement l'accès, vous devez implémenter la diffusion en continu et limiter le côté du serveur de flux libre, ou utiliser un fichier d'une minute et une vidéo complète protégée.

0

Pour résoudre ce problème, j'ai utilisé les événements de JW Player pour lancer un appel à setTimeout pendant 60 secondes plus tard. J'ai alors caché le joueur et ai surgi une boîte de dialogue modale d'interface de jQuery sur l'écran. Ce n'est pas particulièrement sécurisé mais c'est suffisant pour mes besoins.

Questions connexes