【Platon】動画教材が開くまでのスピード問題を解決!鍵となるHLS形式についてご紹介します

こんにちは、ロゴスウェア カスタマーサポート担当の伊沢です。

弊社では、お客様からいただいた製品に関するご意見やご要望を解決すべく、定期的に製品のバージョンアップを行っています。

今回はその中でも、8月に実施されたPlatonお手軽スタートパックのバージョンアップ(ver.1.11.2)によって解決できるようになった「MP4動画の教材を開くのに時間がかかる」という問題の解消方法についてご紹介します。

何が問題だったのか

Platonをご利用のお客様から、「MP4動画の教材を開く際、再生ボタンが表示されるまでに時間がかかる」というフィードバックを多くいただいていました。

これは、MP4形式の「動画を再生する際は一度に全体を読み込む必要があり、特に長時間の動画やファイルサイズが大きい場合に表示に時間がかかる」という仕様によって発生していた問題でした。

今まではPlatonに動画ファイルの教材を登録しようとすると、MP4形式しか対応していなかったため、この問題は回避できなかったのですが、ver.1.11.2よりHLS形式の動画も教材として登録可能となり、解決できるようになりました。

HLS形式とは?

HLS(HTTP Live Streaming)は、動画をチャンクという複数の小さなファイルに分割して順に配信する形式です。
これにより、必要な部分から順次読み込みを行うため、教材を開いてから再生ボタンが表示されるまでの時間が大幅に短縮されます。

アップデートの内容

Platonのver.1.11.2よりHLS形式の動画も教材として登録できるようになりました。

既に公開しているMP4形式の動画教材は、動画の形式をHLS形式に変換してから教材を差し替えることで、動画再生までの時間を短縮することができます。

MP4動画をHLS形式にする方法はいくつかありますが、本記事ではFFmpegという無料のオープンソースツールを使用する例をご紹介します。以下をご参照ください。

MP4動画をHLS形式に変換する方法

ステップ 1: FFmpegのインストール

まず、FFmpegをインストールします。
※インストール手順はOSにより異なるため、公式サイトから各OSに対応したインストーラーをダウンロードし、指示に従ってインストールしてください。

なお、上記の公式サイトからインストールする方法はPATHの設定を行う必要があります。
以下の手順ですと、wingetというパッケージマネージャーを使用することで、PATHの設定不要でFFmpegを簡単にインストールできます。

▼PATHの設定不要でFFmpegをインストールする手順

①まずPCにwingetが既にインストールされているかどうかを確認します。
コマンドプロンプトを起動し、次のコマンドを入力してEnterで実行してください。

winget -v

もしwingetがインストールされていれば、wingetのバージョン番号が表示されます。
エラーが出た場合はまだインストールされていないので、Microsoft Store からアプリインストーラーをダウンロードし、インストールしてください。

②wingetが利用可能になったら、FFmpegをインストールします。
コマンドプロンプトで次のコマンドを実行してください。

winget install ffmpeg

コマンド実行後に特にエラーが表示されなければインストールは成功しています。

③インストール後、FFmpegが正しくインストールされたかを確認します。
コマンドプロンプトで以下のコマンドを実行します。

ffmpeg -version

以下のようにインストールされたFFmpegのバージョン情報が表示されれば、インストールは成功しています。

※上記のコマンドを実行してもFFmpegのバージョンが表示されない場合は、PCの再起動をお試しください。

ステップ 2:変換したいMP4を参照先に移動

変換コマンドを実行する際は、変換したいMP4がFFmpegの参照先に存在していなければいけません。
MP4を参照させるには以下のような方法がありますが、本記事では1)の手順で説明します:

1)コマンドプロンプトの現在位置にMP4を配置する方法
2)FFmpegのコマンドでMP4が保存されている場所を指定する方法

以下の画像の場合は、参照先は「C:\Users\<ユーザー名>」であることが分かります。

その為、変換したいMP4ファイルも予め「C:\Users\<ユーザー名>」のフォルダに移動させます。

ステップ 3: 変換コマンドの実行

次に、以下のコマンドを実行してMP4動画をHLS形式に変換します。
※コード内の変換したいMP4動画ファイル名などは適宜変更してください。

ffmpeg -i video.mp4 -c:v copy -c:a copy -f hls -hls_time 9 -hls_playlist_type vod -hls_segment_filename “video%3d.ts” video.m3u8

  • video.mp4:変換したい元のMP4動画ファイル名
  • -hls_time 9:各チャンクの長さを秒単位で指定(ここでは9秒)
  • video%3d:各チャンクの名称を指定(%3dは3桁の連番。ここでは、video001.ts、video002.ts、…のように、-hls_timeで指定した秒数で分割されたファイルが作成されます)

変換コマンドを実行すると参照先のフォルダ内にHLS形式に変換され分割された動画ファイル(tsファイル)と再生順序などを定義するテキストファイル(m3u8ファイル)が作成されます。
これでHLS形式への変換は完了です!

Platonにアップロードする際は、zipファイルである必要があるため、出来上がったファイルはまとめてzipファイルに圧縮しましょう。

5. 最後に

いかがでしたでしょうか。
MP4をHLSに変換する手順は少し複雑ですので、弊社では現在、MP4をHLS形式に自動で変換する補助アプリの準備を進めています。

今後も皆様のご意見をもとに、製品の改善に努めてまいります。
何かお困りごとや操作で不便に感じている点などございましたら、ご意見をいただけますと幸いです。