OBS Studioを操作するプログラムを書いてPHPerKaigi 2022のトーク動画をスケジュール配信した

4/9(土)〜4/11(月)にPHPをコアのテーマとした技術カンファレンス、PHPerKaigi 2022を主催しました。

今回は過去開催を通してスポンサー数、参加者数ともに最大になり、また久しぶりのオフライン会場でみなさんが楽しそうにしている様子を見られて主宰としてもとても嬉しい開催でした。

スポンサー、スピーカー、参加者、そしてスタッフのみなさま、ありがとうございました。

この記事では、今回初の試みとしてトーク配信の自動化に挑戦しましたので、その設計や実装についてご紹介します。

続きを読む OBS Studioを操作するプログラムを書いてPHPerKaigi 2022のトーク動画をスケジュール配信した

iOSDC Japan 2021を主催した

去る2021年9月17日(金)〜19日(日)の日程でiOSDC Japan 2021を主催しました。

iOSDC Japanとしては6回目の開催、2020年に引き続いてのオンライン開催となりました。フォーマットとしては「LT以外は事前収録」「LTはZoomでライブ」という形で、2020年と同じ形でした。

iOSDC Japanではだいたい毎年何かしら新しい試みをしているのですがiOSDC Japan 2021では事前収録したトークの呼び込み(タイトルとスピーカー名の読み上げ)動画のナレーションを立木文彦さんにお願いしました。

このナレーションはニコ生でのライブ配信と1ヶ月間のアーカイブでしか聞けなかったのですが、立木文彦さんの声が呼び込みにとてもマッチしていて、編集動画の確認をしている時から「早くこれを参加者のみなさんに聞いて欲しい」とそわそわしていました。

当日の盛り上がりも予想どおりで、お願いしてよかった、またお願いしたい、と思えるものでした。

この呼び込み動画は例によって長谷川が開発運営している fortee の一機能、オンラインカンファレンス向け事前収録システムへの機能追加として実装しました1

実装としてはシンプルで、以下の様な手順で作っています。
1)ナレーション音声ファイルの長さを調べる
2)トークタイトルやスピーカー名が表示されたカバー画像を作成する
3)カバー画像から、ナレーション音声の長さ + 3秒程度のカバー動画を作成する
4)カバー動画にナレーション音声を合成する

これはすべて ffmpeg コマンドで実現可能で、PHPからシェル経由でffmpegコマンドを実行して実現しています。「シェルからffmpeg」という芸はたいへん高機能かつ柔軟で重宝しています。高機能が故にコマンドラインオプションがプログラムみたいになってたいへんですけど!

という訳で、最高のナレーションでスピーカーのみなさまをご紹介できた、というiOSDC Japan 2021の開催報告でした。