This is the first official blog post of VideoKit site, after this date, We will try to write some posts about ffmpeg, ios development and make some samples&tutorials with VideoKit.
The first post of course is about iOS VideoKit, let’s talk about what VideoKit is,
VideoKit is a powerful video playing and streaming framework for iOS developers , it’s coded with Objective-C language. It supports playing local & remote files (mkv, divx, xvid, ogg, vorbis and more) and supports streaming popular protocols & formats (mms, http, rtsp, rtmp, rtp, mjpeg).
Why is VideoKit created ?
Apple’s video playing and streaming solution is very limited, it supports only playing specific video file formats, http streaming & h264 video codec and its source is closed rendering the task of streaming and playing video a very hard one.
VideoKit is a hero in this situation as it’s a custom video player that plays divx, mkv, flv, etc… files, it can use other popular streaming protocols such as MMS, RTSP, RTMP, which are not supported by Apple native APIs. Also, it has many cool features beside above ones.
Below is the key features of VideoKit,
• Play most popular media files locally that Apple doesn’t support
• Stream from popular protocols (http, mms, rtsp & rtmp)
• Supports all popular audio & video codecs
• Supports mjpeg streams – mostly for ipcams
• Supports animated GIF files with full transparency
• 720p HD streams are supported by iPad 1 and above.
• Supports real time video effects with using pixel shaders
• Successful Audio & video syncing
• Very easy to use (very similar to Apple’s MPMoviePlayerViewController API & MPMoviePlayerController)
• Look & feel like Apple’s MPMoviePlayerViewController & MPMoviePlayerController
• Works with Wifi & 3G
• Shows detailed information about stream (audio & video codecs,total streamed data in bytes, connection type)
• Works on all iOS(3GS, iPhone 4/4S, iPhone 5 and all iPads) devices & supports all screen types and rotations
• Supports pausing stream
• Supports streaming in background
• Robust error handling
• Supports audio resampling
• Supports seeking in local & remote files
• Showing files/streams both in fullscreen and embedded
• Supports multiple players on same view
• Player is now an NSObject instance, so can be used without UI
• Supports transition from embedded/fullscreen to fullscreen/embedded
• Supports fullscreen, embedded and non UI control modes
• Supports initial playback time for files
• Supports looping for files
• Supports adjusting volume level for each player
• Supports changing audio streams in realtime
• Supports disabling audio stream in file/stream
Now , meet VideoKit