投稿

ラベル(クラウド)が付いた投稿を表示しています

Dockerコンテナ化させたHLSのwebストリーミング配信環境構築(さくらのクラウド,Centos, Nginx,FFmpeg,docker) | ライタス株式会社

イメージ
こんにちわ。 10月より新入社員として入社しました田所です。 今回もストリーミングサーバーネタです! 今回は前回構築したffmpegとnginxを使ったHLSでwebストリーミング配信環境をDockerでコンテナにまとめて、 どこでも簡単に環境を構築できるようにしちゃいます(^^♪ 前回の記事↓ https://blog.litus.co.jp/2020/11/hlsflashplayerwebcentos-nginxffmpeg.html さて、今回もコンテナ化するにあたってアーキテクト図を書きます! 参考記事↓ https://blog.soushi.me/entry/2017/02/17/135834/ 基本は前回のcentos上で構築したもののと同じにするのですが、下記の通りコンテナならではの構成に若干変更しました。 RTMP→HLS変換するコンテナとweb配信するコンテナで分割 二つのコンテナをdocker-composeでまとめて起動、停止可能 hls配信に必要なm3u8ファイル等はdockerボリューム上に置き、コンテナ間で共有させる なんだかモダンでかっこいい!!(笑) 今回はローカル環境にDockerを入れてローカル上で構築を確認できたら、まるっと本番に移します。 というわけで本日の作業は環境構築含め以下の内容で進めていきます Docker for windowsをインストール(起動確認まで) Dockerfile、docker-compose.yml等必要なファイルを作成 ローカルでイメージをビルド→コンテナ起動→確認 さくらのクラウド(CentOS)上で起動→確認 1.Docker for windowsをインストール ※Windows10 Pro 64bitでのDockerインストールした手順について記述しています。 参考記事↓ https://www.public.ne.jp/2020/06/02/%E3%80%90docker%E3%80%91%E7%AC%AC9%E5%9B%9E%E3%80%80windows-10-pro-%E3%81%B8-docker-desktop-for-windows-%E3%82%92%E3%8...

HLSでFlashPlayerを使用しないwebストリーミング配信環境の構築(さくらのクラウド,Centos, Nginx,FFmpeg) | ライタス株式会社

イメージ
こんにちわ。 10月より新入社員として入社しました田所です。 前回記事にしました、さくらのクラウド上で構築したストリーミングサーバーを更に進化させていきたい思います!! 前回のストリーミングサーバーの構築記事↓ https://blog.litus.co.jp/2020/10/centosnginx.html 前回構築したストーリングサーバーでは再生するにはFlashPlayerが必要でした。 FlashPlayerは2020年にサポート終了することもありますし、Chromeでは再生するにはいちいち許可したりする必要があり、なるだけ使用は避けたい、というところで終了しました。 なので今回はこの RTMPを使用したストリーミングサーバーを生かしつつ、FlashPlayerを使用しないでストリーミング配信できる環境に進化させます! 具体的には HLS (HTTP Live Streaming) というプロトコルを使用します。 ↓参考記事 https://engineer.dena.com/posts/2018.12/knowledge-for-livestreaming .m3u8っていう拡張子のデータに映像を記録したプレイリストがはいってるわけですね。 なるほど、なるほど。この.m3u8の配信映像データがあれば、いい感じにwebで動画を再生できるというわけ 例のごとく前例はもちろんたくさんありました。 FFmpeg というライブラリを使います。 こいつをNginxと組み合わせることで PCからRTMP配信→Nginx経由でFFmpegに.m3u8のデータを生成してもらう→.m3u8データを再生するJavaScriptコードが入ったHTMLを配置(Nginxのwebサーバー) って感じです。 というわけで今回もイメージを作成↓ 基本は前回のさくらのクラウドの環境をそのまま使って FFmpegをインストール nginx.conf書き換え(FFmpegを実行する旨等記載) htmlファイルの書き換え これらの追加作業をするだけです。 今回の参考にさせていただいた記事 https://qiita.com/khagi/items/b99f5a36846d9ab65daa https://qiita...

さくらのクラウドにCentOS、Nginxを使い、ストリーミングサーバーを構築してライブ配信したい | ライタス株式会社

イメージ
こんにちわ。 10月より新入社員として入社しました田所です。 入社して1か月が経とうとしています。 まだまだ分からないことだらけで参っております。 さて、今回も初学者の私目線で業務で学んだことをまとめていきます😘 今回やりたいことは記事のタイトルの通りで さくらのクラウドを使って CentOSに Nginxを入れて OBSでPCの画面を配信 ってだけです。 PCの画面をwebページで配信して閲覧できる様にします。 Youtubeの非公開とか限定公開のライブ配信みたいな感じです。 と、いうわけでざっくりですがアーキテクト図に落とし込んでみました。 絵に書くとなんかわかった気になれます(知らんけど) 今回RTMPという通信プロトコルで配信します。 RTMPの基礎的知識は↓で学びました https://ygoto3.com/posts/live-streaming-and-rtmp-for-frontend-engineers/ ※RTMPはTCPらしいです。(知らんかった) ひとつずつ確実に消化していきます!! ※今回は実施しませんが、キャプチャボードを使って別の端末画面(PCのBIOSやゲーム等)をキャプチャして配信もできます(また記事にします) ではいきましょう!! 1.サーバー(さくらのクラウド)を立てる AWSなら触ったことあるんですが(実はAWS SAA持ち)、さくらのサーバーは一切使ったことなかったのでここもまとめておきます。 基本的にAWSでイメージすれば特に問題なくクリアできました。 ↓こちらを参考にしました↓ https://mebee.info/2019/11/09/post-3567/ さくらのクラウドのコンソール画面から「サーバー」→上にある「追加」を押す そしてサーバーのスペックを決めていきます 今回は以下のようにしました(抜粋) 仮想コア: 2 メモリ: 4GB SSD: 20GB OS: CentOS7.7 今回はSSHでサーバーに入り込む際に公開鍵認証を行うことにします。 やり方は↓の公式に詳細があるのでこの通りに行います。 https://manu...

Cloudnお試ししてます | ライタス株式会社

イメージ
たまには、楽しい話もしないとやってられません。 というわけで(?)、クラウドストレージを検証しています。 有名ドコロは、Amazon S3、Windows Azureといったところですが、 日本のベンダーでクラウドストレージ(オンラインストレージ?)を展開しているところがあります。 私の会社では、円決済(しかも銀行振込とか)じゃないと、なにかと都合が悪いらしいので、 さらっと調べたところ、ニフティクラウドストレージというのと、クラウドエヌというのがありましたので、 無料キャンペーン中という言葉に惹かれて、クラウドエヌをお試ししてみました。 (記載時は、5000円分無料キャンペーン中です) 使ってみれば、あら簡単。 説明書どおりにやれば、あまり書くことがないのですが、、、 GUI上からいじれる部分は、やはり使いにくい部分があるので、 REST APIを使って、何かしてやろうと思いました。 クラウドエヌにかぎらず、ニフティクラウドでも一緒のようですが、Cloudianというソリューションで実装されているストレージサービスは、共通でREST APIという通信でやり取りできるみたいですので、 他にも流用可能という恩恵を受けることができます。 自力でREST APIを書くには、気合が多分に必要なので、とりあえずのツールでお試ししました。 試したツールは、Cyberduck(http://cyberduck.ch/)です。 GPL2.0ライセンスなので、ご利用のときはご注意を。 寄付募集らしいので、気に入っていただければ、いくらか寄付してくださいね。 まずは、クラウドエヌ上のコンソールから、Strage Objectを利用可能な状態にします。 アクセスするためのキーを確認します。 Cyberduckを起動して、必要な情報を入力します。 種別をS3 サーバーを str.cloudn-service.com アクセスキーとシークレットキーを記入して、接続します。 接続出来れば、バケットが表示されるはずです。 いかがでしたでしょうか。 ストレージを扱う上で、用語がいまいちピンと来ないですが、慣れの問題でしょうね。 何かわかったら、追記しようと思います。 本記事は、弊社代...

電気通信事業法の改正について | ライタス株式会社

昨日ポストした 投稿 を意図したわけではないのですが、総務省から「電気通信事業法等の一部を改正する法律の施行等に伴う電気通信事業の利用者保護に関する省令等の整備案についての意見募集」という発表が行われました。 http://www.soumu.go.jp/menu_news/s-news/01kiban08_02000194.html 動向は把握しておりましたが、パブリックコメントとなると、いよいよ改正に向けての最終段階に入ってきたと思われます。 主な改正ポイントは、電気通信事業者及び媒介等業務受託者(代理店)に対して 1.説明義務の充実 2.書面の交付義務の導入 3.初期契約解除制度の導入 4.勧誘継続行為の禁止 5.代理店(媒介等業務受託者)に対する指導等の措置 を追加する内容となるそうです。 読んでみていただければわかると思いますが、電話網・インターネット網を主体的に運営・販売している会社に対しての内容であったので、クラウド事業者が気にしなくても良いかもしれません。 しかしながら、クラウド環境を代理店販売をしている事業者の場合、仕入元から監督される立場になりますので、該当する場合は注意が必要です。 パブリックコメント中なので、この内容がそのまま法規に採用されるとも決まっているわけではありませんが、該当する方はご注意ください。

クラウド事業者における電気通信事業法 | ライタス株式会社

システムのコンサルティングをさせていただくときに、電気通信事業法の話を時々させていただきます。 ほとんどが、電話屋さんの規制と捉えられ、意外と知られていないようなので、弊社としての認識を明らかにしつつ、クラウドでシステムを開発するときに注意すべきポイントについて概説します。(本投稿では第1種、第2種通信事業者は除いています) ※注意:弊社の見解です。法律面につきましては、弁護士や司法書士などの専門家にご相談ください。 電気通信事業法とは、総務省所管の法律で、昭和60年4月に施行されました。 法律の文面はこちらからご覧いただけます。 http://law.e-gov.go.jp/htmldata/S59/S59HO086.html これまでの改正の経緯も調べれば出てくるのですが、それは別の機会にしたいと思います。 本法律の要旨は以下のとおりと認識しています。 ・電気通信とは 電気を使った通信のことです。 法律では、「有線、無線その他の電磁的方式により、符号、音響又は影像を送り、伝え又は受けること」と定義しています。 ・電気通信事業とは 電気通信で商売することですが、法律では「電気通信事業法第2条に規定する電気通信役務を行う事業」と定義しています。 第2条については、法律のリンクを参照ください。 ・電気通信事業者とは 電気通信事業を行う事業者のことです。 ・検閲の禁止 通信を見て検閲してはいけないことになっています。 いわゆる通信の秘密と言われるものは、ここで定義されています。 検閲の禁止は、電気通信事業者だけではなく、すべての人に適用されるものです。 これは、国家に対しても同様であり、表現の自由を守るための条文として理解されています。 ・秘密の保護 電気通信事業者は、その役務の都合で通信の内容が見える立場にいます。 見えるのはしょうがないとしても、必ず通信の内容を守ることが規定されています。 ・電気通信事業の登録 ここが重要ポイントですが、電気通信事業を営む者は、総務大臣に届け出をしなければならないことになっています。 大規模設備を持つ事業であれば、電気通信事業者の登録を、小規模であれば届け出をする必要があります。 届出のフォームは総務省からダウンロードできます。 ...