• Stars
    star
    542
  • Rank 81,982 (Top 2 %)
  • Language
    Objective-C
  • License
    Apache License 2.0
  • Created over 8 years ago
  • Updated 6 months ago

Reviews

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

Repository Details

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

PLMediaStreamingKit

PLMediaStreamingKit 是一个适用于 iOS 的 RTMP 直播推流 SDK,可高度定制化和二次开发。特色是支持 iOS Camera 画面捕获并进行 H.264 硬编码,以及支持 iOS 麦克风音频采样并进行 AAC 硬编码;同时,还根据移动网络环境的多变性,实现了一套可供开发者灵活选择的编码参数集合。借助 PLMediaStreamingKit,开发者可以快速构建一款类似 MeerkatPeriscope 的手机直播应用。PLMediaStreamingKit 支持两种不同层次的 API,分别为 PLMediaStreamingKit 和 PLStreamingKit, PLStreamingKit 提供包括音视频编码,封包以及网络发送功能,PLMediaStreamingKit 除了提供 PLStreamingKit 的功能以外还提供了内置的采集,音视频处理以及一些系统打断事件的处理等。我们强烈推荐对音视频没有太多了解的开发者使用 PLMediaStreamingKit 提供的 API 进行开发,如果您对音视频数据的采集和处理有更多的需求,那么需要使用 PLStreamingKit 提供的 API 进行开发,不过在进行开发之前请确保您已经掌握了包括音视频采集,编码以及处理等相关的基础支持。

功能特性

  • 支持硬件编码
  • 多码率可选
  • 支持 H.264 视频编码
  • 支持 AAC 音频编码
  • 支持前后摄像头
  • 支持自动对焦
  • 支持手动调整对焦点
  • 支持闪光灯操作
  • 支持多分辨率编码
  • 支持 HeaderDoc 文档
  • 支持构造带安全授权凭证的 RTMP 推流地址
  • 支持 ARMv7, ARM64, i386, x86_64 架构
  • 支持 RTMP 协议直播推流
  • 支持音视频配置分离
  • 支持推流时可变码率
  • 提供发送 buffer
  • 支持 Zoom 操作
  • 支持音频 Mute 操作
  • 支持视频 Orientation 操作
  • 支持自定义 DNS 解析
  • 支持弱网丢帧策略
  • 支持纯音频或纯视频推流
  • 支持后台音频推流
  • 支持自定义滤镜功能
  • 内置水印功能
  • 内置美颜功能
  • 支持返听功能
  • 支持内置音乐播放器混音功能
  • 支持内置音效功能
  • 内置动态帧率功能
  • 内置自适应码率功能
  • 内置断线及网络切换自动重连功能
  • 支持预览与直播流分别镜像
  • 支持自定义音视频处理
  • 支持苹果 ATS 安全标准
  • 提供两种层次的 API,灵活选择,高可定制性与简单两不误
  • 支持后台推图片功能
  • 支持 QUIC 推流功能
  • 支持推流 SEI 功能
  • 支持动态设置 userUID 功能
  • 支持编码时设置图像填充方式

系统要求

  • iOS Target : >= iOS 8
  • iOS Device : >= iPhone 5

版本升级

  • 从 v3.0.7 开始,HappyDNS 版本更新至 v1.0.0
  • 从 v3.0.0 版本开始,七牛直播推流 SDK 需要先获取授权才能使用。授权分为试用版和正式版,可通过 400-808-9176 转 1 号线联系七牛商务咨询,或者 通过工单 联系七牛的技术支持。
  • v3.0.0 之前的版本不受影响,请继续放心使用。
  • 老客户升级 v3.0.0 版本之前,请先联系七牛获取相应授权,以免发生鉴权不通过的现象。
  • 基于 114 dns 解析的不确定性,使用该解析可能会导致解析的网络 ip 无法做到最大的优化策略,进而出现推流质量不佳的现象。因此建议使用非 114 dns 解析

安装方法

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

$ sudo gem install cocoapods

构建 PLMediaStreamingKit 2.0.0+ 需要使用 CocoaPods 0.39.0+

Podfile

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

source 'https://github.com/CocoaPods/Specs.git'
target 'TargetName' do
pod 'PLMediaStreamingKit'
end
  • 默认为真机版
  • 若需要使用模拟器 + 真机版,则改用如下配置
pod "PLMediaStreamingKit", :podspec => 'https://raw.githubusercontent.com/pili-engineering/PLMediaStreamingKit/master/PLMediaStreamingKit-Universal.podspec'	

注意:鉴于目前 iOS 上架,只支持动态库真机,请在 App 上架前,更换至真机版本

然后,运行如下的命令:

$ pod install

PLMediaStreamingKit 文档

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

反馈及意见

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

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

More Repositories

1

PLDroidPlayer

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

PLPlayerKit

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

PLDroidShortVideo

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

PLDroidMediaStreaming

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

PLCameraStreamingKit

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

PLShortVideoKit

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

wxapp-live-demo

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

QNRTC-Web

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

pili-sdk-java

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

pili-librtmp

C
116
star
13

QNRTC-Android

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

QPlayer2-Android

HTML
96
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

pili-sdk-python

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

QNRTC-iOS

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

QPlayer2-IOS

HTML
25
star
30

PLRTCStreamingKit

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

pili-sdk-ruby

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

pili-videojs-example

An example application in Video.js
JavaScript
22
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

QNCube_Android

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

QNRTC-Linux

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

docs

documentation for Pili
7
star
46

PLVendorLibs

The Third Party Dependency Libraries of iOS
C
7
star
47

QNRTC-Uniapp

Objective-C
7
star
48

QPlayer2-HarmonyOS-NEXT

TypeScript
7
star
49

QNLiveKit_Web

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

PLDroidShortVideo-ByteDance

Lua
6
star
51

pili-sdk-go-example

CSS
6
star
52

QNRTPlayer-Web

TypeScript
5
star
53

PLShortVideoKit-ByteDance

Lua
5
star
54

QNRTCLive-iOS

Lua
3
star
55

pili-sdk-c

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

QNLiveKit_Server

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

QNShortVideo-ByteDance

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

pili-camera-sdk-demo

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

QNLiveKit_Android

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

QNAISDK-iOS

Objective-C
3
star
61

PLMediaStreaming-RongCloud

Java
3
star
62

PLMediaStreaming-ByteDance

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

QNCube_Web

TypeScript
3
star
64

QPlayer2-Windows

HTML
2
star
65

QNRTCLive-Android

Lua
2
star
66

QNRTC-Signal

Signal API for QNRTC
2
star
67

QNRTPlayer-iOS

Objective-C
2
star
68

QNDroidIMSDK

Java
2
star
69

QNLiveKit_iOS

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

QNRTC-ByteDance-Android

Lua
1
star
71

QNUniappIMSDK

QNUniappIMSDK
Vue
1
star
72

QNVideoTemplate-Android

Java
1
star
73

QAuth_iOS

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

QNCube_Server

Go
1
star
75

NiuVideo-iOS

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

QNShortVideo-FaceUnity

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

QNDroidWhiteBoardSDK

Kotlin
1
star
78

QNRTPlayer-Android

Java
1
star