web-dev-qa-db-fra.com

Amazon S3 Hosting Streaming Video

Si je rend une ressource Amazon s3 MP4 accessible au public, puis jette la balise vidéo Html5 autour de l'URL de la ressource, sera-t-elle diffusée? Est-ce vraiment aussi simple que cela? Il existe de nombreuses API "d'encodage" comme le pandastream et le zencoder et je ne sais pas exactement ce que font ces entreprises. Gèrent-ils simplement l'allocation de la bande passante (mise à niveau/rétrogradation de la qualité du flux et du taux de livraison/optimisation multiplateforme?) Ou les services d'encodage font-ils plus que cela.

29
user398371

Voici Brandon de Zencoder. Ce que vous recherchez est probablement quelque chose comme Video JS (videojs.com) pour la lecture vidéo. Vous pouvez simplement télécharger un MP4 vers S3 et le référencer dans un lecteur (ou le tag vidéo directement, mais cela pose des problèmes supplémentaires). Notre service est en fait utilisé pour transcoder la vidéo elle-même, pas pour la livraison. Nous avons en fait créé Video JS pour aider nos clients (et le Web en général) avec une lecture HTML5 simple et compatible. Si vous avez d'autres questions, posez-les. Merci.

32
Brandon Arbini

La réponse à la première partie de votre question est, oui , c'est vraiment aussi simple que cela. Il y a un comment faire à ce sujet et une démonstration de travail à la fin de l'article que vous pouvez voir comme une preuve de concept.

7
Aleksandr

Amazon S3 est un très bon choix pour diffuser du contenu vidéo. Nous l'utilisons depuis quelques années sans aucun problème et le coût est imbattable. Vous devriez également envisager d'utiliser Amazon CloudFront et de configurer vos médias pour utiliser leurs "distributions en streaming". Il utilise essentiellement vos fichiers S3 mais les copie dans des emplacements Edge sur Internet et utilise RTMP pour offrir une meilleure expérience de lecture aux utilisateurs et vous faire économiser de l'argent sur la bande passante.

http://aws.Amazon.com/cloudfront/

4
Malevolence

Je venais de poser la même question que vous et j'étais heureux de voir que le téléchargement d'un fichier mp4 vers S3, la définition d'autorisations "publiques", puis l'utilisation de ce HTML simple fonctionnaient très bien sans aucun outil supplémentaire. Et CloudFront n'était même pas nécessaire.

<video id="clip" controls preload=auto width=640 height=264 data-setup="{}">
    <source src="https://s3.amazonaws.com/xxxxbucketnamexxxxx/xxxxfilenamexxxx.mp4" type='video/mp4'/>        
</video>
3
Ryan

Amazon S3 en combinaison avec Amazon CloudFront en tant que CDN évolutif est assez avancé et bon pour créer de grandes solutions vidéo, même des systèmes de type Netflix utilisant une vidéo à débit adaptatif (ABR) en HTML5 en utilisant les extensions de source multimédia avec MPEG-DASH ou HLS, comme fait par Netflix ou Youtube.

Ici vous pouvez trouver un très bon tutoriel à ce sujet: http://www.bitcodin.com/blog/2015/02/create-mpeg-dash-hls-content-for-Amazon-s3-and-cloudfront /

1
Stefan Lederer

Vous pouvez encoder la vidéo vous-même en utilisant un encodeur gratuit comme https://HandBrake.fr . Ou votre éditeur vidéo (j'utilise Camtasia) devrait avoir des options d'encodage standard.

Concernant le lecteur vidéo, vous avez quelques options ...

1) Option la plus simple: télécharger vers S3, rendre le fichier public, insérer l'URL entière dans WordPress, et il deviendra automatiquement un lecteur vidéo. Mais le joueur aura des options très basiques (pas de contrôle de vitesse, possibilité de personnaliser les contrôles du joueur, etc.), et l'URL est publique, ce qui signifie qu'elle est ouverte aux sangsues, aux hotlinks et au piratage.

2) Si vous souhaitez sécuriser le fichier lui-même, puis téléchargez-le sur S3, rendez-le privé, rendez-le accessible uniquement au compte root, puis utilisez un plugin comme https://S3MediaVault.com qui créera des URL signées en temps réel lors du chargement de la page, et le lien expirera peu de temps après, en fonction du nombre de secondes pendant lesquelles vous souhaitez qu'il soit actif.

3) Et puis, si vous souhaitez protéger la page elle-même, vous devrez utiliser une sorte de logiciel de paywall. Donc, si vous utilisez WordPress, ce serait un plugin d'adhésion WordPress, qui protégera la page et établira une première connexion en utilisant un nom d'utilisateur/mot de passe avant de pouvoir accéder à la page. Et puis la page se chargera et des URL signées seront générées pour votre vidéo, et ils peuvent la regarder à partir de cette page, ou la télécharger (si vous les laissez).

4) Vous pouvez également créer des vidéos en streaming qui sont beaucoup plus difficiles à télécharger pour la plupart des gens ordinaires, car ce n'est plus seulement un fichier .mp4 - c'est un .m3u8 et un tas de fichiers .ts, qui sont difficiles pour la plupart des gens se rendre compte. Et puis faites ces URL trop signées, et la vidéo devient encore plus difficile à télécharger.

Et si vous encodez votre vidéo en streaming à l'aide de la technologie HLS d'Apple et que vous la définissez sur un débit binaire adaptatif, le flux sera téléchargé aussi rapidement ou aussi lentement que la connexion Internet du spectateur. Cela peut être bon ou mauvais selon la situation, mais c'est une option.

0
Ravi Jayagopal