• Stars
    star
    445
  • Rank 94,912 (Top 2 %)
  • Language
    Objective-C
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated 29 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PLShortVideoKit 是七牛推出的一款适用于 iOS 平台的短视频 SDK,提供了包括美颜、滤镜、水印、断点录制、分段回删、视频编辑、混音特效、视频剪辑、本地转码、视频上传在内的多种功能,支持高度定制以及二次开发。

1 产品简介

七牛短视频 SDK,方便开发者快速实现短视频拍摄、剪辑、编辑、合成、分发功能。我们提供 80+ 功能供开发使用,点击此处 即可获得 0 元体验

2 多版本功能分布

短视频SDK主要区分精简版、基础版、进阶版、专业版 4 个版本,不同版本的功能区别见如下表格

功能 子功能 精简版 基础版 进阶版 专业版
用户交互界面 提供了一套完整的UI交互源码,可复用或自定义
拍摄设置 摄像头采集
麦克风采集
视频采集参数定义
支持最高 1080P 拍摄,支持自定义视频采集源、采集画面的分辨率、采集画面的长宽比等参数
音频采集参数定义
支持自定义音频采集源、音频格式、音频声道、音频采样率等参数
视频编码参数定义
支持自定义编码视频的码率、帧率、分辨率、H.264 编码方式等参数
音频编码参数定义
支持自定义编码音频的码率、采样率、声道数、AAC 编码方式等参数
拍摄时长设置
支持设置实际拍摄过程中的最大、最小拍摄时长
前后台切换
根据监听到 Application 的前后台状态自动停止和开始录制视频,默认从后台进入前台自动开始录制
摄像头切换
支持切换前后摄像头进行拍摄
闪光灯设置
支持开关闪光灯用于拍摄时的补光
画面镜像
支持设置是否镜像预览画面和编码画面
画面对焦
支持手动对焦和自动对焦
焦距调节
支持手动调节画面焦距进行放大、缩小
曝光调节
支持调整曝光度参数
拍摄模式 横屏拍摄
支持根据设备的方向自动确定竖屏、横屏拍摄
分段拍摄
支持拍摄过程中实现连续多次拍摄、断点续拍、回删
静音拍摄
支持静音拍摄
音频录制
支持纯音频录制
屏幕录制
支持对整个屏幕区域进行录制,实现整体的录制效果
变速拍摄
支持设置拍摄时的快/慢速率,目前支持 5 种拍摄速率(默认正常速率,只支持 2 的倍数,或 1/2 的倍数)
分屏拍摄(合拍)
可以根据素材视频(或图片)进行合拍,生成双画面视频
实时处理 实时截图
支持拍摄时实时截图拍照保存到本地
实时预览
支持实时本地预览
实时美颜
支持拍摄时启用美颜功能,支持设置美颜、美白、红润 3 种效果并调节强度
实时滤镜
支持拍摄时启用滤镜功能,支持自由调节多种滤镜效果(33种)

提供 10 种滤镜效果

提供 33 种滤镜效果

提供 33 种滤镜效果
实时水印
支持拍摄时添加静态水印,支持设置水印位置、大小、透明度,设置作用时间范围
背景音乐
支持拍摄前选择本地文件作为背景音乐
基础编辑 视频导入
支持本地视频快速导入后编辑
编辑预览
支持编辑时实时预览本地效果
时长剪裁
支持时长裁剪,按照给定的时间范围生成一个 mp4 文件
本地转码
支持按照给定的码率、帧率等参数,生成一个 mp4 文件
视频旋转
支持按照给定的目标旋转角度,生成一个 mp4 文件
画面剪裁
支持画面裁剪,按照视频画面大小(原比例、指定区域)精确裁剪视频生成一个mp4文件
特效编辑 视频旋转特效
支持设置视频左右上下旋转,实时预览旋转效果
单音频混音
支持给视频文件添加单音频,实现混音效果
滤镜特效
支持给视频文件添加滤镜效果,默认支持 33 种滤镜效果

提供 10 种滤镜效果

提供 33 种滤镜效果

提供 33 种滤镜效果
涂鸦特效
支持画笔尺寸和颜色调整,支持设置特效显示的时间范围
字幕特效
支持给视频文件添加文字特效,支持设置文字内容,字体大小,字体颜色,透明度,旋转,位置等,支持设置特效显示的时间范围
水印特效
支持给视频文件添加静态、动态水印,并且能够自由设置水印的大小、位置、透明度、旋转角度,支持设置特效显示的时间范围,可以自定义素材或使用供应商提供的收费素材
贴纸特效
支持给视频文件添加静态贴纸,并且能够自由设置贴纸大小、位置、旋转角度,支持设置特效显示的时间范围,可以自定义素材或使用供应商提供的收费素材
时间特效
支持对视频文件进行整体变速、分段变速,支持5种变速效果(极慢、慢、正常、快、极快)
时光倒流
支持 1 种倒放操作(即时光倒流特效)
音乐唱片
支持音频录制的过程中,增加图片旋转效果,输出为 mp4 文件
多音频混音
支持给视频文件添加多个背景音乐,支持调整视频原声、背景音乐音量,支持设置多个背景音乐有效时间区域,支持自己录音或者选用本地音乐
MV 特效
支持给视频文件添加 MV 效果,默认提供 4 种 MV 特效,MV 特效素材需要客户自行按要求制作
多素材编排 视频拼接
支持设置多个视频按照前后顺序导入拼接生成一个 mp4 文件
GIF 动画
支持基于多个图片或视频直接导出 GIF 动图
图片拼接
支持设置多个图片按照前后顺序导入拼接生成一个 mp4 文件
基础转场
支持在视频图片片段之间,增加淡入淡出效果
过场字幕
支持在视频之间增加转场字幕,支持定义转场字幕的背景色、持续时间、支持文字和图片特效,支持旋转、放大、位置移动、淡入淡出 4 种效果
视频合成
支持设置多个视频合并为一个视频,支持设置每一个视频的位置、大小、开始播放时间等
图片 & GIF 图 & 视频混拼
支持设置多个视频和图片按照前后顺序导入拼接生成一个 mp4 文件
其他功能 草稿箱
支持将当前录制的片段与设置项存入草稿箱
接口扩展
扩展接口支持对接第三方美颜特效等增值能力
外部裸数据导入
支持外部音视频裸数据导入,生成 mp4 文件
View 录制
支持 View 录制
视频播放 播放器 SDK
上传分发 视频上传
断点续传
上传加速

增值能力方面,需要单独选购,在视频拍摄或视频编辑阶段增加,4个版本都支持相关开放接口。

功能
高级美颜
拍摄设置大眼、瘦脸、V脸、下巴调整、短脸、小鼻效果,并支持调节强度
人脸贴纸
支持人脸识别,进行人脸 2D、3D 贴纸操作
手势识别
可以对拍摄的人物的特定手势进行识别,配合其他特效
AR 特效
支持拍摄时设置 AR 特效
变声混响
拍摄时对录制的人音进行变声(如萝莉、大叔)和混响效果等操作(如 KTV、会堂)
类抖音特效
滤镜效果,支持抖动、幻觉、灵魂出窍等数种抖音特效
背景抠图
将画面中的绿色元素(比如纯绿背景)抠除,替换成其他的元素,比如动态背景/ PPT 等

3 设备以及系统要求

  • 设备要求:搭载 iOS 系统的设备
  • 系统要求:iOS 8.0 及其以上

4 安装方法

CocoaPods 是针对 Objective-C 的依赖管理工具,它能够将使用类似 PLShortVideoKit 的第三方库的安装过程变得非常简单和自动化,你能够用下面的命令来安装它:

$ sudo gem install cocoapods

4.1 Podfile

为了使用 CoacoaPods 集成 PLShortVideoKit 到你的 Xcode 工程当中,你需要编写你的 Podfile

4.2 专业版安装

如果你购买的是七牛专业版本的短视频 SDK,请使用下面的安装方式:

4.2.1 Podfile 添加专业版

target 'TargetName' do
pod 'PLShortVideoKit'
end

4.2.2 Warnings

在使用了七牛的推流或连麦 SDK 的工程中,集成该短视频 SDK 会出现美颜库导致的符号冲突问题 duplicate symbol OBJC_CLASS MuseProcessor,解决方法如下

target 'TargetName' do
pod 'PLShortVideoKit/ex-libMuseProcessor'
end

4.2.3 运行 pod

然后,运行如下的命令:

$ pod install

4.3 进阶版安装

如果你购买的是七牛进阶版本的短视频 SDK,请使用下面的安装方式:

4.3.1 Podfile 添加进阶版

target 'TargetName' do
pod 'PLShortVideoKit', :podspec => 'https://raw.githubusercontent.com/pili-engineering/PLShortVideoKit/master/PLShortVideoKit-Advanced.podspec'
end

4.3.2 Warnings

在使用了七牛的推流或连麦 SDK 的工程中,集成该短视频 SDK 会出现美颜库导致的符号冲突问题 duplicate symbol OBJC_CLASS MuseProcessor,解决方法如下

target 'TargetName' do
pod 'PLShortVideoKit/ex-libMuseProcessor', :podspec => 'https://raw.githubusercontent.com/pili-engineering/PLShortVideoKit/master/PLShortVideoKit-Advanced.podspec'
end

4.3.3 运行 pod

然后,运行如下的命令:

$ pod install

4.4 基础版安装

如果你购买的是七牛基础版本的短视频 SDK,请使用下面的安装方式:

4.4.1 Podfile 添加基础版

target 'TargetName' do
pod 'PLShortVideoKit', :podspec => 'https://raw.githubusercontent.com/pili-engineering/PLShortVideoKit/master/PLShortVideoKit-Basic.podspec'
end

4.4.2 Warnings

在使用了七牛的推流或连麦 SDK 的工程中,集成该短视频 SDK 会出现美颜库导致的符号冲突问题 duplicate symbol OBJC_CLASS MuseProcessor,解决方法如下

target 'TargetName' do
pod 'PLShortVideoKit/ex-libMuseProcessor', :podspec => 'https://raw.githubusercontent.com/pili-engineering/PLShortVideoKit/master/PLShortVideoKit-Basic.podspec'
end

4.4.3 运行 pod

然后,运行如下的命令:

$ pod install

4.5 精简版安装

如果你购买的是七牛基础版本的短视频 SDK,请使用下面的安装方式:

4.5.1 Podfile 添加精简版

target 'TargetName' do
pod 'PLShortVideoKit', :podspec => 'https://raw.githubusercontent.com/pili-engineering/PLShortVideoKit/master/PLShortVideoKit-Smart.podspec'
end

4.5.2 Warnings

在使用了七牛的推流或连麦 SDK 的工程中,集成该短视频 SDK 会出现美颜库导致的符号冲突问题 duplicate symbol OBJC_CLASS MuseProcessor,解决方法如下

target 'TargetName' do
pod 'PLShortVideoKit/ex-libMuseProcessor', :podspec => 'https://raw.githubusercontent.com/pili-engineering/PLShortVideoKit/master/PLShortVideoKit-Smart.podspec'
end

4.5.3 运行 pod

然后,运行如下的命令:

$ pod install

4.6 Warning

  • Podfile 中添加 PLShortVideoKit 时如果不指定 podspec,默认安装的是 专业版 的短视频 SDK
  • 如果你安装的七牛短视频 SDK 版本和你购买的七牛短视频 SDK 版本不一致,比如购买的基础版,但是使用的是进阶版或者专业版的短视频 SDK,会引起你的 App 产生 crash 。请一定安装和你购买匹配的短视频 SDK 版本

5 PLShortVideoKit 文档

请参考开发者中心文档:PLShortVideoKit 文档

注意:GitHub 上出现无法 clone 时,可点击下载

6 声明

本短视频 SDK 需授权方可使用,可通过 400-808-9176 转 2 号线联系七牛商务咨询,或者 通过工单 联系七牛的技术支持。

7 反馈及意见

当你遇到任何问题时,可以通过在 GitHub 的 repo 提交 issues 来反馈问题,请尽可能的描述清楚遇到的问题,如果有错误信息也一同附带,并且在 Labels 中指明类型为 bug 或者其他。

通过这里查看已有的 issues 和提交 Bug

More Repositories

1

PLDroidPlayer

PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。
4,550
star
2

PLPlayerKit

PLPlayerKit 是七牛推出的一款免费的适用于 iOS 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。
2,012
star
3

PLDroidShortVideo

PLDroidShortVideo 是七牛推出的一款适用于 Android 平台的短视频 SDK,提供了包括美颜、滤镜、水印、断点录制、分段回删、视频编辑、混音特效、视频剪辑、本地转码、视频上传在内的多种功能,支持高度定制以及二次开发。
Java
1,668
star
4

PLDroidMediaStreaming

PLDroidMediaStreaming 是七牛推出的一款适用于 Android 平台的推流 SDK,支持 RTMP 推流,h.264 和 AAC 编码,硬编、软编支持。具有丰富的数据和状态回调,方便用户根据自己的业务定制化开发。具有直播场景下的重要功能,如:美颜、背景音乐、水印等功能。PLDroidMediaStreaming 是现在目前重点维护的版本,自带采集模块也支持用户自己做采集端。
Java
1,446
star
5

PLCameraStreamingKit

PLCameraStreamingKit 是 Pili 直播 SDK 的 iOS 推流端,是带有采集模块老版本 SDK。如果是新用户接入,建议使用 PLMediaStreamingKit。该版本支持 RTMP 推流,h.264 和 AAC 编码,硬编软编支持。具有丰富的数据和状态回调,方便用户根据自己的业务定制化开发。具有直播场景下的重要功能,如:美颜、背景音乐、水印等功能。
C
1,032
star
6

PLMediaStreamingKit

PLMediaStreamingKit 是七牛推出的一款适用于 iOS 平台的推流 SDK,支持 RTMP 推流,h.264 和 AAC 编码,硬编、软编支持。具有丰富的数据和状态回调,方便用户根据自己的业务定制化开发。具有直播场景下的重要功能,如:美颜、背景音乐、水印等功能。
Objective-C
539
star
7

PLStreamingKit

PLStreamingKit 是 Pili 直播 SDK 的 iOS 推流端,是不带采集模块老版本 SDK。如果是新用户接入,请使用 PLDroidMediaStreaming。该版本支持 RTMP 推流,h.264 和 AAC 编码,软编硬编支持。具有丰富的数据和状态回调,方便用户根据自己的业务定制化开发。具有直播场景下的重要功能,如:美颜、背景音乐、水印等功能。
Objective-C
250
star
8

ipcam_sdk

七牛推出了一款适用于嵌入式 IP Camera 设备进行 RTMP 推流的 SDK 开发套件
C++
166
star
9

wxapp-live-demo

七牛直播小程序 demo 代码
JavaScript
161
star
10

QNRTC-Web

QNRTCWeb 是七牛云推出的一款适用于 Web 平台的实时音视频 SDK,提供了包括音视频通话、静音、发布、订阅多种功能,提供灵活的接口,支持高度定制以及二次开发。
HTML
130
star
11

pili-sdk-java

Pili Streaming Cloud server-side library for Java
Java
119
star
12

pili-librtmp

C
116
star
13

QNRTC-Android

QNDroidRTC 是七牛云推出的一款适用于 Android 平台的实时音视频 SDK,提供了包括音视频通话、美颜、滤镜、水印等多种功能,提供灵活的接口,支持高度定制以及二次开发。
Java
113
star
14

QPlayer2-Android

HTML
86
star
15

pili-sdk-php

Pili Streaming Cloud server-side library for PHP
PHP
73
star
16

pili-sdk-nodejs

Pili Streaming Cloud server-side library for NodeJS
JavaScript
68
star
17

pili-html5-player-example

HTML5 <audio> or <video> player with Flash and Silverlight shims that mimics the HTML5 MediaElement API, enabling a consistent UI in all browsers.
JavaScript
60
star
18

QNRTC-iOS

QNRTCKit 是七牛云推出的一款适用于 iOS 平台的实时音视频 SDK,提供了包括音视频通话、美颜、滤镜、水印等多种功能,提供灵活的接口,支持高度定制以及二次开发。
Objective-C
53
star
19

pili-sdk-python

Pili Streaming Cloud server-side library for Python
Python
52
star
20

PLDroidRTCStreaming

PLDroidRTCStreaming 是七牛推出的一款适用于 Android 平台的连麦互动 SDK,支持低延时音视频通话、RTMP 直播推流,可快速开发一对一视频聊天、多人视频会议、网红直播连麦、狼人杀、娃娃机等应用,接口简单易用,支持高度定制以及二次开发。
Java
50
star
21

PLAudioStreamingKit

Pili Live Streaming SDK for iOS, AAC hardware encoding and RTMP publishing supported.
C
48
star
22

pili-sdk-php.v2

Pili Streaming Cloud Server-Side Library For PHP, Version 2
PHP
46
star
23

pili-sdk-go

Pili Streaming Cloud server-side library for Go
Go
38
star
24

PLWinPlayer

PLWinPlayer 是七牛推出的一款适用于 Windows 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。
C++
38
star
25

pili-streaming-react-native

pili-streaming-react-native 是支持 React Native 项目添加直播推流功能的 SDK,底层基于 PLDroidMediaStreaming (Android) 和 PLMediaStreamingKit(iOS) 实现。
Java
37
star
26

pili-react-native

Pili Streaming Cloud React Native SDK
Java
32
star
27

pili-sdk-go.v2

Pili Streaming Cloud Server-Side Library For Go, Version 2
Go
28
star
28

PLLiving

The best practice of Pili iOS Streaming SDK
Objective-C
26
star
29

PLRTCStreamingKit

PLRTCStreamingKit 是七牛推出的一款适用于 iOS 平台的连麦互动 SDK,支持低延时音视频通话、RTMP 直播推流,可快速开发一对一视频聊天、多人视频会议、网红直播连麦、狼人杀、娃娃机等应用,接口简单易用,支持高度定制以及二次开发。
Objective-C
24
star
30

pili-sdk-ruby

Pili Streaming Cloud server-side library for Ruby
Ruby
23
star
31

pili-videojs-example

An example application in Video.js
JavaScript
22
star
32

QPlayer2-IOS

HTML
21
star
33

QNRTC-WxApp

QNRTCWxApp 是七牛云推出的一款适用于微信小程序平台的实时音视频 SDK,提供了包括音视频通话、静音、发布、订阅多种功能,
20
star
34

PLLiveCourse

Pili 公开课
Objective-C
19
star
35

QNRTC-SampleCode-Video-Basic

Sample Code 工程用于展示如何 加入/离开 房间,发布/订阅 音视频数据流,动态 启用/禁用 本地音视频数据流,切换前后置摄像头等功能使用
Objective-C
17
star
36

QNRTC-Windows

QNRTCWin 是七牛云推出的一款适用于 Windows 平台的实时音视频 SDK,提供了灵活的接口,支持高度定制以及二次开发。
C++
16
star
37

pili-sdk-csharp

C#
13
star
38

PLDroidMediaStreaming-ByteDance

Java
13
star
39

pilipilid

pilipilid
JavaScript
13
star
40

PLMediaStreamingKit-ByteDance

PLMediaStreamingKit-ByteDance 是七牛推出的一款适用于 iOS 平台的具有高级特效功能的推流 SDK,提供了包括高级美颜、高级滤镜、动态贴纸、水印、推流、混音、QUIC等在内的多种功能,支持高度定制以及二次开发。
Objective-C
13
star
41

cpili

A command line tool for streaming an h.264 / aac / flv file over RTMP
C
12
star
42

pili-sdk-demo-server

七牛直播/连麦 SDK 官方 demo 的后台业务服务器代码
Go
10
star
43

QNRTC-Linux

QNRTCLinux 是七牛云推出的一款适用于 Linux 平台的实时音视频 SDK,提供了灵活的接口,支持高度定制以及二次开发。
C++
8
star
44

QNCube_Android

牛魔方是七牛云推出的一款基于七牛rtc的方案研发demo集合app,包含了面试场景、工业检修、在线教育、在线ktv、互动娱乐、一起看电影、在线考试,语聊房、pk直播解决方案demo。
Kotlin
8
star
45

docs

documentation for Pili
7
star
46

QNRTC-Uniapp

Objective-C
7
star
47

PLVendorLibs

The Third Party Dependency Libraries of iOS
C
7
star
48

QNLiveKit_Web

互动直播低代码Web
TypeScript
6
star
49

pili-sdk-go-example

CSS
6
star
50

PLDroidShortVideo-ByteDance

Lua
5
star
51

QNRTPlayer-Web

TypeScript
5
star
52

PLShortVideoKit-ByteDance

Lua
5
star
53

QNRTCLive-iOS

Lua
3
star
54

pili-sdk-c

Pili Streaming Cloud server-side library for C/C++
C
3
star
55

QNLiveKit_Server

互动直播低代码服务端
Go
3
star
56

QNShortVideo-ByteDance

Things related to ByteDance SDK and QNShortVideo SDK
Objective-C
3
star
57

pili-camera-sdk-demo

An example based on the pili-camera-sdk
C
3
star
58

QNLiveKit_Android

互动直播低代码Android
Kotlin
3
star
59

QNAISDK-iOS

Objective-C
3
star
60

PLMediaStreaming-RongCloud

Java
3
star
61

PLMediaStreaming-ByteDance

Things related to ByteDance SDK and PLMediaStreaming SDK
Objective-C
3
star
62

QNCube_Web

TypeScript
3
star
63

QNRTCLive-Android

Lua
2
star
64

QNRTC-Signal

Signal API for QNRTC
2
star
65

QNRTPlayer-iOS

Objective-C
2
star
66

QNDroidIMSDK

Java
2
star
67

QNLiveKit_iOS

互动直播低代码iOS
Objective-C
1
star
68

QPlayer2-Windows

HTML
1
star
69

QNRTC-ByteDance-Android

Lua
1
star
70

QNUniappIMSDK

QNUniappIMSDK
Vue
1
star
71

QNCube_Server

Go
1
star
72

QNVideoTemplate-Android

Java
1
star
73

QAuth_iOS

一键登录对外demo
Objective-C
1
star
74

NiuVideo-iOS

七牛 SDK 演示型 app 源码
Objective-C
1
star
75

QNShortVideo-FaceUnity

Things related to FaceUnity SDK and QNShortVideo SDK
Java
1
star
76

QNDroidWhiteBoardSDK

Kotlin
1
star
77

QNRTPlayer-Android

Java
1
star