Giter Club home page Giter Club logo

plplayerkit's Introduction

plplayerkit's People

Contributors

anhaoxiong avatar astatus avatar betallcoffee avatar depthlove avatar geeklok avatar herashowfeng avatar kivenhaoyu avatar lawder avatar longbai avatar why404 avatar wickedgenius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plplayerkit's Issues

如何切换播放的 URL?

URL 现在是在建立 player 的时候指定的,那若是中途想要切换 URL (例如从普通画质切换到高清),该怎么做呢?

我现在的做法是把 player 设为 nil,然后再重新生成一个新的 player,有没有更好的作法呢?

流状态监听回调

1.推送端停止后,没有回调产生
2.推送端再次推流时,产生错误回调。

如果能监听流的状态,比如有推流时,就自动收听最好了

进入后台后需要处理状态

这里应该提供两种可选方案:
1、进入后台后都停止;
2、进入后台后,只播放声音,但画面停止,回到前台后继续播放画面;

播放器是否可以变成竖屏的?

现在默认似乎只能是宽屏幕的播放方式,也就是上下会有两条黑色

我设置宽高的代码如下:

self.videoPlayerController.playerView.frame = CGRectMake(0, -40, screen.applicationFrame.size.width, screen.applicationFrame.size.height);
self.videoPlayerController.playerView.center = CGPointMake(CGRectGetMidX(screen.bounds), CGRectGetMidY(screen.bounds));

盼答复,感谢

音频后台播放问题

如题,希望咱们的纯音频播放器可以支持后台播放流。需求迫切希望能够尽快提供,谢谢

iOS9,升级至1.2.20,出现warning

您好,plplayerKit已升级至1.2.20。build之后出现好多的warning:warning: Could not resolve external type c:objc(cs)NSArray。请问如何解决?

ContentMode设置无效,播放进度不准确,无论是直播还是非直播都不执行播放结束

1.ContentMode设置无效
使用播放器配置(见下)进行设置,无效
parameters[PLVideoParameterFrameViewContentMode] = @(UIViewContentModeScaleAspectFill);
直接设置播放视图的ContentMode(见下),无效too
[self.videoPlayerController.playerView setContentMode:UIViewContentModeScaleAspectFill];
播放时始终保持UIViewContentModeScaleAspectFit模式进行(见下图),左边两边的黑边为self.videoPlayerController.playerView产生,非视图背景色(该视图背景色为灰色)
ios simulator screen shot 2015 7 23 10 41 20

2.测试视频,格式mp4,本地显示视频时长为13秒
image
调试打印的视频长度为12.56秒,但最终播放到11.53秒停止,播放进度为91%(见下图打印信息)。后经测试所有视频均播放到90+%就停止播放。上两图分别为模拟器使用PLPlayerKit和使用osx系统预览播放到最后停止的画面。
image

3.无论是直播还是非直播都不执行播放结束。个人猜测,非直播视频无法通知结束是由问题2所引起的,播放进度无法达到100%,故PLPlayerKit不通知视频播放结束。另外直播也不会通知播放结束,具体直播是怎么判断结束的我也不懂,但本人非常希望有此功能。

调试环境:osx 10.10.4,Xcode 6.4,模拟器iOS 7.1 4S

祝好。

player接收回调问题

设备A进行直播推流,设备B观看直播,这时直播设备A停止推流(直播流未删除),设备B大约等了1分钟40秒player才收到回调(PLPlayerStateEnded)。
希望当设备A停止推流(直播流未删除),设备B可以马上收到回调。谢谢。

升级2.0后问题

1.运行demo,视频播放不流畅
2.运行demo,播放过程中出现log:Error: AudioQueueEnqueueBuffer failed (-66686)
3.运行demo,停止客户端推流,过一段时间播放器端log出现:ERROR: RTMP_ReadPacket, failed to read RTMP packet header
4.运行demo,偶尔会出现Received memory warning.

上述Error均未在代理PLPlayerDelegate中捕获。

PLPlayerKit取消缓存

PLPlayerKit可以取消缓存吗,比如:暂停,然后继续播放,会从暂停的地方继续播放.现在应该是这样的吧

crashed after play-->stop-->play

here is log:
-[KxVideoFrameRGB luma]: unrecognized selector sent to instance 0x1702852d0
libc++abi.dylib: terminate_handler unexpectedly threw an exception

should I release it after stop and create a new PLVideoPlayerController when I need to play again?

播放崩溃问题

在Github下载PLPlayerKit demo,然后设置自己摄像头的rtmp地址,播放就崩溃;

[KxMovieDecoder openInput:]发生错误非常常见,我们几个人测试一会,就发生了十几次这个错误

0 AGVideo av_strstart
1 AGVideo rtp_probe
2 AGVideo av_probe_input_format3
3 AGVideo av_probe_input_format2
4 AGVideo avformat_open_input
5 AGVideo -[KxMovieDecoder openInput:] [KxMovieDecoder.m line 782]
6 AGVideo -[KxMovieDecoder openFile:error:] [KxMovieDecoder.m line 735]
7 CoreFoundation
8 CoreFoundation
9 Foundation
10 UIKit
11 libdispatch.dylib
12 libdispatch.dylib
13 libdispatch.dylib
14 libdispatch.dylib
15 CoreFoundation
16 CoreFoundation
17 CoreFoundation
18 GraphicsServices
19 UIKit
20 AGVideo main [main.m line 14]
21 libdyld.dylib

旋转之后画面会错位

  1. 在我的 view controller 上有一个 carrierView,我用 auto layout 配置它
  2. 我把 playerView 的 auto resizing 设为 UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight,并且 playerView.frame = carrierView.bounds
  3. 我用 [carrierView addSubview:playerView] 把它加到 carrierView
  4. 在我旋转装置的时候,画面时常会错位,例如应该是出现在画面**,却显示在左上或右下角。这情况不是每次都会发生,但发生机率非常高。

请问有可能是什么原因

优化 Cache

优化内容

  • 以时间为单位 cache 音视频,解决弱网播放时断断续续的问题
  • 返回 caching 状态,以便开发者可以在交互上做相应处理

seekTo 的功能需要优化

收到反馈:”
我觉得的正常流程可能是这样的:
用户跳到某个时间点,播放器画面停止,状态为“caching”,等cache的差不多了,在开始播放画面

现在的流程是:
用户跳到某个时间点,播放器画面继续播放原来时间点的内容,状态“playing”->”caching”->”playing”->”caching”->”playing”(这个过程很快), 然后过了2~3秒画面跳到指定时间点播放

初始化的实例的时候crash了

2015-05-18 16:55:18.805 AGVideo[4425:1760805] -[KxMovieController setDelegate:]: unrecognized selector sent to instance 0x1741699c0
2015-05-18 16:55:18.807 AGVideo[4425:1760805] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[KxMovieController setDelegate:]: unrecognized selector sent to instance 0x1741699c0'
*** First throw call stack:
(0x184cfc2d8 0x1964d00e4 0x184d033a4 0x184d00154 0x184c02ccc 0x1002c67c0 0x1002c6688 0x100113bd0 0x101e2cfd4 0x101e2cf94 0x101e3ab54 0x101e3c248 0x196d0122c 0x196d00ef0)
libc++abi.dylib: terminating with uncaught exception of type NSException

播放和停止播放切换崩溃问题以及如何画面显示正常比例

载了新的demo运行后,也发现几个问题:

1.不知道如何将直播画面,按照正常的比例显示;我这边已经设置了playerView的坐标以及playerView.contentMode 模式,都不能按照正常比例显示,
希望能demo中告知如何设置画面正常比例显示;

2.在播放和停止播放切换时,还是会有崩溃的问题;

RTMP语音直播时断时续

接收语音时断时续,经常安静几秒之后又有声音,很不稳定。
看了一下日志,有很多的 Error: AudioQueueEnqueueBuffer failed (-66686)

但安卓没有问题。

Cannot play RTMP

It seems that it cannot play any rtmp video very well, I ran your example project with XCode 6.4, iOS 8.1.3 The video won't play and timeout, but if it can play, the audio enqueue error therefore no sounds coming out. Here's the log of XCode:

2015-11-16 13:58:50.105 PLPlayerKit[26455:5232814] PLPlayerStatusPreparing
2015-11-16 13:58:50.190 PLPlayerKit[26455:5232814] Success setup GL programm
2015-11-16 13:58:50.191 PLPlayerKit[26455:5232814] Success setup GL
2015-11-16 13:58:50.191 PLPlayerKit[26455:5232831] PLPlayerStatusReady
2015-11-16 13:58:50.191 PLPlayerKit[26455:5232814] PLPlayerStatusPlaying
2015-11-16 13:58:50.193 PLPlayerKit[26455:5232814] Success setup GL framebuffer 320:568

and it stops here, should I upgrade my os to iOS9?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.