# H.264 を利用する

Sora Unity SDK ではソフトウェアでの H.264 エンコード/デコードの利用はできません。
これは H.264 のソフトウェアエンコーダー/デコーダーを含んで配布した場合はライセンス費用が発生することから、
無効にしているためです。

ハードウェアで H.264 エンコーダー/デコーダーが使える場合は、利用するエンコーダー/デコーダーを指定することで利用することができます。
詳細は [エンコーダー / デコーダーの指定](functions_hardware_acceleration.html) を参照してください。

> **注意**
>
> AMD AMF はドライバーが不安定なため、現在非推奨です。

- Windows 版では以下のいずれかのハードウェアアクセラレーターがインストールされていれば、H.264 エンコーダー/デコーダーを利用できます。- [NVIDIA Video Codec SDK](https://developer.nvidia.com/video-codec-sdk)
  - [Intel VPL](https://github.com/intel/libvpl)
  - [AMD AMF](https://github.com/GPUOpen-LibrariesAndSDKs/AMF)
- macOS, iOS 版では [VideoToolbox](https://developer.apple.com/documentation/videotoolbox) を利用します。
- Android 版では [MediaCodec](https://developer.android.com/reference/android/media/MediaCodec) で H.264 が利用可能であれば利用します。
- Linux 版では以下のいずれかのハードウェアアクセラレーターがインストールされていれば、H.264 エンコーダー/デコーダーを利用できます。- [NVIDIA Video Codec SDK](https://developer.nvidia.com/video-codec-sdk)
  - [Intel VPL](https://github.com/intel/libvpl)
  - [AMD AMF](https://github.com/GPUOpen-LibrariesAndSDKs/AMF)

## H.264 が利用可能かどうかを調べる

`Sora.GetVideoCodecCapability()` 関数を呼び出すことで、利用可能なハードウェアエンコーダー/デコーダーの情報を取得できます。
詳細は [エンコーダー / デコーダーの指定](functions_hardware_acceleration.html) を参照してください。
