Blog

Encoding Settings For Perfect Ipadiphone Video

Tech Talk

Encoding

완벽한 아이패드/아이폰 동영상을 위한 인코딩 설정

Jan 24, 2012

몇 가지 인코딩 프로필만으로 모든 iOS 디바이스에 고화질 동영상을 스트리밍하고 차세대 모바일 하드웨어에 대비할 수 있습니다.

진지한 동영상 퍼블리셔라면 이미 iPad와 iPhone을 지원하고 있거나 지원 추가에 대해 깊이 고민해야 합니다. 일부 주요 퍼블리셔의 경우, iPad 전송이 전체 동영상 조회수의 3분의 1 이상을 차지합니다.

하지만 iOS용 인코딩은 약간 까다롭습니다. 이러한 디바이스는 여러 세대에 걸쳐 기술적으로 발전해 왔으며, iPhone 4에 이상적인 동영상 설정은 iPhone 3GS나 iPad에는 적합하지 않습니다.

다행히도 몇 가지 인코딩 프로필만 있으면 최초의 iPhone부터 iPad 2까지 모든 iOS 디바이스에 고화질 동영상을 스트리밍할 수 있으며, 차세대 모바일 하드웨어에 대비할 수도 있습니다.

일반 설정

오늘날 대부분의 동영상과 마찬가지로 iOS를 타겟팅할 때는 h.264 동영상과 AAC 오디오를 사용합니다.

On the audio side, consider using HE-AAC at <64kbps, for App Store compliance. HE-AAC sounds reasonably good at these bitrates, even for complex audio.

동영상 쪽에서는 여러 프로필을 사용하여 각 디바이스를 타겟팅합니다. iPhone 3GS 및 이전 버전에서는 h.264 기본 프로필인 레벨 3.0만 지원하지만(일부는 이보다 더 제한된 버전을 지원함), 최신 디바이스는 기본 및 고급 프로필을 지원합니다.

최상의 사용자 경험을 위해서는 HTTP 라이브 스트리밍(HLS)이 필수입니다. Apple은 App Store에서 10분 이상의 콘텐츠를 재생하는 모든 동영상 앱에 이 기능을 요구하고 있으며, iOS에서 지원하는 유일한 진정한 스트리밍 형식입니다. Android(버전 3 이상), Roku 및 기타 다양한 대상에서도 HLS를 채택하고 있습니다.

일반적인 접근 방식

Resolution

Profile

Bitrate

@ 16:9

@ 4:3

Audio

Comments

1024×768

Main@3.1

2Mbps

1024×576

1024×768

56kbps HE-AAC

 

960×640

Main@3.1

1.5Mbps

960×540

854×640

56kbps HE-AAC

 

640×432

Main@3.1

1Mbps

640×360

576×432

56kbps HE-AAC

 

480×320

Baseline@3.0

600kbps

480×272

426×320

56kbps HE-AAC

 

400×288

Baseline@3.0

400kbps

400×224

384×288

56kbps HE-AAC

 

400×288

Baseline@3.0

200kbps

400×224

384×288

56kbps HE-AAC

decimate frame rate

N/A (Audio Only)

 

 

 

 

56kbps HE-AAC

 

이러한 권장 사항이 필요한 이유는 무엇인가요?

  • 이는 권장 사항일 뿐입니다. 다른 해상도와 비트레이트는 완벽하게 유효하며 일부 상황에서는 실제로 더 나은 해상도와 비트레이트가 더 바람직할 수 있습니다. 예를 들어 매우 복잡한 콘텐츠의 경우 더 높은 비트레이트가 필요할 수 있습니다.
  • 720p는 iPad 1과 iPhone 4에서 재생할 수 있는 최대 동영상이며, iPad 2/iPhone 4S는 최대 1080p까지 재생할 수 있습니다. 하지만 기본 디스플레이의 너비가 1024픽셀에 불과하기 때문에 720p나 1080p까지 가는 것은 중요하지 않습니다. 물론 다른 곳에서 동영상을 재사용하려는 경우가 아니라면 720p는 전체 화면 웹 재생에 적합한 해상도이며 1080p는 커넥티드 TV에 전적으로 적합합니다. 향후 출시될 iPad의 해상도는 현재 iPad의 4배에 달할 것이라는 소문이 있으므로 미래를 대비하여 720p를 추가하는 것이 좋습니다.
  • h.264 프로필이 중요합니다. iPad 1과 iPhone 4는 모두 메인 프로필을 지원합니다. 아이패드 2/아이폰 4S는 메인 프로파일보다 약간 나은 하이 프로파일을 지원하지만, 전 세계 아이패드 1 디바이스 수를 고려할 때 메인 프로파일을 사용하는 것이 좋습니다. 진정으로 최적의 디바이스 타겟팅을 위해서는 메인과 높음 모두로 인코딩하세요.
  • 이 여섯 가지 해상도와 비트레이트는 다양한 대역폭을 합리적으로 잘 커버합니다. 물론 더 많은 해상도와 프로필을 원하는 대로 추가하거나 뺄 수 있습니다.
  • 기존 iPhone/iPod Touch 사용자는 480×320 화질의 동영상(이러한 디바이스의 화면 해상도)을 포함하여 3개의 스트림을 사용할 수 있습니다. iPad 및 iPhone 4 사용자는 6개의 스트림을 모두 사용할 수 있습니다.
  • iPad의 해상도 스케일러는 꽤 좋은 편이므로 해상도를 조정한 동영상은 일반적으로 잘 보입니다.
  • 이 설정은 가능한 한 16으로 나눌 수 있는 해상도 크기를 허용합니다. 이렇게 하면 압축 효율이 더 높아집니다. 특히 고해상도에서는 효율성 향상 효과가 작지만, 저해상도에서는 차이가 나타나기 시작합니다.
  • 각 동영상에서 오디오를 동일하게 유지해야 합니다. 오디오 사양이 버전 간에 변경되면 스트림을 전환할 때 재생 중에 '펑'하는 소리와 딸깍하는 소리가 들릴 수 있습니다.

기타 설정

  • 원하는 처리 시간을 기준으로 속도를 설정합니다. 이 권장 사항에서는 기본값보다 압축률이 약간 향상되지만 여전히 상당히 빠른 속도인 속도 2를 사용하겠습니다.
  • Ensure that each segment is roughly the same size by using a peak bitrate\_cap of 150% of the target bitrate, but within a long buffer\_size (e.g., five seconds, or 5x the bitrate\_cap).
  • Brightcove automatically chooses proper keyframe placement when you set the type to “segmented.” If you’re encoding to MP4 for separate segmenting to HLS, set forced\_keyframe\_rate to “0.2” or “0.1” (for five or 10 second keyframe intervals, respectively).
  • If you can accept slightly unpredictable bitrates, add quality to the mix, and change video\_bitrate to max\_video\_bitrate to optimize for file size. The encoder will use the max bitrate when needed, and will use a lower bitrate when it can achieve the desired quality with fewer bits.
  • Set the max\_frame\_rate to 30 and the max\_audio\_sample\_rate to 48000.
  • The first generation if iOS devices only allow one h.264 reference\_frame, so enable this on the Baseline streams for max compatibility.