Tebikiの動画配信システム vol.1

こんにちは。Tebikiの畑中です。

tebiki Tech Blog へようこそ。

Tebikiは、現場の未来を切り拓くというミッションの下、ビジネス/エンタープライズ向けに SaaS ビジネスを展開しています。 我々が提供するサービスの1つに、tebiki現場教育という「現場」向けの動画マニュアルに関するプロダクトがあります。私は現在、tebiki現場教育プロダクトの、動画編集や配信関連の機能開発を行うチームで、ソフトウェアエンジニアとして働いています。

今回の tebiki Tech Blog では、tebiki現場教育の動画配信システムについて紹介させてください。

tebiki現場教育の動画マニュアルについて

製造、物流、食品、小売、飲食といった現場では、「人・モノ・機械の動き」が業務ノウハウの中心です。 tebiki現場教育は、伝わりにくい業務のノウハウを動画で可視化し、人材のスキルデータと連携させることで、作業・教育・評価の標準化を実現します。これにより、OJTの効率化、技術継承、品質向上を可能にします。

現場業務において、品質向上が重要であることは言わずもがなですが、品質向上のためにOJTの効率化、技術継承にフォーカスを当てているのが tebiki現場教育です。近年、日本の現場においては、少子高齢化による熟練工の大量退職と人手不足が深刻化しています。OJTの効率化と技術継承は、企業の競争力維持に不可欠な要素であると考えています。

動画マニュアルは、現場の視覚的な手順伝達によりOJT負担を軽減し、均一な教育と技術継承の実現を目指すものです。これにより新人の習熟時間を短縮し、品質安定化を促進します。また、いつでも繰り返し自習でき、多言語対応による外国人労働者への教育にも活用できるため、トレーナーの工数を削減することにもつながります。

tebiki現場教育は、顧客がこれらを達成するためのプロダクトになります。

動画マニュアルにまつわるユーザー体験について

昨今、モバイルデバイスの爆発的な普及を皮切りに、現場においてもインターネットの導入が一般的となりました。これら状況の後押しを受け、動画マニュアルをより効率的に消費できるインフラが整いました。しかし、顧客が現場に動画マニュアルを導入し、活用するに至るまでには、依然として様々なハードルが存在しています。

そもそも、動画を撮影、編集し、わかりやすいコンテンツを作ることは、一般的に難しく、また時間が掛かるのです。それから、インフラが整ったとはいえ、オフィスや自宅のような、安定した高速なインターネット環境を得づらい場合もあります。

動画編集体験のつらみ

近年は、プロフェッショナルなクリエイターでなくとも、個人で動画を配信可能なプラットフォームや編集アプリケーションが多く存在しています。とはいえ、これまで動画編集をやったことがない人が、突然現場で活用可能な動画マニュアルを作成できるでしょうか?

動画マニュアルを作成して公開するまでには、以下のようなハードルが存在しています。

  • そもそも何を撮影すればよいかわからない
  • 動画は撮影したけど動画編集で何をすればよいかわからない
  • 動画の編集に必要以上の時間が掛かっているように思える

恣意的な例ですが、動画マニュアルの作成は、動画編集スキル云々より、なにをどうするのかを決めることがそもそも困難であり、認知負荷の高い仕事になります。

tebikiでは、これらのハードルを突破させることを目的とし、AIを活用することで、既存の手順書から作成すべきマニュアルを提案する機能や、撮影した動画から編集ポイントを提案する機能を提供しています。快適な編集機能も重要ですが、作るものを決めてくれる方が、ハードルが下がりませんか?もちろん、編集のために覚えることが多すぎることも問題となるため、これらの両面からアプローチしています。

残念ながら、これらのトピックは、今回の tebiki Tech Blog で扱うトピックではないため、詳細は割愛します。乞うご期待。

動画視聴体験のつらみ

苦労して編集した動画も、実際に現場で視聴されない限り価値がありません。

現場の視聴環境、視聴者は様々であるが故に、様々な考慮ポイントが存在しています。

  • 突然のネットワーク帯域不足に耐えられるか
  • 任意の再生位置から再生できるか
  • 動画音声や表示テキストを任意のタイミングで別の言語に変更できるか

視聴環境は様々であり、大規模な工場や、中にはネットワーク環境が存在しない現場などがありえます。

また、視聴者が繰り返し自習する場合など、動画マニュアルを開いて即任意の再生位置から再生することが出来ない場合、目的のシーンを再生するまでにしばらく待つ必要があります。些細な問題と思うなかれ、これは積み重なり大きな時間ロスとなり得ます。柔軟な多言語化も重要です。例えば、言語を切り替えると動画再生が最初に巻き戻ってしまうなどは避けなければなりません。

今回の tebiki Tech Blog で扱いたいトピックが、これらを解決するための動画配信についてです。

様々な現場に動画を配信するために

動画マニュアルの視聴者や視聴環境における課題に対し、適切な動画配信を実現するためには、ネットワーク環境が無い現場でも動画を再生できる仕組みと、動画の配信技術が重要となります。tebiki現場教育では、それぞれ PWA と HLS を利用しています。

PWA(Progressive Web Apps)について

PWA(Progressive Web Apps)とは、Webサイトをネイティブアプリのように動作させる技術です。

tebiki現場教育はWebサイトを通じてサービスを提供しています。WebサイトをPWA化してモバイル端末にインストールした場合、Service Worker が必要なリソースを事前にキャッシュし、オフライン状態でも動作させることが可能となります。Service Workerは、Chrome、Firefox、Safari、Edgeなどの現代ブラウザに標準組み込みされたWeb API機能です。

tebiki現場教育では、PWA化したアプリケーションで、一度再生した動画を端末にキャッシュし、オフライン状態で動画再生を可能としています。

こちらについても、今回の tebiki Tech Blog で扱うトピックではないため、詳細は割愛します。

HLS(HTTP Live Streaming)について

今回の tebiki Tech Blog で扱いたいトピックが HLS を利用した動画配信システムとなります。

HLS(HTTP Live Streaming)とは、Appleが開発した動画ストリーミングプロトコルです。HTTPを使って動画を小さなセグメントに分割し配信するプロトコルになります。

例えば、HLSを利用せずMP4ファイルをそのまま配信した場合、再生クライアントは、受信したデータを順にストリーミング再生することが可能です。一方で、任意の再生位置を指定して再生したい場合、その地点よりも前のデータダウンロードが完了している必要があります。

HLSを利用した場合、動画ファイルは小さなセグメントに分割されているため、再生クライアントは、任意の再生位置を含むセグメントファイルをダウンロードし、その地点から順次ストリーミング再生することが可能となります。

また、HLSは、1つの動画ファイルを複数のビットレートでエンコードし、1つのプレイリストとして管理することができます。ビットレートとは、1秒間に処理・転送されるデジタルデータの量を表す指標で、bps(bit per second)単位で示されます。簡単に言えば、ビットレートが高いほど高品質な動画となり、データ容量も増えるという構造です。

これが何を意味しているかというと、視聴者のネットワーク帯域に対して、最適なビットレートでエンコードされたデータを配信できるということです。動画ファイルが小さなセグメントに分割されているため、再生中に動的に異なるビットレートのデータを配信することも可能です。

HLSは、動画の多言語化配信にも役立っています。HLSのプレイリストには、複数の音声トラックを含めることができます。再生クライアントは、動画再生時に任意の音声トラックを選択して再生します。つまり、各言語音声を事前に生成し、言語ごとの音声トラックとしてプレイリストに含めておくことで、再生クライアントは任意の言語音声を再生できるというわけです。

しかし、HLSの再生クライアントの実装についてはひと手間必要だと思いませんか?tebiki現場教育では、ブラウザで HLS を再生するための JavaScript ライブラリである hls.js(Apache License, Version 2.0)を利用しています。

github.com


HLSの概要、およびHLSを利用することで動画視聴時の課題の多くをカバーできることがイメージできたのではないかと思います。

しかし、ユーザーが撮影し編集した動画は、どのように HLS で配信されるまでに至るのでしょうか?次回は、具体的なシステムアーキテクチャーについて紹介させて頂ければと思います。お楽しみに。

Tebikiで働く

Tebiki では、「現場の未来を切り拓く」というミッションのもと、様々な職種の求人を公開しています。

ご興味を持たれた方は、是非お気軽にご連絡ください。

tebiki.co.jp

また、私のこれまでのキャリア変遷や、Tebikiのソフトウェアエンジニア(プリンシパルスペシャリスト)として技術で事業に貢献することなどについて、レバテックLAB様へ寄稿させて頂きました。お時間があればこちらも是非ご覧ください。

https://levtech.jp/media/article/column/detail_712/ https://levtech.jp/media/article/column/detail_757/ https://levtech.jp/media/article/column/detail_763/