Giter Club home page Giter Club logo

ksymediaplayer_ios's Issues

网络切换的状态不对

监听 MPMoviePlayerNetworkStatusChangeNotification 通知,在通知里去获取当前播放器的networkStatus,拿到的值是上一次的网络状态,与当前网络不一致。

测试案例 ,蜂窝移动网络关闭,wifi打开,播放视频,然后关闭wifi,这个时候的网络状态应该是不可用的,但是返回的状态还是wifi状态,然后再打开wifi,这个时候返回的状态就是不可用的状态了,但此时网络状态应该是wifi才对。

播放错误,获取错误停止的时间。

我用一个实例去播放不同的视频,类似微博自动播放视频,会出现-10011这个错误,频率比较高。报错日志:
2017-09-14 20:01:55.277735+0800 AmusementVideo[16604:4096166] FFP_MSG_SEEK_COMPLETE
2017-09-14 20:01:55.291854+0800 AmusementVideo[16604:4096166] FFP_MSG_BUFFERING_END
2017-09-14 20:01:55.292018+0800 AmusementVideo[16604:4096166] loading cost 1.845417 seconds with 33 times
2017-09-14 20:01:55.293864+0800 AmusementVideo[16604:4096166] player playback state: 1
after scale width 1280 height 720

如何获得 1.845417这个时间点?

播放过程中分辨率改变了

播放过程中有的推流地址分辨率改变了,监听了尺寸改变的通知,可SDK没有好像没有提供解决方案,可用此地址rtmp://rlive.jia.360.cn/live_jia_public/36060744749放到Demo中测试

當發佈端停止發佈音頻時,視頻卡住

  1. 當發佈端停止發佈音頻時,視頻卡住不動。
    發佈端重新發佈音頻時,視頻快轉(緩衝部分),音頻正常。
  2. 當發佈端停止發佈音頻時,視頻卡住不動。
    播放端重新連接視頻,視頻正常,
    接著發佈端重新發佈音頻,播放端無聲音。

iOS版本在iphone5手机ios7下运行crash

如图:出现类似诸如“KSYReachabillity.o was built for newer iOS version(8.0) than being linked 7.0”的警告(有数十个),运行在iOS8.1、9.0、10.3的机子上均正常,但运行在iphone5 ios7.1的机子上crash。

image

Deprecated Notification

Hey,

I am trying to listen for various changes in the player. When I add observers on certain notification names like: MPMediaPlaybackIsPreparedToPlayDidChangeNotification, MPMoviePlayerPlaybackStateDidChangeNotification, MPMoviePlayerPlaybackDidFinishNotification etc.

Deprecated in iOS 9.0: No longer supported. 

shouldAutoplay 和 prepareToPlay

shouldAutoplay在prepareToPlay后设置无效。
有场景可能在调用prepareToPlay后发现需要重新设置shouldAutoplay。望处理

视频快进获取缩略图卡顿

下面两句代码我是放到了Slider的valueChange方法里的,滑动了Slider就去获取缩略图 然后显示出来

 UIImage *thumbImage=[self.prober getVideoThumbnailImageAtTime:interval width:0 height:0];
    
 self.srcImageView.image=thumbImage;

运行之后 ,发现放到主线程里获取缩略图会显得有些卡顿,

然后就改了一下,把获取缩略图的方法放到了子线程里执行,获取到了图片之后放回到主线程设置图片,用gcd创建了一个串行队列,代码如下

dispatch_queue_t queue=dispatch_queue_create("playerCaptureThumbQueue", DISPATCH_QUEUE_SERIAL);
    dispatch_async(queue, ^{
        
        UIImage *thumbImage=[self.prober getVideoThumbnailImageAtTime:interval width:0 height:0];
        dispatch_async(dispatch_get_main_queue(), ^{
           self.srcImageView.image=thumbImage;
        });
  });

运行之后发现获取的缩略图是如代码所设置的,一个一个获取的,当手指松开拖动Slider的时候,UIImageView中显示的图片还是一个一个加载的 会持续一会儿

然后我把串行队列改成了并行队列,程序执行 ,拖动了一下Slider之后,就崩溃了,想问一下有没有解决方案呢。

請問這是開源的SDK嗎?

請問使用此SDK需要收費嗎?是否支援RTSP?可連續播放avi檔案不間斷嗎?是否可提供點播framework 的範例程式?有swift語法的更好.

工程导入报错

/Users/lyy/Desktop/研究/嘉定残联/sunhome_jdcl(workingcopy)/Pods/KSYMediaPlayer_iOS/framework/vod/KSYMediaPlayer.framework/Headers/KSYMoviePlayerDefines.h:142:1: error: unknown type name 'MP_EXTERN'
MP_EXTERN NSString *const MPMediaPlaybackIsPreparedToPlayDidChangeNotification;
^
/Users/lyy/Desktop/研究/嘉定残联/sunhome_jdcl(workingcopy)/Pods/KSYMediaPlayer_iOS/framework/vod/KSYMediaPlayer.framework/Headers/KSYMoviePlayerDefines.h:142:19: error: expected ';' after top level declarator
MP_EXTERN NSString *const MPMediaPlaybackIsPreparedToPlayDidChangeNotification;
^
;
/Users/lyy/Desktop/研究/嘉定残联/sunhome_jdcl(workingcopy)/Pods/KSYMediaPlayer_iOS/framework/vod/KSYMediaPlayer.framework/Headers/KSYMoviePlayerDefines.h:145:1: error: unknown type name 'MP_EXTERN'
MP_EXTERN NSString * const MPMoviePlayerPlaybackStateDidChangeNotification;
^
/Users/lyy/Desktop/研究/嘉定残联/sunhome_jdcl(workingcopy)/Pods/KSYMediaPlayer_iOS/framework/vod/KSYMediaPlayer.framework/Headers/KSYMoviePlayerDefines.h:145:19: error: expected ';' after top level declarator
MP_EXTERN NSString * const MPMoviePlayerPlaybackStateDidChangeNotification;
^
;
/Users/lyy/Desktop/研究/嘉定残联/sunhome_jdcl(workingcopy)/Pods/KSYMediaPlayer_iOS/framework/vod/KSYMediaPlayer.framework/Headers/KSYMoviePlayerDefines.h:148:1: error: unknown type name 'MP_EXTERN'
MP_EXTERN NSString * const MPMoviePlayerPlaybackDidFinishNotification;
^
/Users/lyy/Desktop/研究/嘉定残联/sunhome_jdcl(workingcopy)/Pods/KSYMediaPlayer_iOS/framework/vod/KSYMediaPlayer.framework/Headers/KSYMoviePlayerDefines.h:148:19: error: expected ';' after top level declarator
MP_EXTERN NSString * const MPMoviePlayerPlaybackDidFinishNotification;
^
;
/Users/lyy/Desktop/研究/嘉定残联/sunhome_jdcl(workingcopy)/Pods/KSYMediaPlayer_iOS/framework/vod/KSYMediaPlayer.framework/Headers/KSYMoviePlayerDefines.h:149:1: error: unknown type name 'MP_EXTERN'
MP_EXTERN NSString * const MPMoviePlayerPlaybackDidFinishReasonUserInfoKey; // NSNumber (MPMovieFinishReason)
^
/Users/lyy/Desktop/研究/嘉定残联/sunhome_jdcl(workingcopy)/Pods/KSYMediaPlayer_iOS/framework/vod/KSYMediaPlayer.framework/Headers/KSYMoviePlayerDefines.h:149:19: error: expected ';' after top level declarator
MP_EXTERN NSString * const MPMoviePlayerPlaybackDidFinishReasonUserInfoKey; // NSNumber (MPMovieFinishReason)
^
;
/Users/lyy/Desktop/研究/嘉定残联/sunhome_jdcl(workingcopy)/Pods/KSYMediaPlayer_iOS/framework/vod/KSYMediaPlayer.framework/Headers/KSYMoviePlayerDefines.h:152:1: error: unknown type name 'MP_EXTERN'
MP_EXTERN NSString * const MPMoviePlayerLoadStateDidChangeNotification;

iOS端加载流走 MPMoviePlayerPlaybackDidFinishNotification 通知,但是同一个流在PC端是可以播放的

在iOS和Android端都会遇到的同一个问题,因为需求原因同一个直播间的直播流是动态变化的,每次进入直播间的流都不同,加载多次之后偶发性的会走 MPMoviePlayerPlaybackDidFinishNotification 这个通知方法,测试走 MPMoviePlayerPlaybackDidFinishNotification 通知的流在PC端是可以播放的。请问这个可能是什么原因造成的呢?

isPreparedToPlay参数失效

isPreparedToPlay参数不正确。MPMediaPlaybackIsPreparedToPlayDidChangeNotification监听还没有告诉已经准备好了,但是调用isPreparedToPlay参数返回true,返回已经准备好状态。

加载直播或者播放直播中 会崩溃

使用的sdk的版本是2.5.0 iPhone6 plus 10.3.2
0 CoreFoundation 0x000000018930eff8 + 148
1 libobjc.A.dylib 0x0000000187d70538 objc_exception_throw + 56
2 CoreFoundation 0x000000018930ef28 + 0
3 jiuduzhibo 0x1003b10cc jiuduzhibo + 3870924
4 libsystem_platform.dylib 0x00000001883cd30c _sigtramp + 36
5 KSYMediaPlayer 0x0000000100efc988 av_packet_unref + 20
6 KSYMediaPlayer 0x0000000100efc988 av_packet_unref + 20
7 KSYMediaPlayer 0x0000000100e5bd84 stream_component_close + 200
8 KSYMediaPlayer 0x0000000100e58324 stream_close + 160
9 KSYMediaPlayer 0x0000000100e59838 ffp_wait_stop_l + 64
10 KSYMediaPlayer 0x0000000100e6f9fc -[IJKFFMoviePlayerController shutdownWaitStop:] + 44
11 Foundation 0x0000000189e022d8 + 996
12 libsystem_pthread.dylib 0x00000001883d168c + 240
13 libsystem_pthread.dylib 0x00000001883d159c + 0
14 libsystem_pthread.dylib 0x00000001883cecb4 thread_start + 4

在iOS 8.2 9 10 11的系统中中都会出现这条崩溃记录
根据我们的跟踪统计出来 这个崩溃原因占比很高

How to change the quality?

Hi.
Thanks for your good project.
I tried with the demo app. The app worked very good. But I found that the quality in publisher is better than player. Could we change the quality?
Thanks.

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.