Skip to content

Conversation

@hukurou0
Copy link
Contributor

@hukurou0 hukurou0 commented Jun 6, 2024

背景

SDKのrequirements.txtの依存ライブラリの範囲拡張を行った際、ライブラリのアップデートにより、SDK内のビデオコーデックの判定ロジックの出力が変わっていたことが判明しました。
OpenCVのアップデートにより、前までコーデックがavc1と判定されていた動画がh264と判定されるようになっています。
これにより、SDK内の一部関数に不具合が生じておりその対応。

変更根拠

avc1とh264は技術的に同じもので標準化団体の呼び方として違いがあるようです。よって新しいバージョンでh264と判定される動画は古いバージョンでavc1と判定される動画と一致すると考えて良さそうです。
これが正しいか、OpenCVのアップデート履歴から調べようとしましたが、情報が見つからなかったため以下の検証をしています。

  1. Open CVのライブラリのバージョンの新旧でビデオコーデックの判定結果が旧:avc1、新:h264となることを以下の動画において確認
    ・フリー動画mp4(サイトA)
    ・フリー動画mp4(サイトB)
    ・動画編集ソフト(Filmora)で出力したmp4
    ・ipnoneで撮影したmov

  2. 変更したSDKを用いてh264と判定される動画をローカル環境に取り込み、以下の操作ができることを確認
    ・タスクの取り込み
    ・アノテーション画面における動画再生
    ・アノテーションの実施、保存

@hukurou0 hukurou0 requested a review from Akkiy3314 June 6, 2024 06:47
@hukurou0 hukurou0 self-assigned this Jun 6, 2024
@Akkiy3314
Copy link
Contributor

@hukurou0

raise FastLabelInvalidException(
                "Supported video encoding for registration through the SDK is only H.264.",
                422,
            )

ここに、avc1についても可能なことを記載しておきたいです。

@hukurou0
Copy link
Contributor Author

@hukurou0

raise FastLabelInvalidException(
                "Supported video encoding for registration through the SDK is only H.264.",
                422,
            )

ここに、avc1についても可能なことを記載しておきたいです。

今回のコーデック判定が変わる問題の前までは、以下の動作になっていたのですがエラーメッセージ変更してしまって良さそうですか?

動作:h264の動画は判定ロジックでavc1となるので、support_forccでavc1としておき対応非対応を判定していた。
理由:avc1とh264は同じものでありどちらと判定されるかはライブラリの実装によって異なる

@hukurou0
Copy link
Contributor Author

こちらエラーメッセージの修正しました!

Akkiy3314

This comment was marked as off-topic.

@Akkiy3314
Copy link
Contributor

Akkiy3314 commented Jun 11, 2024

[Memo]
h.264以外にもMPEG-4 AVC/H.264 と併用して表記したりすることが多いそう。
https://ja.wikipedia.org/wiki/H.264

そのため、エンコード名がAVC1だったりH.264だったりするので、どちらの表記も対応してますという意味でメッセージを「AVC/H.264」に更新

@takahiro-tamenishi takahiro-tamenishi merged commit 723e2a2 into main Jun 11, 2024
@takahiro-tamenishi takahiro-tamenishi deleted the fix-support-codec branch June 11, 2024 07:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants