rails3プロジェクトでhtml5ビデオを実装しようとしていて、私は奇妙な状況に陥っていました。rails3プロジェクトでhtml5ビデオの不自然な状況
<!-- 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>
まず奇妙なことは、ブラウザが元のリクエスト「GET /ユーザー/ 1」は、この「GET /ユーザー/ nullのような要求に追加されたことです。私はこのコードを追加したユーザーのページにHTML5のビデオを表示するには 現在のユーザーがid = 1であるため、 "GET/users/1"にする必要があります。次に、ムービーコントローラ(show action)に次のコードを追加しました。
filename = Rails.root.join('public/videos/' + params[:id] + '.' + params[:format])
send_file filename, :type => 'video/ogg'
params [:id]はビデオファイルの名前です。 すべてが大丈夫そうですが、私はエラーを持っている:
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
あなたはこの事を理解し、解決する方法を私を助けてもらえますか?ありがとう
ソースタグのsrc属性ポイントをpublic/videos /ディレクトリのファイルに直接設定することはできませんか? – drummondj
私は「映画」を「ビデオ」に変更した後、ウェブサーバーがそれを簡単に扱い、別のエラー「エラーErrno :: ECONNABORTED:確立された接続がホストマシンのソフトウェアによって中断されました。 – megas
Rails 3を使用してwebrickを介して140MBのHTML5ビデオファイルを送信しようと同じ問題が発生しました。http://127.0.0.1/video.webmをダウンロードしようとすると、サーバは接続を切断し続けます – bcoughlan