미디어 코덱
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Android 10 (API 수준 29) 이상에서는 코덱에 관한 추가 정보를 표시하는 메서드가 MediaCodecInfo
에 있습니다.
isSoftwareOnly()
- 코덱이 소프트웨어에서만 실행되는 경우 true를 반환합니다. 소프트웨어 코덱은 렌더링 성능을 보장하지는 않습니다.
isHardwareAccelerated()
- 코덱이 하드웨어에 의해 가속화되는 경우 true를 반환합니다.
isVendor()
- 코덱이 기기 공급업체에 의해 제공되는 경우 true를 반환하고 Android 플랫폼에 의해 제공되는 경우 false를 반환합니다.
isAlias()
MediaCodecList
에는 대체 코덱 이름 (별칭)을 사용하는 동일한 기본 코덱에 대한 추가 항목이 포함될 수 있습니다. 이 항목의 코덱이 다른 코덱의 별칭인 경우 이 메서드는 true를 반환합니다.
또한 MediaCodec.getCanonicalName()
에서는 별칭을 통해 만든 코덱의 기본 코덱 이름을 반환합니다.
성능 포인트는 특정 높이, 너비 및 프레임 속도로 동영상을 렌더링하는 코덱의 기능을 나타냅니다. 예를 들어 UHD_60
성능 포인트는 60FPS로 렌더링되는 UHD 동영상 (3840x2160픽셀)을 나타냅니다.
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
메서드는 코덱이 렌더링하거나 캡처할 수 있는 PerformancePoint
항목 목록을 반환합니다.
PerformancePoint.covers(PerformancePoint)
를 호출하여 특정 PerformancePoint
에 다른 항목이 포함되는지 확인할 수 있습니다.
예를 들어 UHD_60.covers(UHD_50)
는 true를 반환합니다.
모든 하드웨어 가속 코덱에 대한 성능점 목록이 제공됩니다.
코덱이 최소 표준 성능 포인트를 충족하지 않을 경우 빈 목록이 제공될 수 있습니다.
성능 포인트 데이터는 공급업체 HAL에서 제공되므로 공급업체 이미지를 업데이트하지 않고 Android 10 (API 수준 29) 이상으로 업그레이드한 기기에는 성능 포인트 데이터가 없습니다. 이 경우 getSupportedPerformancePoints()
는 null을 반환합니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-08-21(UTC)
[null,null,["최종 업데이트: 2025-08-21(UTC)"],[],[],null,["# Media codecs\n\nBeginning with Android 10 (API level 29) and higher, there are methods in\n[`MediaCodecInfo`](/reference/android/media/MediaCodecInfo) that\nreveal more information about a codec:\n\n[`isSoftwareOnly()`](/reference/android/media/MediaCodecInfo#isSoftwareOnly)\n: Returns true if the codec runs in software only. Software codecs make no\n guarantees about rendering performance.\n\n[`isHardwareAccelerated()`](/reference/android/media/MediaCodecInfo#isHardwareAccelerated)\n: Returns true if a codec is accelerated by hardware.\n\n[`isVendor()`](/reference/android/media/MediaCodecInfo#isVendor)\n: Returns true if the codec is provided by the device vendor or false if provided\n by the Android platform.\n\n[`isAlias()`](/reference/android/media/MediaCodecInfo#isAlias)\n: `MediaCodecList` may contain additional entries for the same underlying codec\n using an alternate codec name/s (alias/es). This method returns true if the\n codec in this entry is an alias for another codec.\n\nIn addition,\n[`MediaCodec.getCanonicalName()`](/reference/android/media/MediaCodecInfo#getCanonicalName)\nreturns the underlying codec name for codecs created via an alias.\n\n#### Performance Points\n\nA *performance point* represents a codec's ability to render video at a specific\nheight, width and frame rate. For example, the `UHD_60` performance point\nrepresents Ultra High Definition video (3840x2160 pixels) rendered at 60 frames\nper second.\n\nThe method\n[`MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()`](/reference/android/media/MediaCodecInfo.VideoCapabilities#getSupportedPerformancePoints())\nreturns a list of\n[`PerformancePoint`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint)\nentries that the codec can render or capture.\n\nYou can check whether a given `PerformancePoint` covers another by calling\n[`PerformancePoint.covers(PerformancePoint)`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint#covers(android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint)).\nFor example, `UHD_60.covers(UHD_50)` returns true.\n\nA list of performance points is provided for all hardware-accelerated codecs.\nThis could be an empty list if the codec does not meet even the lowest standard\nperformance point.\n\nNote that devices which have been upgraded to Android 10 (API level 29) and higher without\nupdating the vendor image will not have performance point data, because this\ndata comes from the vendor HAL. In this case, `getSupportedPerformancePoints()`\nreturns null."]]