All Projects → videolan → Vlckit

videolan / Vlckit

Licence: lgpl-2.1
libvlc bindings for OS X, iOS and tvOS in Objective-C, official mirror

Projects that are alternatives of or similar to Vlckit

Thumbnail
Thumbnail for a given video using FFMpeg
Stars: ✭ 96 (-61.45%)
Mutual labels:  multimedia
Ffmpeg Video Player
An FFmpeg and SDL Tutorial.
Stars: ✭ 149 (-40.16%)
Mutual labels:  multimedia
Csfml
Official binding of SFML for C
Stars: ✭ 211 (-15.26%)
Mutual labels:  multimedia
Video To Retail Platform
An intelligent multimodal-learning based system for video, product and ads analysis. Based on the system, people can build a lot of downstream applications such as product recommendation, video retrieval, etc.
Stars: ✭ 108 (-56.63%)
Mutual labels:  multimedia
Vditor
♏ 一款浏览器端的 Markdown 编辑器。
Stars: ✭ 1,742 (+599.6%)
Mutual labels:  multimedia
Haruna
Open source video player built with Qt/QML and libmpv.
Stars: ✭ 147 (-40.96%)
Mutual labels:  multimedia
Gstreamer Rockchip
The Gstreamer hardware encoder/decoder plugins for Rockchip platform
Stars: ✭ 86 (-65.46%)
Mutual labels:  multimedia
Swiftffmpeg
A Swift wrapper for the FFmpeg API
Stars: ✭ 243 (-2.41%)
Mutual labels:  multimedia
Srs
SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT and GB28181.
Stars: ✭ 16,734 (+6620.48%)
Mutual labels:  multimedia
Elinux
嵌入式 Linux 知识库 (elinux.org) 中文翻译计划;本项目发起人发布了《360° 剖析 Linux ELF》视频课程,欢迎订阅:https://www.cctalk.com/m/group/88089283
Stars: ✭ 193 (-22.49%)
Mutual labels:  multimedia
Nova
NOVA is a tool for annotating and analyzing behaviours in social interactions. It supports Annotators using Machine Learning already during the coding process. Further it features both, discrete labels and continuous scores and a visuzalization of streams recorded with the SSI Framework.
Stars: ✭ 110 (-55.82%)
Mutual labels:  multimedia
Srt
Secure, Reliable, Transport
Stars: ✭ 1,898 (+662.25%)
Mutual labels:  multimedia
Xbmc
Kodi is an award-winning free and open source home theater/media center software and entertainment hub for digital media. With its beautiful interface and powerful skinning engine, it's available for Android, BSD, Linux, macOS, iOS and Windows.
Stars: ✭ 13,175 (+5191.16%)
Mutual labels:  multimedia
Screen Recorder Ffmpeg Cpp
*Multimedia project* A screen recording application to capture your desktop and store in a video format. Click here to watch the demo
Stars: ✭ 98 (-60.64%)
Mutual labels:  multimedia
Mpv
🎥 Command line video player
Stars: ✭ 17,018 (+6734.54%)
Mutual labels:  multimedia
Rifi
This is the official repo for Wireless Multimedia controller App/Program.
Stars: ✭ 90 (-63.86%)
Mutual labels:  multimedia
Music Dance Video Synthesis
(ACM MM 20 Oral) PyTorch implementation of Self-supervised Dance Video Synthesis Conditioned on Music
Stars: ✭ 150 (-39.76%)
Mutual labels:  multimedia
Python Mpv
Python interface to the awesome mpv media player
Stars: ✭ 245 (-1.61%)
Mutual labels:  multimedia
Movian
An advanced media center
Stars: ✭ 235 (-5.62%)
Mutual labels:  multimedia
Video Thumbnail Generator
📷 Generate thumbnail sprites from videos.
Stars: ✭ 190 (-23.69%)
Mutual labels:  multimedia
VLCKit logo

VLCKit is a generic multimedia library for any audio or video playback needs on macOS, iOS and tvOS.

Platform Cocoapods
VLCKit Platform VLCKit is CocoaPods Compatible
MobileVLCKit Platform MobileVLCKit is CocoaPods Compatible
TVVLCKit Platform TVVLCKit is CocoaPods Compatible

Table of content

Features

  • Wrapper of libVLC, the engine of the popular media player VLC.
  • Supports playback, active streaming, and media to file conversations on the Mac.
  • Open-source software licensed under LGPLv2.1 or later, available in source code and binary form from VideoLAN's website.
  • Easily integratable via CocoaPods.

Use-case

When will you need VLCKit?

Frankly, you will need it whenever you need to play media not supported by QuickTime / AVFoundation or if you require more flexibility.

Here are some other common use-cases:

  • Playing something else besides H264/AAC files or HLS streams.
  • Need subtitles beyond QuickTime’s basic support for Closed Captions.
  • 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.
  • and more!

Requirements

  • iOS 8.4 + / macOS 10.9+ / tvOS 10.2+
  • Xcode 9.0+
  • Cocoapods 1.4+
  • Python 3.7 (compile time only)

Installation

Cocoapods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

gem install cocoapods

To integrate the latest VLCKit into your project, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'

target '<macOS Target>' do
    platform :macos, '10.9'
    pod 'VLCKit', '~>3.3.0'
end

target '<iOS Target>' do
    platform :ios, '8.4'
    pod 'MobileVLCKit', '~>3.3.0'
end

target '<tvOS Target>' do
    platform :tvos, '10.2'
    pod 'TVVLCKit', '~>3.3.0'
end

Then, run the following command:

pod install

Carthage

Carthage is a way to add frameworks to your Cocoa application. You can install it with the following command:

brew install carthage

To integrate VLCKit into your project, specify it in your Cartfile. The URL depends on your target OS.

iOS:

binary "https://code.videolan.org/videolan/VLCKit/raw/master/Packaging/MobileVLCKit.json" ~> 3.3.0

macOS:

binary "https://code.videolan.org/videolan/VLCKit/raw/master/Packaging/VLCKit.json" ~> 3.3.0

tvOS:

binary "https://code.videolan.org/videolan/VLCKit/raw/master/Packaging/TVVLCKit.json" ~> 3.3.0

Then, run the following command:

carthage update

Note that the following system dependencies are required and need to be linked into the project:

  • AudioToolbox.framework
  • AVFoundation.framework
  • CFNetwork.framework
  • CoreFoundation.framework
  • CoreGraphics.framework
  • CoreMedia.framework
  • CoreText.framework
  • CoreVideo.framework
  • Foundation.framework
  • libbz2.tbd
  • libc++.tbd
  • libiconv.tbd
  • libxml2.tbd
  • OpenGLES.framework
  • QuartzCore.framework
  • Security.framework
  • VideoToolbox.framework

On iOS and tvOS, you also need to link:

  • UIKit.framework

Documentation

API documentation of VLCKit is available online 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.

Build

Default

Make 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.

Run compileAndBuildVLCKit.sh with the -a ${ARCH} option to specify the target architecture.

More information can be found under ./compileAndBuildVLCKit.sh -h.

Build with your own VLC repository

  1. Put a VLC repository inside libvlc/vlc.

    mkdir libvlc && cd libvlc && ln -s "PATH_TO_VLC"

  2. Apply VLC patches needed for VLCKit.

    cd vlc

    git am ../libvlc/patches/*

  3. run compileAndBuildVLCKit.sh with the -n option.

Contribute

As VLCKit is an open-source project hosted by VideoLAN, we happily welcome all kinds of contributions.

Pull Request

Pull requests are more than welcome! If you do submit one, please make sure to use a descriptive title and description.

GitLab Issues

You can look through the currently open issues on GitLab and choose the one that interests you the most.

Patches

If you like the more classic apporach, you can submit patches!

For detailed explanation on how to do so, please read our wiki page on how to send patches.

FAQ

Q. Since this isn't under the MIT license, is there something special I should know?

The LGPLv2.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.

  • Make sure to publish any potential changes you do to our software
  • Make sure that the end-user is aware that VLCKit is embedded within your greater work
  • 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

For further details, please read the license and consult your lawyer with any questions you might have.

Communication

Forum

If you ever need help, feel free to reach out. The forum is always there for you.

Issues

Did you find a bug and want to report it to us? You can create an issue on GitLab or on our bug tracker.

IRC

Do you have a pressing question or just want to talk? Reach out to us via our IRC channel on the freenode network's #videolan channel.

If you don't have an IRC client at hand, use the freenode webchat.

Discord

For matters related to the VLCKit and LibVLC APIs, join our LibVLC bindings Community Discord Server!

Join the chat at https://discord.gg/3h3K3JF

License

VLCKit is under the LGPLv2.1 license.

See COPYING for more license info.

Further reading

You can find more documentation on the VideoLAN wiki.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].