ライブストリーミングは技術レベルでどのように機能しますか?

ビデオキャプチャ

ライブストリーミングは、生のビデオデータから始まります。カメラによってキャプチャされた視覚情報です。カメラが接続されているコンピューティングデバイス内では、この視覚情報はデジタルデータ、つまり最も深いレベルの1と0として表されます。

ライブ配信アプリ

セグメンテーション

ビデオには多くのデジタル情報が含まれているため、短いPDFや画像をダウンロードするよりもビデオファイルをダウンロードする方が時間がかかります。すべてのビデオデータを一度にインターネット経由で送信することは現実的ではないため、ストリーミングビデオは数秒の長さの小さなセグメントに分割されます。

圧縮とエンコード

次に、セグメント化されたビデオデータが圧縮およびエンコードされます。データは、冗長な視覚情報を削除することによって圧縮されます。たとえば、ビデオの最初のフレームに灰色の背景に対して話している人物が表示されている場合、同じ背景を持つ後続のフレームに対して灰色の背景をレンダリングする必要はありません。

ビデオ圧縮は、リビングルームに新しい家具を追加するようなものと考えてください。新しい椅子やサイドテーブルを追加するたびに、まったく新しい家具を購入する必要はありません。代わりに、部屋のレイアウトをほぼ同じに保ち、一度に1つだけ変更して、必要に応じて大規模な再配置を行うこともできます。同様に、ビデオストリームのすべてのフレームを合計でレンダリングする必要はありません。人の口の動きなど、フレームごとに変化する部分だけをレンダリングする必要があります。

エンコード」とは、データを新しい形式に変換するプロセスを指します。ライブストリーミングビデオデータは、さまざまなデバイスが認識する解釈可能なデジタル形式にエンコードされます。一般的なビデオエンコーディング規格は次のとおりです。

ライブストリーミングテクノロジーの詳細については、https://bap-software.net/knowledge/live-stream-app/

CDNの配布とキャッシュ

f:id:melissabwalls21dayrep:20200813113126j:plain

ライブストリームがセグメント化、圧縮、およびエンコードされたら(すべて数秒しかかかりません)、それを視聴したい数十人または数百万人の視聴者が利用できるようにする必要があります。さまざまな場所にある複数の視聴者にストリームを配信しながら、レイテンシを最小限に抑えて高品質を維持するには、CDNが配信する必要があります。

CDNは、配信元サーバーに代わってコンテンツをキャッシュおよび配信するサーバーの分散ネットワークです。 CDNを使用するとパフォーマンスが向上します。これは、ユーザーの要求がオリジンサーバーに到達する必要がなくなるため、代わりに近くのCDNサーバーで処理できるためです。この方法でリクエストを処理してコンテンツを配信すると、配信元サーバーの作業負荷も軽減されます。最後に、CDNを使用すると、サーバーが単一の地理的領域にクラスター化されるのではなく、世界中に配置されるため、世界中のユーザーにコンテンツを効率的に提供できます。

CDNは、ライブストリームの各セグメントをキャッシュ(一時的に保存)するため、ほとんどの視聴者は、オリジンサーバーからではなく、CDNキャッシュからライブストリームを取得します。これにより、キャッシュされたデータが数秒遅れていても、実際にはライブストリームがリアルタイムに近づきます。これは、オリジンサーバーとの往復時間(RTT)が短縮されるためです。

デコードとビデオ再生

CDNは、ライブストリームを、ストリームを視聴しているすべてのユーザーに送信します。各ユーザーのデバイスは、セグメント化されたビデオデータを受信、デコード、および圧縮解除します。最後に、ユーザーのデバイス上のメディアプレーヤー(専用アプリまたはブラウザー内のビデオプレーヤー)がデータを視覚的な情報として解釈し、ビデオが再生されます。

VRアプリの開発費はいくらですか?

VR開発コストは、モバイルVRアプリとモバイルVRゲームのどちらを開発しているかに関係します。 ゲーム以外のモバイルバーチャルリアリティアプリケーションに40,000ドルから75,000ドルを費やすと予想できます。 モバイルVRゲームの場合、50,000ドルから100,000ドルです。 これらの数値はかなり一般的です。 より複雑なプロジェクトでは、開発コストが高くなる可能性があります。

VR開発コストの最終的な結果は、モバイルVRアプリとモバイルVRゲームのどちらを開発するかによって決まります。 ゲーム以外のモバイルVRアプリの場合は4万ドルから7万ドル、モバイルVRゲームの場合は5万ドルから10万ドルの販売が見込まれます。 これらの数値は一般的なものであり、非常に複雑なプロジェクトの場合、開発コストは6桁になることがあります。

まず、VR開発コストに影響を与える要因について説明します。

f:id:melissabwalls21dayrep:20200714122817j:plain

1.コンテンツとソフトウェア

開発予算の主要なセクションは、コンテンツとソフトウェア開発に割り当てられます。 提供するコンテンツとレンダリングするソフトウェアは個別に検討する必要があると主張する人もいるかもしれません。 ただし、予算については、一緒に検討することが重要です。 コンテンツが複雑になるほど、ソフトウェアの複雑さが増します。

オンラインの消費者がストア製品を3Dで見ることができるモバイルVRには、よりシンプルなインターフェースが必要です。 3Dモデルとユーザーインターフェイスに関連するコストはかなり低いです。 コンテンツとソフトウェアの境界がぼやけています。 しかし、両方のコストは3Dモデルのレンダリングよりもかなり高くなります。

インタラクティブVRアプリ、VRゲーム、シンプルな3D環境のいずれを作成する場合でも、コンテンツの決定はインターフェイスに影響します。 どちらも、VRソフトウェアの開発コストとモバイルアプリのVRに影響します。

2.研究開発

アプリ開発のすべての側面は、研究開発と見なされます。ユーザーストーリーを書く場合でも、配布を計画する場合でも、作成プロセスの各部分で調査が必要です。それは最良の選択肢の研究を含みます。研究開発は、VR開発コストにかなりの影響を与える可能性があります。

各プロジェクトフェーズで、開発者は機能を実装するための最良の方法を停止して調査する必要があります。機能または機能が共通である場合、優れた開発者はメモリからそれらを簡単にコーディングできます。

開発フェーズには、独自の機能と複雑な機能の構築が含まれます。この間、開発者は停止し、デザインを機能させる方法を探る必要があります。多くの場合、最先端の機能の実装は簡単ではありません。試行錯誤が必要です。これは、VRアプリのモバイルアプリケーション開発における重要な要素です。

プロジェクトをトップのモバイルアプリ開発者に渡す前に、不足している変数を減らすことができます。研究開発に必要な時間を短縮します。

3.関与するプラットフォーム

コンテンツとR&Dを考慮すると、プラットフォームは開発コストに影響を与える次の要素になります。別のタイプのアプリの開発に関わる時間とコストの間には大きな違いがあります。これは、Google Cardboard用のゲームでも、HTC ViveまたはOculus Rift用の完全にインタラクティブなソフトウェアパッケージでもかまいません。

4.固有の機能

VRゲームとVRアプリの両方に、多数の機能があります。コンテンツとは別に存在します。格付けシステム、ユーザーのプライバシー機能などは、コストに影響を与えるアドオンの例です。オンライン計算機を使用して、さまざまな機能の影響の概要を知ることができます。開発費の概算に役立ちます。

f:id:melissabwalls21dayrep:20200714122837j:plain

5.サードパーティ統合の範囲

開発プロジェクトに本来備わっていない機能を利用できるVRプロジェクトはほとんどありません。カスタムコードを使用すると、かなりコストがかかる可能性があります。ありがたいことに、モバイルアプリやゲームにVRを組み込むために利用できるプラグインはたくさんあります。ソーシャルメディアの相互作用、広告、および分析を提供するプラグインは、ますます利用可能になっています。それらはVRアプリケーションの設計に役立ちます。

6.プロジェクト管理

プロのアプリ開発会社のほとんどは、VRアプリ開発アジャイル手法を使用しています。 アジャイルは、プロジェクトが透明性と柔軟性を備えて開発されることを保証します。 より高品質の製品と優れた顧客満足度を提供します。 管理オーバーヘッドの削減と手戻りの削減により、コストを削減できることが実証されています。 たとえば、ある会社がVRアプリのiOSアプリ開発に古い方法論を使用するiOSアプリデベロッパーを雇ったとします。 プロジェクトの管理が不十分なため、コストが高くなる可能性があります。

あなたはVR開発の詳細について相談することができます。https://bap-software.net/

Society 5.0への移行で「突破」する5つの壁

では、これらの5つの壁とは何であり、日本はそれらをどのように破壊するつもりですか?

省庁の壁。

経団連ポジションペーパーを引用すると、「国家戦略の策定と政府推進体制の統合」が必要。これには、「便利なIoTシステム」の設計とシンクタンク機能が含まれます。

法制度の壁

これにより、高度な技術を実装するために法律を策定する必要があります。実際には、これは規制改革と行政のデジタル化の推進も意味します(そこにいるすべてのドキュメントキャプチャと情報管理の人々にとって朗報です)。

技術の壁

「知識の基盤」の形成への探求。サイバーセキュリティからロボット工学、ナノテクノロジー、バイオテクノロジー、システムテクノロジーまで、データを保護し活用するためのすべてのテクノロジー/領域と同様に、実用的なデータがここで基本的な役割を果たすことは明らかです。また、さまざまなレベルでの深刻な研究開発への取り組みについても触れています。

人材の壁

教育改革、ITリテラシー、高度なデジタルスキルに特化した利用可能な人材の拡大などはそのほんの一部です。興味深い:論文が現実のものになれば、日本はセキュリティやデータサイエンスなどの分野の高度なスキルを持つ専門家に門戸を開くでしょう。少なくとも同じくらい興味深い:「潜在的な才能を発見するための女性の参加の促進」。

Society5.0についてもっと知ることができます。

https://bap-software.net/knowledge/society5-0/

オフショアソフトウェア開発を管理する方法

BAPには、ソフトウェア開発プロジェクトでオフショアクライアントとのコラボレーションに多くの経験があります。 長年にわたり、オフショア関係を機能させるには、明確に定義された構造化されたプロセスと実践が必要であることを学びました。

以下は、オフショアチームが海外の最も離れた場所にいる場合でも、円滑なアウトソーシング協力を保証するものの一部です。

f:id:melissabwalls21dayrep:20200423164331p:plain

目標を定義する

オフショアチームに明確で実用的な目標を設定することは、ソフトウェアプロジェクトを成功させるために重要です。 明確に定義された目的がないと、開発者は正確に何をする必要があるかわからず、その結果、サポートされていないと感じて生産性を失う可能性があります。 そして、これらすべてが、プロジェクトのリスクを高め、会社の利益を減らすことにつながります。

リモートのソフトウェア開発者には、ビジネスに対する洞察とアクセス権がないことに注意してください。 ガイダンスを提供し、これらの開発者が経験を積んでいる場合でも、コアビジネスの価値とは何か、プロジェクトがそれらに到達するのにどのように役立つかを知る必要があることを覚えておく必要があります。

目標を設定するには? SMARTシステムを使用します。

S –特定。 ソフトウェアプロジェクトをリモートチームに説明するときは正確にしてください。
M –測定可能。 あなたの目標は、定量化または測定可能である必要があります。 「優れたカスタマーサポートを提供する」ことは、測定可能な目標ではありません。 「10ヶ国語対応」です。
A –達成可能、または合意済み。 現在利用できるリソースを考慮して、あなたの目的は現実的である必要があります。 非現実的な目標を設定することは刺激的なように見えるかもしれませんが、達成できない期待を設定するため、逆効果です。
R –関連性があります。 ビジネス戦略とコアバリューに沿った目標を設定します。
T –タイムリー。 目標の期限を設定します。

f:id:melissabwalls21dayrep:20200423164512j:plain

適切なチームを選ぶ

スキルはオフショアチームを選ぶ際の重要な要素ですが、それだけではありません。

大規模なプロジェクトを外部委託する場合は、小規模な開発会社を選ぶのはよくありません。彼らは単に同様の規模のプロジェクトでのスキル、リソース、または経験を欠いているかもしれません。私たちの経験では、高度なスキルを持つソフトウェア開発者の小規模なチームは、大規模なチームよりも優れた結果を提供します。小規模なチームの管理が容易になり、コミュニケーションがより合理化され、プロジェクトの成功が保証されます。

大規模で派手なソフトウェア開発代理店を選択することは良い考えのように思えるかもしれませんが、通常は費用がかかり、独自の方法で設定されます。柔軟性は、オフショアコラボレーションを成功させるための重要な前提条件です。小規模で専門性の高い企業は、柔軟性が高く、クライアントの目標をよりよく理解し、プロジェクトに真の価値を追加することで、クライアントを満足させたいと考えています。

リファレンスとポートフォリオを常に確認してください。信頼できるオフショアソフトウェア開発会社が、以前または現在のクライアントの連絡先データを提供する準備ができています。他の企業に提供したソフトウェア開発サービスの実際の結果で主張を裏付けることができるテクノロジーパートナーを選択します。

どこの国が開発者の調達に最適か疑問に思っていますか?ポーランドへのアウトソーシングのメリットについてお読みください。

頻繁にコミュニケーションする

リモートチームとの定期的なコミュニケーションルーチンが必要です。それがメール、ビデオ会議ツール、インスタントメッセージングアプリ、電話のいずれであっても、簡単にコミュニケーションできるチームが必要です。ここでは、共有言語に堪能であることは非常に重要です。そしてエキスパートプロバイダーはそれを知っています。私たちはすべての開発者が厳しい要求プロセスで英語に堪能であることを確認します。

リモート開発チームのタイムゾーンも考慮してください。チームメンバーが世界の反対側にいる場合、ソフトウェア開発者は起きているときに眠っている可能性があります。そのため、時差が深刻なコミュニケーションの問題を引き起こします。これは、単に不便なだけであることは言うまでもありません。

東ヨーロッパは最近、オフショアソフトウェア開発の主要な目的地の1つになりました。そして正当な理由で!西ヨーロッパにある国々への優れた接続を提供し、米国からのクライアントと作業するときの時間差は我慢できます。私たちの場所により、米国の東海岸と西海岸の両方の企業と簡単にコラボレーションできます。

協力する

自立型ユニットとして機能する場合でも、リモートの開発チームは指導を必要とします。 完璧なアプリを注文して数週間後に配信することがオフショア開発の現実であると考えるなら、期待しすぎです。

優れたテクノロジーパートナーは、オフショアソフトウェア開発シナリオ内で独立して作業する方法を習得します。

従事する

リモートチームは、プロジェクトに関与して投資すると、最善の作業を行います。 確かに、彼らの従業員があなたが必要とする結果を確実に届けることは、プロバイダーの仕事です。

より多くのオフショア開発問題を見ることができます。

https://bap-software.net/knowledge/offshore-development-issues/