Ebitengine Weekly #4 - Pure Goで動画再生!🎦
本編の前に、Ebitengine Weekly について
Ebitengine Weekly では、Ebitengine に関するありとあらゆる話題を収集し、zenn 上で毎週お届けしています。発信場所としては
のような場所を使っていますので、フォローなどしていただけると幸いです。
Topics
examples/videoが公開されました
Ebitengineを使い、Pure Goで動画再生する example が新たに公開されました。上記ポストでは割愛されていますがちゃんと音も鳴ります。手元で試す場合は go run github.com/hajimehoshi/ebiten/v2/examples/video@main
コマンドを叩けばOKです。
これの何が嬉しいかというと、
- Pure Go なので、Cなどの依存ライブラリの管理の手間がなく、簡単に導入できる。
- Pure Go なので、どのプラットフォームでも動くことが保証される。
- 動画ファイルのembedなど、Goの機能がそのまま普通に使える。
-
*ebiten.Image
を経由しているので、お馴染みの移動・回転や、変形、ブレンド、シェーダーなど思いのまま。
などが挙げられます。一方でまだ制約もあり、
- 対応フォーマットがMPEG-1のみ(ffmpegコマンドで
ffmpeg -i YOUR_VIDEO -c:v mpeg1video -q:v 8 -c:a mp2 -format mpeg -ar 48000 output.mpg
とすれば変換可能。DaVinci Resolve とかでも良い) - MPEG-1なので、今どきの動画フォーマットよりもファイルサイズが増えてしまう(倍くらい?)
- examples/videoに含まれる mpegplayer.go の内容をコピペして持ってこないと負荷が高め
- 依存している https://github.com/gen2brain/mpeg にはシークすると再生位置がおかしくなる問題があるらしい
といった点に気をつける必要はあります。とはいえ、短めの動画をゲームの演出に利用するなどの用途であれば、Pure Goであるメリットを優先して導入してみるのも面白いと思います。
ロイヤリティフリーでより新しいWebM形式への対応も前向きに検討中とのことで、気になる方はEbitengine Discord Serverへどうぞ!
v2.7.1 がリリースされました
Linuxのi3wmにおける問題と、text/v2の問題の修正を含む v2.7.1 がリリースされました。
i3wmの方は、先週ご紹介したデスクトップマスコット Neko の方が発見したものです。text/v2 の方は私が書いた text/v2 の記事を書いている間に見つけました。
ブラウザでマインスイーパー! ebiten-mines が公開されました
「あの」マインスイーパーがここからブラウザで遊べます。
ソースコードはこちらです。盤面のサイズを変えたり自分で改造してみるのも面白そうです。
文字ごとの画像をフォント化するツール bitfontier が公開されました
SteamでゲームRobodenをリリースするなど精力的に活動されている quasilyte 氏による、文字ごとの画像をEbitengineで使えるフォントにするツール bitfontier がリリースされました。具体的には、各文字の画像をバラバラな画像ファイルとして一定のルールの元に配置することで、それらをまとめつつEbitengineで簡単に利用するためのコードを生成してくれるものです。
また、このツールで実際に作成されたフォントが以下です。サイバーな感じでいいですね。文字画像ファイルの配置方法の参考にもなると思います。
最近 text/v2 もリリースされたことですし、使ってみてはいかがでしょうか。
leap-fish/viewlib が公開されました
先週 leap-fish/necs というネットワーク上でオブジェクトを同期するためのライブラリをご紹介しましたが、今週はレイヤーとカメラを簡単に扱うための leap-fish/viewlib が公開されました。以前からある ebiten-camera の改変版とのことです。
来週の Ebitengine Weekly もお楽しみに!
最新情報や過去の記事はこちらからチェックいただけますので、ぜひフォローなどしてください🙏
Discussion