2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravel + Amazon S3で動画をストリーミング再生したい

Posted at

はじめに

小規模な会員制の動画配信のシステムを作ったときに、動画をストリーミング再生したくなったので、その方法を書いておきます。
というか、もともとすばらしい記事があったのですが、それの初心者向けの補足をします。
(私がつまづいたところを書いておきます。。)

とりあえず、この記事すばらしい!!

Laravelで動画のストリーミング再生を実装する【Safariでも再生可能】

とりあえず、この記事を読んで、この記事のコードをコピペしてください。
ヘルパーの方は何書いてあるか、私にはさっぱりわかりません!!

Amazon S3につないでおいて

Laravel 公式

補足します1

「ヘルパーにS3の接続とファイルパスを渡す」という箇所がありまして、"s3上の動画ファイルのパス"とだけ書いてあるんですが、なにを指定したらいいのか、だいぶ悩みました...

S3のバケットの中にファイルアップロードすると思うのですが、バケット名までは、.envで指定してあるのでバケット名以降のパスを書きます。

例えば、バケット名「aaa」の中に、「bbb > ccc.txt」が保存してあったら、
bbb/ccc.txtと書けばいいのです!!

なんか、アップロードしたあとのURLとか書いたりして、取れないよーとかなってました...

補足します2

参考にした記事の最後に、
「作成したメソッドにルーティングを設定し、ブラウザからアクセスすると動画が再生できます!」
と書いてあるんですが、ここも補足します。

記事内にある、streamVideoFileメソッドへのルーティング(URL)を例えば、
http://localhost:8888/streamVideoFile
にしたとします。

そしたら、それとは別にviewファイルを表示するルーティングを用意して、そのviewファイルにvideoタグを書きます。
videoタグのsrcを、先ほど作成したルーティングに設定します。


<video controls preload="auto">
    <source src="http://localhost:8888/streamVideoFile" type="video/mp4">
</video>

こうやって書いておくと、videoタグでストリーミング再生が実現できます!!

実際は、同じ動画を再生するとかはあまりないと思うので、違う動画を再生できるように、引数なりなんなり渡して、動画切り替えたりしてください。

まとめ

ぶっちゃけ、このストリーミング再生の記事書いてくれている人がいなかったら、私は実装できていなかった...
ありがとうございます。。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?