2010-12-05 23 views
1

J'essaie d'implémenter la vidéo html5 dans le projet rails3 et je me suis retrouvé dans une situation étrange. Pour afficher des vidéos HTML5 sur la page de l'utilisateur i ajouté ce code:Situation étrange avec la vidéo html5 dans le projet rails3

<!-- Video element --> 
<video width="420" height="240" controls preload="metadata" poster="/images/video.jpg"> 
<!-- Video sources --> 
<source src="/movies/video.ogv" type='video/ogg; codecs="theora, vorbis"'> 
</video> 

La première chose étrange est que le navigateur a ajouté aux demandes originales « GET/utilisateurs/1 » la demande comme celui-ci « GET/utilisateurs/null ", mais il devrait être" GET/users/1 "parce que l'utilisateur actuel a id = 1. Puis dans le contrôleur de film (show show) j'ai ajouté ce code:

filename = Rails.root.join('public/videos/' + params[:id] + '.' + params[:format]) 
send_file filename, :type => 'video/ogg' 

où params [: id] est le nom du fichier vidéo. Tout semble bien, mais j'ai erreur:

ERROR Errno::ENOBUFS: An operation on a socket could not be performed 
because the system lacked sufficient buffer space or because a queue was full 

Pourriez-vous me aider à comprendre et à résoudre cette chose? Merci

+0

Vous ne pouvez pas simplement faire pointer l'attribut src des balises source directement sur le fichier dans le répertoire public/videos /? – drummondj

+0

Je l'ai fait, j'ai changé de 'films' en 'vidéo' puis webserver le traite simplement et j'ai juste une autre erreur "ERREUR Errno :: ECONNABORTED: Une connexion établie a été annulée par le logiciel de votre machine hôte". – megas

+0

Ayant le même problème que vous essayez d'envoyer un fichier vidéo HTML5 de 140mb sur webrick avec Rails 3. Si j'essaye de télécharger http://127.0.0.1/video.webm le serveur continue de le déconnecter – bcoughlan

Répondre

0

Webrick ne supporte pas le streaming vidéo pour autant que je sache. Essayez de passer au passager

1

Pouvez-vous donner un sens à votre premier problème. Pour # 2, essayez ceci:

send_file filename, :type => 'video/ogg', :disposition => 'inline' 
+0

N'a pas aidé, peut-être un problème avec le serveur WEBrick – megas