Version: 2023.2
언어: 한국어
동영상 소스
Video Player 컴포넌트로 시간 관리

비디오 파일 호환성

다양한 비디오 파일 포맷을 Unity로 임포트할 수 있습니다. Unity는 임포트한 비디오 파일을 VideoClip 에셋으로 저장합니다.

Unity가 아무런 문제 없이 비디오 파일을 미리볼 수 있으려면 파일은 Unity 에디터를 실행하는 플랫폼과 호환되어야 합니다. 또한 파일은 타겟 빌드 플랫폼과도 호환되어야 합니다. Unity는 파일을 공통으로 지원되는 포맷으로 변환할 수 있도록 여러 옵션을 제공하지만, 호환성을 직접 관리할 수도 있습니다. 자세한 내용은 아래의 타겟 플랫폼과의 호환성을 참조하십시오.

에디터 플랫폼과의 호환성

비디오 소스 파일은 에디터 플랫폼이 지원하는 포맷을 사용해야 합니다. 각 플랫폼은 다양한 비디오 파일 포맷을 지원합니다.

확장자 Windows macOS Linux
.asf
.avi
.dv
.m4v
.mov
.mp4
.mpg
.mpeg
.ogv
.vp8
.webm
.wmv

비디오 파일 트랙의 인코딩은 지원되는 코덱을 사용해야 합니다. 각 플랫폼은 플랫폼의 각 버전에 따라 변경될 수 있는 특정 코덱을 지원합니다.

미지원 코덱을 사용하는 비디오 파일은 에디터에 오류 메시지가 표시되며, 호환 코덱으로 전환해야 사용할 수 있습니다.

H.264는 대부분의 플랫폼에서 지원되는 최적의 비디오 코덱입니다. 최고의 크로스 플랫폼 호환성을 제공하지만, Linux 에디터는 이 코덱을 지원하지 않습니다.

Linux의 경우 최적의 인코딩은 다음 코덱이 포함된 .webm 컨테이너입니다.

  • 비디오 트랙의 경우 VP8
  • 오디오의 경우 Vorbis

코덱 지원에 대한 정보는 에디터의 공식 플랫폼 문서를 참조하세요. Windows 및 macOS용 코덱 호환성은 아래 링크에서 확인하시기 바랍니다.

비디오 클립 임포터

비디오 클립 임포터를 이용하면 Unity로 임포트하는 비디오 파일을 변환할 수 있습니다. 이는 비디오가 에디터 플랫폼에서 지원하는 코덱을 사용하지만 파일이 타겟 플랫폼과 호환되지 않는 경우에 유용합니다.

에디터에서 지원되지 않는 비디오 파일 사용

타겟 플랫폼과는 호환되지만 에디터 플랫폼과는 그렇지 않은 비디오 파일을 사용하려면 스트리밍 에셋으로 설정하십시오. 예를 들어 에디터가 VP8만 지원하더라도 Android 빌드에 대해서는 VP9 코덱을 사용해야 합니다.

비디오 파일을 스트리밍 에셋으로 설정하려면 프로젝트의 StreamingAssets 폴더에 비디오 파일을 배치하십시오. URL 프로퍼티를 사용하여 Video Player 컴포넌트가 스트리밍 에셋을 가리키도록 해야 합니다.

또한 Application.streamingAssetsPath를 사용하면 스크립트를 통해 스트리밍 에셋에 대한 플랫폼별 경로에 액세스할 수 있습니다. 에디터에서 이러한 경로는 미리볼 수 없습니다.

에디터와 호환되는 플레이스홀더 버전이 있지만 타겟 플랫폼에 대해 다른 버전을 사용하고 싶다면 프로젝트에 두 버전을 모두 포함하고, 에디터와 호환되는 버전을 플레이스홀더로 사용하고, 런타임 시점에 사용할 버전을 결정할 수 있습니다.

아래 예제에서는 플랫폼별로 다양한 비디오 URL을 사용하는 방법을 보여줍니다. 자세한 내용은 플랫폼 기반 컴파일 문서를 참조하십시오.

void SetupMovieFile(VideoPlayer vp)
{
# if UNITY_EDITOR || UNITY_LINUX
vp.url = pathToMyVp8File;
# elif UNITY_ANDROID
vp.url = pathToMyVp9File;
# elif UNITY_STANDALONE_WIN
vp.url = pathToMyWmvFile;
# else
vp.url = pathToMyMp4File;
# endif
}

타겟 플랫폼과의 호환성

Video Player 컴포넌트는 에디터 플랫폼의 기본 오디오 및 비디오 디코딩 라이브러리를 사용하여 에디터의 비디오 파일을 재생합니다. 파일이 타겟 플랫폼의 요구 사항도 충족하는지 확인해야 합니다.

인코딩 권장 사항

  • 하드웨어 가속을 위해 지원되는 최고의 네이티브 방식 비디오 코덱은 H.264입니다.

  • 크로스 플랫폼 지원에 대한 우선순위가 높다면 VP8을 사용하는 것이 좋습니다. 이 코덱은 널리 지원되고 포괄적인 기능을 포함하고 있지만, H.264 같은 하드웨어 가속 코덱보다 리소스를 더 많이 소모합니다.

  • H.265는 지원되는 기기에서만 사용할 수 있습니다. 자세한 내용은 아래의 H.265 호환성을 참조하십시오.

  • Android는 네이티브 라이브러리를 사용하여 VP8을 지원합니다. 따라서 VP8은 일부 Android 기기에서 하드웨어 지원을 받을 수도 있습니다.

  • Unity 에디터는 .ogv 포맷을 지원하지만, 다른 플랫폼에서는 일반적으로 지원되지 않습니다. 타겟 플랫폼에 따라 .ogv 파일을 .mp4(H.264) 또는 .webm(VP8)으로 변환하십시오.

주요 인코딩 값

아래 표에는 인코딩 파라미터에서 눈여겨봐야 할 키 값이 나열되어 있습니다.

파라미터 설명
Video Codec H.264, H.265 또는 VP8.
Resolution 디스플레이의 해상도입니다. 예: 1280 × 720
Profile 프로파일은 기능 및 제약의 집합으로, 대개 Baseline, Main 등과 같은 공급업체에서 지정합니다. H.264/H.265에 적용됩니다. H.264 또는 H.265를 참조하십시오.
Profile Level H.264/H.265에 적용됩니다. 특정 프로파일 내에서 레벨은 성능 요구 사항(예: Baseline 3.1)을 지정합니다.
Audio Codec AAC (H.264/H.265를 사용하는 mp4 비디오의 경우) 또는 Vorbis(VP8를 사용하는 webm 비디오의 경우).
Audio Channels 플랫폼에 따라 다릅니다. 플랫폼의 개발자 가이드를 참조하십시오. 예를 들어 Android의 경우 지원되는 미디어 포맷 문서입니다.

비디오 클립 변환

비디오 클립 임포터는 비디오 클립 에셋을 다음 비디오 코덱 중 하나로 변환하기 위한 옵션을 제공합니다.

변환된 비디오 클립은 자동으로 적절한 오디오 코덱을 사용합니다.

  • H.264 또는 H.265를 사용하여 인코딩된 AAC 비디오
  • VP8을 사용하여 인코딩된 비디오용 Vorbis

참고: 비디오 클립 임포터는 기본적인 트랜스코딩 옵션만 제공합니다. 소스 파일의 인코딩 방식에 따라, 임포터 옵션으로 트랜스코딩한 클립에서 최적의 성능을 얻지 못할 수 있습니다. 이 경우 외부 트랜스코딩 프로그램을 사용하면 더 나은 결과를 얻을 수 있습니다.

외부 변환 프로그램을 사용하여 비디오 클립 인코딩

타겟 시스템에서 확실히 지원하는 비디오를 사용하는 경우 비디오 클립 임포터의 변환 옵션을 비활성화된 상태로 유지할 수 있습니다. 비활성화하면 Unity가 파일을 수정하지 않습니다. 세부 조정이 가능한 외부 프로그램을 사용하여 인코딩을 관리할 수도 있습니다.

호환성 참고사항

이 섹션에서는 비디오 호환성에 대한 유용한 정보와 외부 리소스 링크를 제공합니다.

미디어 지원에 대한 공급업체 권장 사항

코덱 지원에 대한 공급업체 권장 사항을 따르십시오. 오래된 모바일 플랫폼에서는 코덱 선택에 제약이 있습니다. 따라서 여러 기기에서 실행되는 게임에 포함할 비디오는 검사하고 전환 및 재인코딩해야 할 수 있습니다.

H.265 호환성

아래 표에는 플랫폼별 요구 사항과 H.265 코덱에 대한 정보가 나와 있습니다.

플랫폼 요구 사항 인코딩/디코딩 참고
macOS SDK 10.13+ 하드웨어 인코딩: 6세대 Intel Core 프로세서

소프트웨어 인코딩: 모든 Mac

하드웨어 디코딩: 6세대 Intel Core 프로세서

소프트웨어 디코딩: 모든 Mac
Windows Windows 10 + HEVC 확장 기능 인코더

디코더
HEVC 확장 기능(하드웨어만 해당)

HEVC 확장 기능(하드웨어 + 소프트웨어 지원)
iOS SDK 11.0+ 하드웨어 디코딩: A9 칩

소프트웨어 디코딩: 모든 iOS 기기
tvOS SDK 11.0+
UWP Windows 10+ 기기가 H.265에 대한 지원을 표시해도 기기 제품군 내 모든 기기에 적용되지 않을 수 있습니다.
Android 5.0+

  • 2019–05–07 페이지 수정됨

  • Unity 5.6의 새로운 기능

동영상 소스
Video Player 컴포넌트로 시간 관리