iOS App Publishing Requirements and Recommendations
Before publishing your application, we recommend that you to take the following steps:
- Deliver all content using HTTP Live Streaming (HLS)
- Make sure all content intended to be displayed on Apple devices is encoded properly with the correct flavors
- Make sure you have a 64Kbps audio stream for all content – Should be – stream with bitrate lower than 64kbps
- Verify that you are implementing the correct URL format when calling playlists
- Download Apple verification tools and make sure you don’t receive any warnings or errors that may cause Apple to reject your application.
- View your content on all supported display types (Smartphones / Tablets / Apple TV) and try both Wi-Fi and cellular networks (where possible) and confirm good viewing quality. If not, make sure you have enough flavors to support fallbacks and large screen high quality bitrate. If you don’t have access to all types of devices, we may be able to do provide assistance. Please contact Kaltura for further assistance.
- Once your app is submitted, be patient as it may take up to few weeks for Apple to reply with an answer.
Display Types
Before deciding on sets of flavors suitable for your app, select the display types you want your app to support. When picking up flavors for your app, look at the column describing which display types the flavor is recommended for, and make sure you have your supported display types covered.
Display Type | Devices | DPI | Resolution |
Smartphone – Standard Display | iPhone 3GS | 163 | 320x480 |
Smartphone – Retina Display | iPhone 4 | 326 | 640x960 |
Tablet – Standard Display | iPad 1st and 2nd Generation | 132 | 1024x768 |
Tablet – Retina Display | iPad 3rd Generation | 260 | 2048x1536 |
TV Screen | Apple TV | Varies | Varies |
Cellular Network Support
If you would like to make your content available in a non Wi-Fi environment such as 3G networks, Apple requires you to enable a lower than 64Kbps, audio only, fallback flavor to support low connectivity scenarios.
Long Form Video Content Requirements
Apple requires that HTTP live Streaming is used for video content longer than 10 minutes or 5MB for every 10 minutes of data. For consistency and to avoid application rejection from Apple, Kaltura recommends you encode all relevant content for your app using HLS compatible flavors as described in this article.
Flavors & Display Types
The following table lists the recommended flavors per display type. Please use these flavors accordingly for the display types you intend to support:
Flavor Name | Format | Video Codec | Video Bitrate | Width | Height | Audio Codec | Audio Bitrate | Display type |
V2-WEB-MBL/Audio-only/55 | mp4 | - | - | - | - | aac | 55 | Smartphone (required) |
V2-WEB-MBL/Basic-Small/110 | mp4 | h264b | 110 | 480 | (auto) | aac | 40 | Smartphone |
V2-WEB-MBL/Basic-Small/200 | mp4 | h264b | 200 | 480 | (auto)s | aac | 40 | Smartphone |
V2-WEB-MBL/Basic-Small | mp4 | h264b | 400 | 480 | auto | aac | 64 | Smartphone, Tablet |
V2-WEB-MBL/Basic-Small/2 | mp4 | h264m | 600 | auto | 360 | aac | 96 | Smartphone, Tablet |
V2-WEB-MBL/Std-Small | mp4 | h264m | 900 | auto | 360 | aac | 96 | Tablet |
V2-WEB-MBL/Std-Large | mp4 | h264m | 1500 | 1024 | auto | aac | 128 | Tablet, TV |
V2-WEB/High-Large | mp4 | h264h | 2500 | (auto) | 720 | aac | 128 | TV |
HD1 | mp4 | h264h | 4000 | (auto) | 1080 | aac | 128 | TV |
HD2 | mp4 | h264h | 6000 | (auto) | 1080 | aac | 128 | TV |
HD3 | mp4 | h264h | 8000 | (auto) | 1080 | aac | 128 | TV |
URL Format
When retrieving asset of flavors available for an entry, it is strongly recommended to use the following format:
http://cdnapi.kaltura.com/p/{partnerId}/sp/{partnerId}00/playManifest/entryId/{entryId}/format/applehttp/protocol/http/a.m3u8.
By using this format, Kaltura will automatically generate an m3u8 file containing all available flavors for a specific entry that are compliant with the requesting device’s playback capabilities.
Apple OS Supported Versions
Kaltura is officially supporting video playback for the following Apple devices and operating system versions:
Device | OS | Notes |
iPhone 3GS | iOS 4.x, iOS 5.x | |
iPhone 4 | iOS 4.x, iOS 5.x | |
iPad 1st Generation | iOS 4.x, iOS 5.x | |
iPad 2nd Generation | iOS 4.x, iOS 5.x | |
iPad 3rd Generation | iOS 4.x, iOS 5.x | |
Apple TV |
| Using Airplay |
Transcoding Existing Content
If you are managing content with Kaltura that was not encoded for native application use, Kaltura has a process to automatically re-transcode your existing content library. Please contact support for further assistance.
Verification Tools
Before submitting your application for approval, it is important that you test your content with verification tools Apple providings. Please visit the following URL for downloads and further information from Apple: https://developer.apple.com/library/ios/#documentation/networkinginternet/conceptual/streamingmediaguide/UsingHTTPLiveStreaming/UsingHTTPLiveStreaming.html