Skip to content

Releases: shiguredo/momo

2025.1.0

04 Sep 02:55
ea975a4
Compare
Choose a tag to compare

2025.1.0

リリース日: 2025-09-04

  • [CHANGE] リリースパッケージのディレクトリを展開した際 momo-<version>_<platform> となるように変更する
  • [CHANGE] VERSION ファイルから依存ライブラリ情報を DEPS ファイルに分離する
    • VERSION ファイルには momo のバージョンのみを記載するように変更
    • 依存ライブラリのバージョン情報は新たに作成した DEPS ファイルで管理
    • @voluntas
  • [CHANGE] run.py のビルドコマンドを build サブコマンドに変更
    • 従来の python3 run.py <platform> によるビルドを python3 run.py build <platform> に変更
    • @voluntas
  • [CHANGE] Sora mode の type: connect から multistream 項目を削除
    • Sora が multistream 項目を廃止したため削除
    • @voluntas
  • [CHANGE] SDL2 から SDL3 へ移行
    • SDL を 2.30.8 から 3.2.18 に上げる
    • SDL3 の API 変更に伴い、以下の修正を実施:
      • ヘッダーインクルードを <SDL.h> から <SDL3/SDL.h> に変更
      • SDL_main.h の明示的なインクルードを追加
      • SDL_Init の戻り値チェックを bool 型に変更
      • SDL_CreateWindow の位置引数を削除
      • SDL_RENDERER_ACCELERATED フラグを削除
      • SDL_SetWindowFullscreen の引数を bool 型に変更
      • SDL_ShowCursor / SDL_HideCursor を分離された関数に変更
      • イベント名を SDL3 形式に変更(例: SDL_WINDOWEVENTSDL_EVENT_WINDOW_RESIZED
      • キーコードを大文字に変更(例: SDLK_fSDLK_F
      • SDL_KeyboardEventkeysym.symkey に変更
      • SDL_RenderCopySDL_RenderTexture に変更
      • SDL_RectSDL_FRect に変更(座標を float 型に)
      • SDL_CreateRGBSurfaceFromSDL_CreateSurfaceFrom に変更
      • SDL_FreeSurfaceSDL_DestroySurface に変更
    • ビルド設定の修正:
      • Windows: Game Input API を無効化し、静的ランタイムライブラリ(/MT)を使用
      • Linux クロスコンパイル: X11/Wayland チェックをスキップするため SDL_UNIX_CONSOLE_BUILD=ON を追加
    • @voluntas
  • [CHANGE] YUY2 は V4L2 で NV12 に変換するようにする
  • [CHANGE] test モードを p2p モードに名前変更
    • コマンドラインオプションを test から p2p に変更
    • HTML ファイル名を test.html から p2p.html に変更
    • ドキュメントファイル名を USE_TEST.md から USE_P2P.md に変更
    • @voluntas
  • [UPDATE] blend2d のダウンロード先を時雨堂ミラーに変更し SHA256 ハッシュチェックを追加
  • [UPDATE] V4L2 ビデオキャプチャの探索方法を改善
    • /sys/class/video4linux 経由で全ビデオデバイスを探索するように変更
    • /dev/video64 以降の番号のデバイスにも対応
    • フォーマットをサポートするデバイスのみを使用するようにフィルタリング
    • デバイスの数値順ソート処理を追加
    • @voluntas
  • [CHANGE] --force-i420 オプションの挙動を変更
    • I420 が利用できない場合はフォールバックせずエラーで停止する
    • @melpon @voluntas
  • [UPDATE] フレームレートの最大値を 60fps から 120fps に引き上げる
    • 高フレームレートカメラのサポートを改善
    • @voluntas
  • [UPDATE] WebRTC を m138.7204.0.4 に上げる
    • アップデートに伴い、nvcodec_video_encoder.cpp に video_frame.h のインクルードを追加
    • jetson_video_encoder と nvcodec_video_encoder、vpl_video_encoder の frame.timestamp()frame.rtp_timestamp() に変更
    • rtc:: 名前空間と cricket:: 名前空間を webrtc:: 名前空間に統一する
    • absl::optionalstd::optional に変更
    • main.cpp に <thread> のインクルードを追加
    • webrtc::SleepMs()webrtc::Thread::SleepMs() に変更
    • <rtc_base/third_party/base64/base64.h><rtc_base/base64.h> に変更し、webrtc::Base64::Encode()webrtc::Base64Encode() に変更
    • <api/audio/builtin_audio_processing_builder.h> のインクルードを追加し、dependencies.audio_processingdependencies.audio_processing_builder に変更し、生成方法も webrtc::AudioProcessingBuilder().Create() から std::make_unique<webrtc::BuiltinAudioProcessingBuilder>() に変更
    • dependencies.task_queue_factory は deprecated なので削除し、、代わりに env を利用する
    • 利用する clang のバージョンを 18 から 20 に上げる
    • Windows 版では D3D11.lib をリンクする
    • webrtc::SdpVideoFormat::Parameters は deprecated なので webrtc::CodecParameterMap を利用する
    • webrtc::MediaType::MEDIA_TYPE_VIDEO は deprecated なので webrtc::MediaType::VIDEO を利用する
    • @torikizi, @melpon
  • [UPDATE] CMake を 4.1.0 に上げる
  • [UPDATE] OpenH264 を 2.6.0 に上げる
  • [UPDATE] CLI11 を 2.5.0 に上げる
  • [UPDATE] Boost を 1.89.0 に上げる
    • buildbase.py に SHA256 ハッシュチェック機能を追加
    • @voluntas
  • [UPDATE] NVIDIA VIDEO CODEC SDK を 13.0 に上げる
  • [ADD] --fake-capture-device オプションを追加する
    • Blend2D を使用したフェイクビデオキャプチャーデバイス機能を追加
    • デジタル時計、アニメーション、7 セグメントディスプレイを表示
    • ビデオと同期したビープ音を生成するフェイクオーディオデバイスも追加
    • macOS と Ubuntu x86_64 プラットフォームのみ対応
    • @voluntas
  • [ADD] run.py に format サブコマンドを追加
    • python3 run.py format で clang-format を実行可能に
    • @voluntas
  • [ADD] run.py の引数に --disable-cuda を追加
  • [ADD] libcamera のコントロール機能を追加
    • --libcamera-control オプションで key value 形式でコントロールを指定可能
    • AfMode, AfRange, AfSpeed などの enum 型コントロールに対応
    • 文字列ベースでコントロールを設定できる API を実装
    • @voluntas
  • [ADD] Ayame モードに --direction オプションを追加
    • sendrecv(デフォルト)、sendonlyrecvonly の 3 種類の送受信方向を指定可能
    • WebRTC の RTCRtpTransceiver の direction プロパティを制御
    • 配信用途や視聴用途での利用を想定
    • @voluntas
  • [ADD] ayame モードに映像・音声コーデックを指定するオプションを追加
    • --video-codec-type オプションで VP8, VP9, AV1, H264, H265 から選択可能
    • --audio-codec-type オプションで OPUS, PCMU, PCMA から選択可能
  • [ADD] Intel VPL エンコーダーのキーフレーム間隔設定を追加
    • GopPicSize にフレームレート × 20 を設定し、20 秒間隔でキーフレームを生成
    • IdrInterval を 0 に設定し、すべての I フレームを IDR フレームにする
    • 例: 120fps の場合は 2400 フレームごとにキーフレームが生成される
    • @voluntas
  • [ADD] --force-nv12 オプションを追加
    • V4L2 キャプチャーで NV12 フォーマットの使用を強制
    • NV12 が利用できない場合はエラーで停止
    • NV12 フォーマットは変換せずそのまま使用
    • @voluntas
  • [ADD] --force-yuy2 オプションを追加
    • V4L2 キャプチャーで YUY2 フォーマットの使用を強制
    • YUY2 が利用できない場合はエラーで停止
    • @melpon @voluntas
  • [ADD] V4L2 ビデオキャプチャデバイスの一覧を取得する EnumV4L2CaptureDevices() 関数を追加
    • FormatV4L2Devices() にこのデバイス一覧を渡すと出力可能な文字列にできる
    • @melpon
  • [ADD] Linux 環境で --list-devices オプションを追加
    • 利用可能なビデオデバイスの一覧を表示する機能
    • カメラごとにグループ化して表示
    • 各デバイスのサポートフォーマット、解像度、フレームレートを詳細表示
    • @voluntas
  • [FIX] macOS ビルド時の SDL3 ライブラリのバージョン不一致警告を修正
    • SDL3 ビルド時に CMAKE_OSX_DEPLOYMENT_TARGET を WebRTC と同じ値に設定
    • SDL3 が macOS 15.0 でビルドされ、Momo が macOS 12.0 をターゲットにしていたことによる警告を解消
    • @voluntas
  • [FIX] Intel VPL の VP9 エンコーダーでキーフレーム要求が機能しない問題を修正
    • VP9 では MFX_FRAMETYPE_I のみを設定するように修正
    • MFX_FRAMETYPE_REFMFX_FRAMETYPE_IDR を同時に設定すると vpl-gpu-rt の CheckAndFixCtrl で MFX_FRAMETYPE_P に変更されてしまうため
    • @voluntas
  • [FIX] Intel VPL の AV1 エンコーダーで Dependency Descriptor RTP ヘッダー拡張が出ない問題を修正
    • AMD AMF と NVIDIA Video Codec SDK では既に実装されていた AV1 用の SVC コントローラーを Intel VPL にも追加
    • これにより、Intel VPL でも AV1 エンコード時に RTP パケットに適切な依存関係情報が含まれるようになる
    • @voluntas

misc

  • [ADD] Intel VPL を使った E2E テストジョブを追加
    • GitHub Actions で self-hosted runner を使用して Intel VPL エンコーダーをテストする仕組みを追加
    • test_sora_mode_intel_vpl.py テストファイルを追加
    • @voluntas
  • [UPDATE] GitHub Actions の ubuntu-latest を ubuntu-22.04 に変更する
    • ubuntu-24.04 には意図的に上げていない
    • @voluntas
  • [UPDATE] actions/download-artifact と actions/checkout をアップデートする

2025.1.0-canary.15

02 Sep 01:10
fa141a0
Compare
Choose a tag to compare
2025.1.0-canary.15 Pre-release
Pre-release
[canary] Update VERSION to 2025.1.0-canary.15

2025.1.0-canary.14

01 Sep 14:26
aa13478
Compare
Choose a tag to compare
2025.1.0-canary.14 Pre-release
Pre-release
[canary] Update VERSION to 2025.1.0-canary.14

2025.1.0-canary.13

29 Aug 07:54
146b324
Compare
Choose a tag to compare
2025.1.0-canary.13 Pre-release
Pre-release
[canary] Update VERSION to 2025.1.0-canary.13

2025.1.0-canary.12

27 Aug 02:48
bef6a9a
Compare
Choose a tag to compare
2025.1.0-canary.12 Pre-release
Pre-release
[canary] Update VERSION to 2025.1.0-canary.12

2024.1.4

27 Aug 03:52
0461f1f
Compare
Choose a tag to compare

2024.1.4

リリース日: 2025-08-27

  • [FIX] バージョン番号修正ミス

2024.1.3

リリース日: 2025-08-27

  • [FIX] Sora の network.status notify イベントの処理を削除
    • Sora の network.status が新しい仕組みに変更され unstable_level が廃止されたため削除
    • @voluntas

2024.1.3

27 Aug 02:47
cf9baba
Compare
Choose a tag to compare

2024.1.4 をお使いください。

2024.1.3

リリース日: 2025-08-27

  • [FIX] Sora の network.status notify イベントの処理を削除
    • Sora の network.status が新しい仕組みに変更され unstable_level が廃止されたため削除
    • @voluntas

2025.1.0-canary.11

26 Aug 10:36
bd7d049
Compare
Choose a tag to compare
2025.1.0-canary.11 Pre-release
Pre-release
[canary] Update VERSION to 2025.1.0-canary.11

2025.1.0-canary.9

25 Aug 09:22
d5d5ce6
Compare
Choose a tag to compare
2025.1.0-canary.9 Pre-release
Pre-release
[canary] Update VERSION to 2025.1.0-canary.9

2025.1.0-canary.8

22 Aug 07:30
c96c318
Compare
Choose a tag to compare
2025.1.0-canary.8 Pre-release
Pre-release
[canary] Update VERSION to 2025.1.0-canary.8