{"id":13908652,"url":"https://github.com/videolan/vlckit","last_synced_at":"2025-09-07T14:56:21.316Z","repository":{"id":37275663,"uuid":"125473312","full_name":"videolan/vlckit","owner":"videolan","description":"libvlc bindings for OS X, iOS and tvOS in Objective-C, official mirror","archived":false,"fork":false,"pushed_at":"2025-08-06T17:20:53.000Z","size":5889,"stargazers_count":589,"open_issues_count":1,"forks_count":151,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-08-06T19:21:22.693Z","etag":null,"topics":["libvlc","multimedia","objective-c","videolan","vlckit"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/videolan.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-03-16T06:26:22.000Z","updated_at":"2025-07-31T08:33:06.000Z","dependencies_parsed_at":"2022-09-04T20:13:20.057Z","dependency_job_id":"a2dd5f4d-7096-43c6-a95b-06529dd3fdf7","html_url":"https://github.com/videolan/vlckit","commit_stats":null,"previous_names":[],"tags_count":95,"template":false,"template_full_name":null,"purl":"pkg:github/videolan/vlckit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videolan%2Fvlckit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videolan%2Fvlckit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videolan%2Fvlckit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videolan%2Fvlckit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/videolan","download_url":"https://codeload.github.com/videolan/vlckit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videolan%2Fvlckit/sbom","scorecard":{"id":920786,"data":{"date":"2025-08-11","repo":{"name":"github.com/videolan/vlckit","commit":"677776dd25fc3451895f1a7d6a436eb53ecd312a"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.1,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":8,"reason":"10 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Info: FSF or OSI recognized license: GNU Lesser General Public License v2.1: COPYING:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-25T02:21:23.705Z","repository_id":37275663,"created_at":"2025-08-25T02:21:23.705Z","updated_at":"2025-08-25T02:21:23.705Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274052000,"owners_count":25214030,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["libvlc","multimedia","objective-c","videolan","vlckit"],"created_at":"2024-08-06T23:02:53.523Z","updated_at":"2025-09-07T14:56:21.255Z","avatar_url":"https://github.com/videolan.png","language":"Objective-C","funding_links":[],"categories":["HarmonyOS","OOM-Leaks-Crash"],"sub_categories":["Windows Manager","Player"],"readme":"\u003cimg src=\"https://www.videolan.org/images/vlckit/logo.svg\" alt=\"VLCKit logo\" height=\"140\"\u003e\n\n#\n\n**VLCKit** is a generic multimedia library for any audio or video playback needs on macOS, iOS and tvOS.\n\n|              | Platform                                                     | Cocoapods                                                    |\n| ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |\n| VLCKit       | ![Platform](https://img.shields.io/cocoapods/p/VLCKit.svg?style=flat) | [![VLCKit is CocoaPods Compatible](https://img.shields.io/cocoapods/v/VLCKit.svg)](https://cocoapods.org/pods/VLCKit) |\n| MobileVLCKit | ![Platform](https://img.shields.io/cocoapods/p/MobileVLCKit.svg?style=flat) | [![MobileVLCKit is CocoaPods Compatible](https://img.shields.io/cocoapods/v/MobileVLCKit.svg)](https://cocoapods.org/pods/MobileVLCKit) |\n| TVVLCKit     | ![Platform](https://img.shields.io/cocoapods/p/TVVLCKit.svg?style=flat) | [![TVVLCKit is CocoaPods Compatible](https://img.shields.io/cocoapods/v/TVVLCKit.svg)](https://cocoapods.org/pods/TVVLCKit) |\n\n## Table of content\n\n- [Features](#features)\n- [Use-case](#use-case)\n- [Requirements](#requirements)\n- [Installation](#installation)\n    - [Cocoapods](#cocoapods)\n    - [Carthage](#carthage)\n- [Documentation](#documentation)\n- [Build](#build)\n    - [Default](#default)\n    - [Build with your own VLC repository](#build-with-your-own-vlc-repository)\n- [Contribute](#contribute)\n    - [Pull Request](#pull-request)\n    - [GitLab Issues](#gitlab-issues)\n    - [Patches](#patches)\n- [FAQ](#faq)\n- [Communication](#communication)\n    - [Forum](#forum)\n    - [Issues](#issues)\n    - [IRC](#irc)\n- [License](#license)\n- [Further reading](#further-reading)\n\n## Features\n\n- Wrapper of **libVLC**, the engine of the popular media player *VLC*.\n- Supports playback, active streaming, and media to file conversations on the Mac.\n- Open-source software licensed under [LGPLv2.1](http://opensource.org/licenses/LGPL-2.1/) or later, available in source code and binary form from [VideoLAN's website](http://www.videolan.org/).\n- Easily integratable via [CocoaPods](http://cocoapods.org/).\n\n## Use-case\n\nWhen will you need VLCKit?\n\nFrankly, you will need it whenever you need to play media not supported by QuickTime / AVFoundation or if you require more flexibility.\n\nHere are some other common use-cases:\n\n- Playing something else besides H264/AAC files or HLS streams.\n- Need subtitles beyond QuickTime’s basic support for Closed Captions.\n- Your media source is neither your mobile device nor a basic HTTP server, but a live stream hailing from some weird media server or even a raw DVB signal broadcasted on a local network.\n- and more!\n\n## Requirements\n\n- iOS 8.4 + / macOS 10.9+ / tvOS 10.2+\n- Xcode 9.0+\n- Cocoapods 1.4+\n- Python 3.7 (compile time only)\n\n## Installation\n\n### Cocoapods\n\n[CocoaPods](http://cocoapods.org/) is a dependency manager for Cocoa projects. You can install it with the following command:\n\n```bash\ngem install cocoapods\n```\n\nTo integrate the latest VLCKit into your project, specify it in your `Podfile`:\n\n```ruby\nsource 'https://github.com/CocoaPods/Specs.git'\n\ntarget '\u003cmacOS Target\u003e' do\n    platform :macos, '10.9'\n    pod 'VLCKit', '~\u003e3.3.0'\nend\n\ntarget '\u003ciOS Target\u003e' do\n    platform :ios, '8.4'\n    pod 'MobileVLCKit', '~\u003e3.3.0'\nend\n\ntarget '\u003ctvOS Target\u003e' do\n    platform :tvos, '10.2'\n    pod 'TVVLCKit', '~\u003e3.3.0'\nend\n```\n\nThen, run the following command:\n\n```bash\npod install\n```\n### Carthage\n\n[Carthage](https://github.com/Carthage/Carthage) is a way to add frameworks to your Cocoa application. You can install it with the following command:\n\n```bash\nbrew install carthage\n```\n\nTo integrate VLCKit into your project, specify it in your `Cartfile`. The URL depends on your target OS.\n\niOS:\n```\nbinary \"https://code.videolan.org/videolan/VLCKit/raw/master/Packaging/MobileVLCKit.json\" ~\u003e 3.3.0\n```\n\nmacOS:\n```\nbinary \"https://code.videolan.org/videolan/VLCKit/raw/master/Packaging/VLCKit.json\" ~\u003e 3.3.0\n```\n\ntvOS:\n```\nbinary \"https://code.videolan.org/videolan/VLCKit/raw/master/Packaging/TVVLCKit.json\" ~\u003e 3.3.0\n```\n\nThen, run the following command:\n\n```bash\ncarthage update\n```\n\nNote that the following system dependencies are required and need to be linked into the project:\n\n* AudioToolbox.framework\n* AVFoundation.framework\n* CFNetwork.framework\n* CoreFoundation.framework\n* CoreGraphics.framework\n* CoreMedia.framework\n* CoreText.framework\n* CoreVideo.framework\n* Foundation.framework\n* libbz2.tbd\n* libc++.tbd\n* libiconv.tbd\n* libxml2.tbd\n* OpenGLES.framework\n* QuartzCore.framework\n* Security.framework\n* VideoToolbox.framework\n\nOn iOS and tvOS, you also need to link:\n\n* UIKit.framework\n\n## Documentation\nAPI documentation of VLCKit is available [online](https://videolan.videolan.me/VLCKit) and within both the source code as well as binary downloads. Except as indicated, all the APIs are the same on macOS, iOS and tvOS.\n\n## Build\n\n### Default\n\nMake sure that Python 3.7 is installed. Get the package from https://www.python.org - do NOT use homebrew for installation as it will be ignored by VLC's build process.\n\nRun `compileAndBuildVLCKit.sh` with the `-a ${ARCH}` option to specify the target architecture.\n\nMore information can be found under `./compileAndBuildVLCKit.sh -h`.\n\n### Build with your own VLC repository\n\n1. Put a VLC repository inside `libvlc/vlc`.\n\n    `mkdir libvlc \u0026\u0026 cd libvlc \u0026\u0026 ln -s \"PATH_TO_VLC\"`\n\n2. Apply VLC patches needed for VLCKit.\n\n    `cd vlc`\n\n    `git am ../libvlc/patches/*`\n\n3. run `compileAndBuildVLCKit.sh` with the `-n` option.\n\n## Contribute\n\nAs VLCKit is an open-source project hosted by VideoLAN, we happily welcome all kinds of contributions.\n\n### Pull Request\n\nPull requests are more than welcome! If you do submit one, please make sure to use a descriptive title and description.\n\n### GitLab Issues\n\nYou can look through the currently open [issues on GitLab](https://code.videolan.org/videolan/vlckit/issues/) and choose the one that interests you the most.\n\n### Patches\n\nIf you like the more classic approach, you can submit patches!\n\nFor detailed explanation on how to do so, please read our wiki page on [how to send patches](https://wiki.videolan.org/Sending_Patches_VLC/).\n\n## FAQ\n\n\u003e Q. Since this isn't under the MIT license, is there something special I should know?\n\nThe [LGPLv2.1](http://opensource.org/licenses/LGPL-2.1/) allows our software to be included in proprietary apps, *as long as you follow the license.* Here are some key points you should be aware of.\n\n- Make sure to publish any potential changes you do to our software\n- Make sure that the end-user is aware that VLCKit is embedded within your greater work\n- Make sure that the end-user is aware of the gained rights and is granted access to our code as well as to your additions to our work\n\nFor further details, please read the license and consult your lawyer with any questions you might have.\n\n## Communication\n\n### Forum\n\nIf you ever need help, feel free to reach out. The [forum](http://forum.videolan.org/) is always there for you.\n\n### Issues\n\nDid you find a bug and want to report it to us? You can create an issue on [GitLab](https://code.videolan.org/videolan/vlckit/issues/) or on our [bug tracker](https://trac.videolan.org/vlc/).\n\n### IRC\n\nDo you have a pressing question or just want to talk? Reach out to us via our IRC channel on the [freenode](http://www.freenode.net/) network's **#videolan** channel.\n\nIf you don't have an IRC client at hand, use the [freenode webchat](http://webchat.freenode.net/).\n\n### Discord\n\nFor matters related to the VLCKit and LibVLC APIs, join our LibVLC bindings Community Discord Server!\n\n[![Join the chat at https://discord.gg/3h3K3JF](https://img.shields.io/discord/716939396464508958?label=discord)](https://discord.gg/3h3K3JF)\n\n## License\n\nVLCKit is under the [LGPLv2.1](http://opensource.org/licenses/LGPL-2.1/) license.\n\nSee [COPYING](./COPYING) for more license info.\n\n## Further reading\n\nYou can find more documentation on the [VideoLAN wiki](https://wiki.videolan.org/VLCKit/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvideolan%2Fvlckit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvideolan%2Fvlckit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvideolan%2Fvlckit/lists"}