質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

Q&A

解決済

1回答

12056閲覧

通常のvideoタグの挙動について質問(ストリーミング再生されるのかどうか)

scosa

総合スコア8

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

ダウンロード

リモートシステムからローカルシステムへとデータを受信する事、もしくはそのようなデータ転送を行う事をダウンロードと呼びます。

1グッド

1クリップ

投稿2020/09/08 00:03

編集2020/09/08 03:17

いつもお世話になっています。

動画初心者です。
ウェブサイトに動画を載せる時の最適な方法を調べている時に
どうしても分からないことがあり、ご教授いただければと思い質問させていただきました。

  • HTML5のvideoタグはデフォルトでストリーミング再生になっているのでしょうか。
  • ストリーミング再生だとしたらなんという技術で実装されているのでしょうか(HLS等)

経緯

ストリーミングはダウンロードの対であり、順次読み込みながら再生できることが特徴の1つであると認識しています。
HLSを使ったストリーミング再生が便利だと思い実装方法を色々調べていたのですが、その途中で、そもそもvideoタグは**「デフォルトでストリーミング再生になる」という意見と、「デフォルトではストリーミングにはならない」**という意見をそれぞれ複数見かけました。(記事作成日はいずれもここ1-2年内)

デフォルトコード例)

HTML5

1<video src="sample.mp4" controls></video>

HTML5

1<video controls> 2  <source src="sample.mp4"> 3</video>

自分で確認した範囲では、読み込み済みのバーがある範囲では普通に順次再生できるのでストリーミング再生と言えるのでは、と思っているのですが、

  • 閲覧しているブラウザやアップされているサーバーの仕様によってvideoタグの挙動が違うのか?
  • この挙動はそもそも「ストリーミング再生」であっているのか?

など疑問がでてきて、検索しても調べ方が悪いのか見つからず、理解が進んでおりません。。

かなり基礎的な内容だと思いますが、お分かりの方がいらっしゃったら最初の2つの質問についてお教えいただけますと幸いです。

参考

▼ デフォルトでストリーミング再生になる
ttps://richka.co/times/19616/#video
→「ストリーミング配信を行う方法は、簡単でvideoタグを使用して動画を埋め込むだけです。」の部分

ttps://hai3.net/blog/html5-video-tag-non-streaming/
→「HTML5のvideoタグを使うと、動画など自動でストリーミングになってしまう。」の部分

▼ デフォルトではストリーミングにはならない
ttps://ygoto3.com/posts/streaming-technology-basics-for-frontend-engineers/
→明記はされていませんが、内容が「videoタグの場合は全てダウンロードしてから再生、ストリーミング再生をするには別途このようなプロトコルを使う必要がある」というニュアンス

ttps://itskillmap.com/menu2_30/
→「このためサイズが大きい動画を扱う場合は、ストリーミング配信により、動画を読み込みながら動画を再生していく必要があるのですが、<video>タグにはこれに対応する機能はなく、単純に指定した動画を再生するだけしかできません。」

dotnetuseryamag👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi_takatsuk

2020/09/08 00:32 編集

> 「デフォルトでストリーミング再生になる」という意見と、「デフォルトではストリーミングにはならない」という意見をそれぞれ複数 これ、記事URLを列挙していただけませんか?
scosa

2020/09/08 03:10

ありがとうございます。 確認したサイトはこちらです。(知識不足で私が誤解しているものもあるかも知れません。。) ▼ デフォルトでストリーミング再生になる ttps://richka.co/times/19616/#video →「ストリーミング配信を行う方法は、簡単でvideoタグを使用して動画を埋め込むだけです。」の部分 ttps://hai3.net/blog/html5-video-tag-non-streaming/ →「HTML5のvideoタグを使うと、動画など自動でストリーミングになってしまう。」の部分 ▼ デフォルトではストリーミングにはならない ttps://ygoto3.com/posts/streaming-technology-basics-for-frontend-engineers/ →明記はされていませんが、内容が「videoタグの場合は全てダウンロードしてから再生、ストリーミング再生をするには別途このようなプロトコルを使う必要がある」というニュアンス ttps://itskillmap.com/menu2_30/ →「このためサイズが大きい動画を扱う場合は、ストリーミング配信により、動画を読み込みながら動画を再生していく必要があるのですが、<video>タグにはこれに対応する機能はなく、単純に指定した動画を再生するだけしかできません。」
miyabi_takatsuk

2020/09/08 03:13

それを、 質問本文に記載下さい。 質問は編集できます。 とはいっても、ockeghemさんの回答で解決しそうですけどね。
scosa

2020/09/08 03:19

ご指摘ありがとうございます!不慣れで失礼しました。ockeghemさまのご回答で解決いたしました。
guest

回答1

0

ベストアンサー

HTML5のvideoタグはデフォルトでストリーミング再生になっているのでしょうか。

デフォルトの意味するところが問題ですが、例示されている下記のコードだと、ストリーミング再生にはならないと思います(「ストリーミング」という用語の定義次第というところはあります)。

<video src="sample.mp4" controls></video>

この書き方ですと、プログレッシブダウンロードという方法になります。具体的には、HTTPのRangeヘッダを用いて、mp4ファイルの一部をブラウザが要求します。それを再生しつつ、再生が終わる前に次のブロックをRangeヘッダを用いて要求する…ということを繰り返します。見た目上はストリーミング再生のように見えるので、「疑似ストリーミング」と呼ばれたりしますが、ストリーミング再生に要求される帯域制御や著作権保護の機能はありません。

ストリーミング再生だとしたらなんという技術で実装されているのでしょうか(HLS等)

HLSも使えますが、サーバー側で対応が必要です。拡張子も.mp4以外のものになります。HLS以外では、MPEG-DASHが使えます。HLSはアップルの規格、MPEG-DASHは国際規格です。

ということで結論としては、ストリーミング再生になる場合もならない場合もあり、サーバー側の設定およびコンテンツ次第ということです。

投稿2020/09/08 02:17

ockeghem

総合スコア11705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

scosa

2020/09/08 03:28

定義が曖昧な質問になってしまったようで申し訳ございません、例示のコードをデフォルトとして質問しておりました。 例示のコードでは"プログレッシブダウンロード"であること、 自分がストリーミング再生と勘違いしていた部分が理解でき、疑問が解消しました。 非常に分かりやすいご説明、ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問