ksvc / KSYMediaPlayer_iOS

金山云iOS播放SDK(KSYUN Live Streaming player SDK),支持RTMP HTTP-FLV HLS 协议(supporting RTMP HTTP-FLV HLS protocol),直播延时2-3秒(Living delay 2 or 3 seconds)
http://v.ksyun.com/
Apache License 2.0
561 stars 143 forks source link

iOS 11以下系统,是否支持hevc软解 #75

Open EalenLuo opened 6 years ago

EalenLuo commented 6 years ago

你好,我想问下,该项目iOS 11以下系统,是否支持对hevc进行软解呢?

mayudong1 commented 6 years ago

支持的,在不支持硬解的系统上会自动使用软解来进行hevc的解码

EalenLuo commented 6 years ago

使用cocopods集成到项目中,并按照wiki指导进行初始化:https://github.com/ksvc/KSYMediaPlayer_iOS/wiki/rapidIntegration

视频播放不出来,无画面,也没声音

以下为打印台log: 2017-12-07 15:26:01.940175+0800 XFKSYMediaPlayer[2682:911727] [DYMTLInitPlatform] platform initialization successful 2017-12-07 15:26:02.114045+0800 XFKSYMediaPlayer[2682:911510] ------ Player Configuration ------ 2017-12-07 15:26:02.114146+0800 XFKSYMediaPlayer[2682:911510] sdk version = 2.9.3.2 2017-12-07 15:26:02.114175+0800 XFKSYMediaPlayer[2682:911510] shouldAutoplay = 1 2017-12-07 15:26:02.114191+0800 XFKSYMediaPlayer[2682:911510] shouldLoop = 0 2017-12-07 15:26:02.114205+0800 XFKSYMediaPlayer[2682:911510] shouldMute = 0 2017-12-07 15:26:02.114218+0800 XFKSYMediaPlayer[2682:911510] shouldHideVideo = 0 2017-12-07 15:26:02.114309+0800 XFKSYMediaPlayer[2682:911510] decodeMode = 2 2017-12-07 15:26:02.114356+0800 XFKSYMediaPlayer[2682:911510] bufferTimeMax = 2.000000 2017-12-07 15:26:02.114374+0800 XFKSYMediaPlayer[2682:911510] scalingMode = 1 2017-12-07 15:26:02.114387+0800 XFKSYMediaPlayer[2682:911510] prepareTimeout = 10 2017-12-07 15:26:02.114398+0800 XFKSYMediaPlayer[2682:911510] readTimeout = 30 2017-12-07 15:26:02.114410+0800 XFKSYMediaPlayer[2682:911510] ------ Player Configuration end ------ 2017-12-07 15:26:02.119056+0800 XFKSYMediaPlayer[2682:911510] applicationDidBecomeActive: 0 2017-12-07 15:26:02.119137+0800 XFKSYMediaPlayer[2682:911510] applicationDidBecomeActive: 0 2017-12-07 15:26:02.144125+0800 XFKSYMediaPlayer[2682:911510] Metal GPU Frame Capture Enabled 2017-12-07 15:26:02.144435+0800 XFKSYMediaPlayer[2682:911510] Metal API Validation Enabled 2017-12-07 15:26:02.177719+0800 XFKSYMediaPlayer[2682:911510] libMobileGestalt MobileGestaltSupport.m:153: pid 2682 (XFKSYMediaPlayer) does not have sandbox access for frZQaeyWLUvLjeuEK43hmg and IS NOT appropriately entitled 2017-12-07 15:26:02.177775+0800 XFKSYMediaPlayer[2682:911510] libMobileGestalt MobileGestalt.c:550: no access to InverseDeviceID (see rdar://problem/11744455) 2017-12-07 15:26:02.221434+0800 XFKSYMediaPlayer[2682:911510] OK setup GL after scale width 640 height 360 m_max_ref_frames 1 flushed last keyframe pts 0 2017-12-07 15:26:02.431809+0800 XFKSYMediaPlayer[2682:911510] FFP_MSG_SAR_CHANGED: 0, 1 2017-12-07 15:26:02.431861+0800 XFKSYMediaPlayer[2682:911510] FFP_MSG_PREPARED after scale width 640 height 360 Video: first frame decoded [GLES2] Version = OpenGL ES 2.0 Metal - 39.9 [GLES2] Vendor = Apple Inc. [GLES2] Renderer = Apple A9 GPU [GLES2] Extensions = GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_vertex_array_object GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_draw_instanced GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_pvrtc_sRGB GL_EXT_read_format_bgra GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_sRGB GL_EXT_texture_filter_anisotropic GL_EXT_texture_rg GL_EXT_texture_storage GL_APPLE_clip_distance GL_APPLE_color_buffer_packed_float GL_APPLE_copy_texture_levels GL_APPLE_framebuffer_multisample GL_APPLE_rgb_422 GL_APPLE_sync GL_APPLE_texture_format_BGRA8888 GL_APPLE_texture_max_level GL_APPLE_texture_packed_float GL_IMG_read_format GL_IMG_texture_compression_pvrtc create render yuv420sp_vtb use render yuv420sp_vtb 2017-12-07 15:26:02.486223+0800 XFKSYMediaPlayer[2682:911756] IJKSDLGLView: renderbufferStorage fromDrawable [GLES2] invalid width/height for gravity aspect 2017-12-07 15:26:02.500437+0800 XFKSYMediaPlayer[2682:911510] FFP_MSG_VIDEO_RENDERING_START 2017-12-07 15:26:02.502798+0800 XFKSYMediaPlayer[2682:911510] FFP_MSG_AUDIO_RENDERING_START

可以问下这是为什么吗?

mayudong1 commented 6 years ago

你可以直接clone下本仓库的代码,然后使用提供的demo来试试播放时什么效果
如果依然不能播放的话,应该就是不支持测试用的视频
另:测试用的视频是如何得到的,什么编码格式什么封装格式的呢

EalenLuo commented 6 years ago

是本地视频:h265编码,MP4封装,测试机为:iPhone6s iOS10.3.3 以下是测试视频的网盘地址: https://pan.baidu.com/s/1bXaUhK

mayudong1 commented 6 years ago
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSString* path = [[NSBundle mainBundle]pathForResource:@"720P_30FPS" ofType:@"mp4"];
    NSURL* url = [NSURL URLWithString:path];
    player = [[KSYMoviePlayerController alloc]initWithContentURL:url];
    player.view.frame = self.view.bounds;
    [self.view addSubview:player.view];
    [player prepareToPlay];
}

以上代码测试是可以播放的(本地文件或者http方式都可以),你查一下是不是跟其他什么东西有冲突导致的吧

EalenLuo commented 6 years ago

好的,感谢,测试了是我代码问题。4K的播放会卡顿,是软解性能导致的吗?该项目软解h265,最大支持的分辨率是多大呢?