RMYouTubeExtractor
provides an easy way to obtain MP4 URLs for your iOS apps by providing a YouTube video identifier.
This library borrows code from XCDYouTubeVideoPlayerViewController by Cédric Luthi - sans the MPMoviePlayerController, allowing you to just extract the URLs and roll your own player.
- iOS 7 (uses NSURLSession)
- ARC
pod 'RMYouTubeExtractor'
then
$ pod install
- Add
RMYouTubeExtractor.h
andRMYouTubeExtractor.m
to your project @import AVFoundation;
[[RMYouTubeExtractor sharedInstance] extractVideoForIdentifier:youtubeID
completion:^(NSDictionary *videoDictionary, NSError *error) {
}];
The instance returns a dictionary with up to 3 video qualities: 240p, 360p and 720p.
Don’t forget to check for empty dictionary / errors.
See demo project for an example of how to use the extractor.
- Removed 1080p quality (YouTube no longer serves this quality as MP4)
- Improved logic to parse results which has speed up searching by 50-100ms
- Updated sample project
- Fixed 'attemptType' variable never being reset after successful attempts (thanks @ebelair)
- Added retries for obtaining content with other
el=
attempts for the URL
- Initial release
Developed by Rune Madsen (@runmad and runmad.com).
Credit to Cédric Luthi for his work on extraction code.
I appreciate feedback. Create Github issues, pull requests or connect with me on Twitter.
I'd love to see and hear from you if you use it in a project.
RMYouTubeExtractor is available under the MIT license. See the LICENSE file for more information.