randddevストリーミングとは何か、、、調べてみた経験より(2020-09-19)Streamingストリーミングとは何か、、、調べてみた経験より(2020-09-19)畑田です。開発の要件の中にストリーミングが含まれており、そもそもストリーミングとは何か、その実現方法や、手法の選択肢には何があるのか気になって調べてみました。サブタイトルはAWSでストリーミングを試してみた経験より。ストリーミングとはそもそもストリーミングが何なのかがイマイチよくわかっていなかったので調べました。ストリーミングとはマルチディアファイルのダウンロード方式の一つです。src="../img/some.jpg">などとすると思いますが、これはメディアがダウンロードが完了して初めて描画される様式です。動画に関しても同じです。src="../video/some.mp4">などと書いているとダウンロードに時間がかかってしまい、再生するまでその完了を待つ必要があります。これに対しストリーミングは、必要な部分をダウンロードしながら再生し、残りのデータもダウンロードしていく方式であるので、再生までの待ち時間を大幅に短縮できるのです。自分はストリーミングというとライブストリーミングだけだと思い込んでいたのですが、生放送にだけではなく通常のオンデマンド動画再生の際にもよく使われています。ストリーミングにもプロトコル(決まった方式や規格、規則)があります。以下の2つは多くのブラウザで標準対応しているものです。Inc.製のストリーミングプロトコルであり、IETFの規格としてリリースされています。これはもともとQuickTimeやSafari、iOS、macOS向けに開発されたものですが、ほぼ全てのブラウザに対応しています。streamingを採用しています。(nginxとかApache)を用いてマルチディアを配布できてしまう上、firewallなども問題になりません。HLSはメディアセグメントと、プレイリストによってストリーミングを行います。TS形式(拡張子は.ts)、プレイリストはM3U形式(拡張子は.m3uまたは.m3u8)のファイルで表現します。streamingの略です。GETで取得することでストリーミングが実現されます。MP4とはその名の通り、細かく分割されたMP4形式のファイルのことです。dataを持つという風に情報の持ち方が異なります。TSファイルと比較すると、対応するcodecの違いの他に、M3Uファイルの書き方が多少変わります。MP4に対応しておらず、これ以降のバージョンでも#EXT-X-MAP:URI="init.m4s"という行を加えてあげる必要があります。TSファイルとはTSファイルは、再生するメディアが分割されて保存されたメディアセグメントです。これは地デジ(地上デジタル波放送)と同じらしいです。内容のメディアは映像であればH.264、H.265が、音声であればAAC、MP3などのcodecが対応しているようです。TSファイルは再生するメディアを非常に細かく分割したものであり、その持続時間が10秒(Apple推奨)とかなので、一つのメディアに対して大量に生成されます。これらをM3Uファイルの指示に従って逐次ダウンロードすることで、待ち時間を短縮しているのです。M3UファイルとはM3Uファイルは、どのようにTSファイルを再生していくかという情報が書かれているプレイリストです。メディア全体のプレイリストではなく、メディアの一部のTSファイルのプレイリストであり、再生されるにつれてどんどん更新されていきます。これによって、ライブストリーミングも行えるというわけです。以下がM3Uファイルの例です。ただのプレーンテキストです。skipoutput_0058.ts#EXTINF:5.125000,output_0059.ts#EXT-X-ENDLIST#EXT-X-MEDIA-SEQUENCE:0の部分はこのM3Uの先頭のTSファイルがメディア全体の何番目であるか、#EXT-X-TARGETDURATION:18の部分はそれぞれのTSファイルが何秒以下になるように分割されているか、#EXTINF:10.500000の部分は直下に参照されているTSファイルが何秒のものであるのか、がそれぞれ記録されています。#EXT-X-TARGETDURATION:で表現された時間の0.5-1.5倍の時間間隔でM3Uファイルが更新されていきます。ブラウザは、「M3Uファイルを取得して、それに従ってTSファイルを再生しながら、M3Uファイルを更新する」というサイクルを繰り返してストリーミングを実現しています。ForumにはMicrosoft、Netflix、Google、Ericsson、Samsung、Adobeなどが参加しています。ISOの規格としてリリースされています。(nginxとかApache)を用いてマルチディアを配布できてしまう上、firewallなども問題になりません。MPEG-DASHもメディアセグメントと、プレイリストによってストリーミングを行います。Description)という形式のXMLファイル(拡張子は.mpd)で表現されます。MPDとは以下がMPDファイルの例です。こいつはxmlファイルです。コメントをキャンセルメールアドレスが公開されることはありません。付いている欄は必須項目ですコメント名前*メール*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。WordPress.。