見出し画像

⑩M3U8生成WebAPIの動作確認(Python/AWS Lambda)

前回の記事はこちら


はじめに

前回作成したLambda関数を実際に動かして動作を確認してみます。

動画配信の構成

動作確認を行う前に、クラウドレコーダを5分程動かして、MPEG2-TSファイルをアップロードしておいてください。

また、その録画時刻もメモしておいてください。

Lambda関数の実行

前章で作成したLambda関数は、関数URLを作成している為、通常のウェブブラウザからアクセス可能になっています。

試しに、作成された関数URLにブラウザでアクセスしてみてください。

以下のように「bad request」が返却されると思います。

{"message":"bad request"}

この関数では、/m3u8 パスに、再生開始時間(start_datetime)と再生時間(duration)の2つの引数を付けてHTTP GETアクセスすることで、指定した区間の再生を行うためのM3U8ファイルの内容を返却するように実装されています。

  • start_datetime

    • 再生を開始する動画の録画開始時間を協定世界時(UTC)で指定

    • 書式はYYYYMMDDHHMMSSの形式

  • duration

    • 再生する動画の再生時間(秒)

引数は、HHTPのQueryStringとして指定しますので、アクセスするURLの書式は以下のようになります。

指定する録画開始日時は協定世界時(UTC)ですので、注意してください。

今度は以下のようなURLでアクセスしてみてください。

https://5c2h7ixxxxxjfozx.lambda-url.ap-northeast-1.on.aws/m3u8?start_datetime=20230630173400&duration=120

指定した時間のMPEG2-TSファイルが存在する場合は、m3u8ファイルがダウンロード(ブラウザによっては表示)されます。

ちなみに、指定した時間に録画したMPEG2-TSファイルが存在しない場合は、以下のような返却になります。

{"message":"There is no movie!"}

VLC Media Playerで再生確認

Lambda関数が正しく動いていることが確認出来たら、今度は実際にHLSとして再生させてみます。

再生プレイヤーには、HLSの再生に対応している、VLC Media Playerを使用します。

ダウンロードしてインストールしたら、VLC Media Playerを起動、
「メディア」-「ネットワークストリームを開く」を選択して、ネットワークURの入力欄に、M3U8を返却するLambda関数のURLを入力してください

https://5c2h7ixxxxxjfozx.lambda-url.ap-northeast-1.on.aws/m3u8?start_datetime=20230630173400&duration=120


VLC Media PlayerでURLを入力

再生を押して正常に動画が再生されれば、完成です!

これで、VLC Playerでの再生は可能になりましたが、毎回アプリを起動し、URLを入力して再生するのは大変です。

そこで、以降の記事では、ブラウザ上で録画した動画を再生できるようにしていきます。

次の記事


この記事が気に入ったらサポートをしてみませんか?