{"id":18270698,"url":"https://github.com/lbrndnr/LBYouTubeView","last_synced_at":"2025-04-05T01:30:46.894Z","repository":{"id":3414425,"uuid":"4465178","full_name":"lbrndnr/LBYouTubeView","owner":"lbrndnr","description":"A MPMoviePlayerViewController subclass that can display YouTube videos.","archived":false,"fork":false,"pushed_at":"2017-10-11T19:02:27.000Z","size":608,"stargazers_count":526,"open_issues_count":24,"forks_count":125,"subscribers_count":53,"default_branch":"master","last_synced_at":"2025-03-29T06:08:20.512Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://laurinbrandner.ch","language":"Objective-C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lbrndnr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-05-27T22:17:18.000Z","updated_at":"2024-03-31T13:43:18.000Z","dependencies_parsed_at":"2022-08-21T02:50:36.631Z","dependency_job_id":null,"html_url":"https://github.com/lbrndnr/LBYouTubeView","commit_stats":null,"previous_names":["larcus94/lbyoutubeview"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbrndnr%2FLBYouTubeView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbrndnr%2FLBYouTubeView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbrndnr%2FLBYouTubeView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbrndnr%2FLBYouTubeView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lbrndnr","download_url":"https://codeload.github.com/lbrndnr/LBYouTubeView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276043,"owners_count":20912286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T11:38:48.944Z","updated_at":"2025-04-05T01:30:46.563Z","avatar_url":"https://github.com/lbrndnr.png","language":"Objective-C","readme":"# IMPORTANT\n`LBYouTubeView` has been discontinued. I won't fix any issues anymore. Although this approach fixes a couple of issues, it does not work reliably enough.\nCheck out [XCDYouTubeVideoPlayerViewController](https://github.com/0xced/XCDYouTubeVideoPlayerViewController). It's similar to this project but seems to work better as its way of extracting the video URL is less hacky.\n\n# LBYouTubeView\n\n## About\nLBYouTubeView is just a small view that is able to display YouTube videos in a `MPMoviePlayerController`. You even have the choice between high-quality and standard quality stream.\n\nHow does it work? It just loads the HTML code of YouTube's mobile website and looks for the data in the script tag. LBYouTubeView doesn't use `UIWebView` which makes it faster and look cleaner.\n\n## Usage\nLBYouTubeView is dead simple. Just add an instance as a subview to a UIViewControllers view and tell it, what video it should load.\n\n## Installation\n1. Drag the `LBYouTubeView` folder into your project.\n2. Import the `MediaPlayer.framework`.\n3. If you need to support iOS 4, add `JSONKit` to your project and set `-fno-objc-arc` compiler flag to `JSONKit.m`.\n\n### Example\n\n```objc\nLBYouTubePlayerViewController* controller = [[LBYouTubePlayerViewController alloc] initWithYouTubeURL:[NSURL URLWithString:@\"http://www.youtube.com/watch?v=1fTIhC1WSew\u0026list=FLEYfH4kbq85W_CiOTuSjf8w\u0026feature=mh_lolz\"] quality:LBYouTubeVideoQualityLarge];\ncontroller.delegate = self;\ncontroller.view.frame = CGRectMake(0.0f, 0.0f, 200.0f, 200.0f);\ncontroller.view.center = self.view.center;\n[self.view addSubview:self.controller.view];\n```\n\nYou can also only extract video URL without to use `LBYouTubePlayerViewController` directly:\n\n```objc\nLBYouTubeExtractor* extractor = [[LBYouTubeExtractor alloc] initWithURL:URL quality:quality];\nextractor.delegate = self;\n[extractor startExtracting];\n```\n\n## Requirements\nLBYouTubeView requires iOS 4. Also, it is deployed for an ARC environment.\n\n## License\nLBYouTubeView is licensed under the [MIT License](http://opensource.org/licenses/mit-license.php). \n\n## YouTube EULA\nAs stated in Google's [Monetization Guidelines](https://developers.google.com/youtube/creating_monetizable_applications) that attempting to play a YouTube video outside of either the YouTube embedded, custom or chromeless player is strictly prohibited by the API Terms of Service.\nLBYouTubeView most likely does violate those guidelines. However, it seems like Apple lets your app pass through their review. \nAnyway, use it on your own risk.","funding_links":[],"categories":["etc"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbrndnr%2FLBYouTubeView","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flbrndnr%2FLBYouTubeView","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbrndnr%2FLBYouTubeView/lists"}