bilibili / ijkplayer

Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
GNU General Public License v2.0
32.46k stars 8.12k forks source link

画面卡顿 #1248

Closed jksfood closed 8 years ago

jksfood commented 8 years ago

为什么我播放高清视频时,画面很卡 声音是正常的。http://recorded.live.doubo.tv/realrealcomp.mp4

jksfood commented 8 years ago

在线等 急急急

jksfood commented 8 years ago

会不会是ffmpeg软解码的问题?现在播放的视频好卡 啊

jksfood commented 8 years ago

上面的视频链接大小在130M左右,时长3分钟

jksfood commented 8 years ago

视频源我看了下 是3840*1920的,跟这个有关系吗?

Android4MediaPlayer commented 8 years ago

链接异常

Android4MediaPlayer commented 8 years ago

有没开启硬解码

jksfood commented 8 years ago

不好意思,我是gradle的,不清楚怎么开启硬解码?刚试了下 加了一句mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1);

但是好像只对nexus有效,其他的像oppo、华为、锤子都无效,请问是我硬解码的方式不对吗?

jksfood commented 8 years ago

还在吗?在线等。。。

yuazhen commented 8 years ago

上面的setOption是对的。无效的原因可能是那些手机的MediaCodec不支持那么高的分辨率吧,所以ijkplayer fallback到avcodec来解码,也就是软解。

jksfood commented 8 years ago

@yuazhen 软解?

jksfood commented 8 years ago

我该怎么样调用软解?

jksfood commented 8 years ago

mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1); mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-auto-rotate", 1);

    mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 60);
    mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max-fps", 0);
    mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "fps", 60);

上面是我硬解码的方式?在oppo手机上表现的稍微好点了,但是华为的不行,掉帧现象太严重

yuazhen commented 8 years ago

设置是对的,你可以确认下logcat中是否有选择了MediaCodec的信息,如果用ijkplayerdemo播放,画面上回显示帧率、v-cache、a-cache等信息,帧率上面会显示MediaCodec或avcodec,如果是MediaCodec则说明是硬解,如果是avcodec则说明是软解。

jksfood commented 8 years ago

E/MediaCodec: Codec reported an error. (omx error 0x80001001, internalError -1010) 这个是我在logcat中找到的信息 我的硬解是不是失败了?

jksfood commented 8 years ago

logcat中没有出现avcodec

jksfood commented 8 years ago

D/IJKMEDIA: IjkMediaPlayer_native_setup 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: av_version_info: ff3.0--ijk0.5.0--dev0.4.5--rc11 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: ffpipeline_create_from_android() 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: ijkmp_set_inject_opaque(0x1db00436) 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: ijkmp_set_inject_opaque()=void 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback() 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: ffpipeline_set_mediacodec_select_callback 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()=void 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: IjkMediaPlayer_setOptionLong 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: IjkMediaPlayer_setOptionLong 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: IjkMediaPlayer_setOptionLong 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: IjkMediaPlayer_setOptionLong 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: IjkMediaPlayer_setOptionLong 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: IjkMediaPlayer_setOptionLong 04-29 07:35:08.305 11823-11823/ E/jimo-vr-log: play url:http://recorded.live.doubo.tv/realrealcomp.mp4 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: IjkMediaPlayer_setDataSourceAndHeaders 04-29 07:35:08.305 11823-11823/ V/IJKMEDIA: setDataSource: path http://recorded.live.doubo.tv/realrealcomp.mp4 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: ijkmp_set_data_source(url="http://recorded.live.doubo.tv/realrealcomp.mp4") 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: ijkmp_set_data_source(url="http://recorded.live.doubo.tv/realrealcomp.mp4")=0 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: IjkMediaPlayer_prepareAsync 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: ijkmp_prepare_async() 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: ===== versions ===== 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: FFmpeg : ff3.0--ijk0.5.0--dev0.4.5--rc11 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: libavutil : 55.17.103 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: libavcodec : 57.24.102 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: libavformat : 57.25.100 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: libswscale : 4.0.100 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: libswresample: 2.0.101 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: ===== options ===== 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: player-opts : mediacodec = 1 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: player-opts : mediacodec-auto-rotate = 1 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: player-opts : framedrop = 60 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: player-opts : max-fps = 0 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: player-opts : fps = 60 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: format-opts : ijkinject-opaque = 498074678 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: format-opts : ijkapplication = -2099465296 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: codec-opts : skip_loop_filter = 48 04-29 07:35:08.305 11823-11823/ /IJKMEDIA: =================== 04-29 07:35:08.305 11823-15261/ /IJKMEDIA: SDL_RunThread: [15261] ff_msg_loop 04-29 07:35:08.305 11823-15261/ D/IJKMEDIA: message_loop 04-29 07:35:08.305 11823-15261/ D/IJKMEDIA: FFP_MSG_FLUSH: 04-29 07:35:08.305 11823-15262/ /IJKMEDIA: SDL_RunThread: [15262] ff_vout 04-29 07:35:08.305 11823-11823/ D/IJKMEDIA: ijkmp_prepare_async()=0 04-29 07:35:08.305 11823-15263/ /IJKMEDIA: SDL_RunThread: [15263] ff_read 04-29 07:35:08.325 11823-11823/ E/jimo-vr-log: VideoPlayerActivity onResume 04-29 07:35:08.325 11823-11823/ D/IJKMEDIA: IjkMediaPlayer_start 04-29 07:35:08.325 11823-11823/ D/IJKMEDIA: ijkmp_start() 04-29 07:35:08.325 11823-11823/ D/IJKMEDIA: ijkmp_start()=-3 04-29 07:35:08.325 11823-11823/ E/jimo-vr-log: mTimer==null 04-29 07:35:08.325 11823-11823/ E/jimo-vr-log: isActivityDestroy false 04-29 07:35:08.325 11823-15268/ E/jimo-vr-log: 继续等待加载视频 04-29 07:35:08.365 11823-11823/ E/jimo-vr-log: fuck i=56 04-29 07:35:08.365 11823-12062/ D/ImageLoader: Start display image task [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.365 11823-11823/ E/jimo-vr-log: fuck i=57 04-29 07:35:08.365 11823-11823/ E/jimo-vr-log: fuck i=58 04-29 07:35:08.365 11823-12061/ D/ImageLoader: Start display image task [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.365 11823-12062/ D/ImageLoader: Load image from disk cache [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.365 11823-12061/ D/ImageLoader: Image already is loading. Waiting... [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.365 11823-11823/ E/jimo-vr-log: fuck i=59 04-29 07:35:08.365 11823-12060/ D/ImageLoader: Start display image task [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.375 11823-12060/ D/ImageLoader: Image already is loading. Waiting... [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.375 11823-11823/ E/jimo-vr-log: fuck i=52 04-29 07:35:08.375 11823-11823/ E/jimo-vr-log: fuck i=53 04-29 07:35:08.375 11823-11823/ E/jimo-vr-log: fuck i=54 04-29 07:35:08.375 11823-11823/ E/jimo-vr-log: fuck i=55 04-29 07:35:08.395 11823-12062/ D/ImageLoader: Cache image in memory [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.395 11823-12062/ D/ImageLoader: Start display image task [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.395 11823-12061/ D/ImageLoader: ...Get cached bitmap from memory after waiting. [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.395 11823-12061/ D/ImageLoader: Start display image task [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.395 11823-12060/ D/ImageLoader: ...Get cached bitmap from memory after waiting. [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.395 11823-12061/ D/ImageLoader: Image already is loading. Waiting... [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.395 11823-12060/ D/ImageLoader: Start display image task [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.395 11823-12062/ D/ImageLoader: Load image from disk cache [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.395 11823-12060/ D/ImageLoader: Image already is loading. Waiting... [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.415 11823-12062/ D/ImageLoader: Cache image in memory [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.415 11823-12062/ D/ImageLoader: Start display image task [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.415 11823-12061/ D/ImageLoader: ...Get cached bitmap from memory after waiting. [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.415 11823-12062/ D/ImageLoader: Image already is loading. Waiting... [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.415 11823-12062/ D/ImageLoader: ...Get cached bitmap from memory after waiting. [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.415 11823-12061/ D/ImageLoader: Start display image task [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.415 11823-12060/ D/ImageLoader: ...Get cached bitmap from memory after waiting. [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.415 11823-12061/ D/ImageLoader: ...Get cached bitmap from memory after waiting. [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.435 11823-15268/ E/jimo-vr-log: 继续等待加载视频 04-29 07:35:08.455 11823-11823/ E/jimo-vr-log: current:27 04-29 07:35:08.455 11823-11823/ E/jimo-vr-log: total:100 04-29 07:35:08.465 11823-15257/ E/BufferQueue: [unnamed-11823-3] setDefaultBufferSize: dimensions cannot be 0 (w=0, h=0) 04-29 07:35:08.465 11823-15257/ D/IJKMEDIA: IjkMediaPlayer_setVideoSurface 04-29 07:35:08.465 11823-15257/ D/IJKMEDIA: ijkmp_set_android_surface(surface=0x20300005) 04-29 07:35:08.465 11823-15257/ D/IJKMEDIA: ffpipeline_set_surface() 04-29 07:35:08.465 11823-15257/ D/IJKMEDIA: ijkmp_set_android_surface(surface=0x20300005)=void 04-29 07:35:08.515 11823-15259/ D/dalvikvm: GC_FOR_ALLOC freed 5509K, 44% free 26963K/47412K, paused 33ms, total 33ms 04-29 07:35:08.515 11823-11834/ D/IJKMEDIA: IjkMediaPlayer_native_finalize 04-29 07:35:08.515 11823-11834/ D/IJKMEDIA: IjkMediaPlayer_release 04-29 07:35:08.515 11823-15263/ E/IJKMEDIA: Option ijkinject-opaque not found. 04-29 07:35:08.535 11823-15268/ E/jimo-vr-log: 继续等待加载视频 04-29 07:35:08.535 11823-11823/ D/ImageLoader: Display image in ImageAware (loaded from DISC_CACHE) [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.535 11823-11823/ D/ImageLoader: ImageAware is reused for another image. Task is cancelled. [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.535 11823-11823/ D/ImageLoader: ImageAware is reused for another image. Task is cancelled. [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.535 11823-11823/ D/ImageLoader: Display image in ImageAware (loaded from DISC_CACHE) [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.535 11823-11823/ D/ImageLoader: ImageAware is reused for another image. Task is cancelled. [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.535 11823-11823/ D/ImageLoader: ImageAware is reused for another image. Task is cancelled. [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.535 11823-11823/ D/ImageLoader: ImageAware is reused for another image. Task is cancelled. [http://7xs0qt.media1.z0.glb.clouddn.com/vr_video/1461745453976.jpg_1920x300] 04-29 07:35:08.535 11823-11823/ D/ImageLoader: ImageAware is reused for another image. Task is cancelled. [http://7xs0qt.media1.z0.glb.clouddn.com/video/1461822438998.jpg_1920x300] 04-29 07:35:08.635 11823-15268/ E/jimo-vr-log: 继续等待加载视频 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: max_frame_duration: 10.000 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'http://recorded.live.doubo.tv/realrealcomp.mp4': 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: Metadata: 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: major_brand : 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: mp42 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: minor_version : 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: 0 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: compatible_brands: 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: mp42mp41 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: creation_time : 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: 2016-03-31 05:39:08 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: Duration: 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: 00:03:01.53 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: , start: 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: 0.000000 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: , bitrate: 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: 6029 kb/s 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: Stream #0:0 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: (eng) 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: : Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x1920 [SAR 1:1 DAR 2:1], 5895 kb/s 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: , 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: 25 fps, 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: 25 tbr, 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: 25k tbn, 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: 50 tbc 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: (default) 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: Metadata: 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: creation_time : 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: 2016-03-31 05:39:08 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: handler_name : 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: Mainconcept Video Media Handler 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: encoder : 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: AVC Coding 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: Stream #0:1 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: (eng) 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 125 kb/s 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: (default) 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: Metadata: 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: creation_time : 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: 2016-03-31 05:39:08 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: handler_name : 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: #Mainconcept MP4 Sound Media Handler 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: SDL_Android_AudioTrack: CHANNEL_OUT_STEREO 04-29 07:35:08.685 11823-15263/ /IJKMEDIA: SDL_Android_AudioTrack: ENCODING_PCM_16BIT 04-29 07:35:08.695 11823-15263/ /IJKMEDIA: SDL_Android_AudioTrack_new_from_spec: init volume as 1.000000/(1.000000,0.000000) 04-29 07:35:08.695 11823-15263/ /IJKMEDIA: audio_session_id = 3776 04-29 07:35:08.695 11823-15263/ /IJKMEDIA: AudioCodec: avcodec, aac 04-29 07:35:08.695 11823-15283/ /IJKMEDIA: SDL_RunThread: [15283] ff_aout_android 04-29 07:35:08.695 11823-15284/ /IJKMEDIA: SDL_RunThread: [15284] ff_audio_dec 04-29 07:35:08.705 11823-15263/ D/IJKMEDIA: ffpipenode_create_video_decoder_from_android_mediacodec() 04-29 07:35:08.705 11823-15263/ /IJKMEDIA: ffpipenode_create_video_decoder_from_android_mediacodec: MediaCodec: H264_HIGH: enabled 04-29 07:35:08.705 11823-15263/ /IJKMEDIA: AMediaFormat: video/avc, 3840x1920 04-29 07:35:08.705 11823-15263/ D/IJKMEDIA: SDL_AMediaFormatJava_createVideoFormat 04-29 07:35:08.705 11823-15263/ E/IJKMEDIA: csd-0[43]: 00000001 04-29 07:35:08.705 11823-15263/ E/IJKMEDIA: csd-0[43]: 67640033 04-29 07:35:08.705 11823-15263/ E/IJKMEDIA: csd-0[43]: ac2ca400 04-29 07:35:08.705 11823-15263/ E/IJKMEDIA: csd-0[43]: f003c6c0 04-29 07:35:08.705 11823-15263/ E/IJKMEDIA: csd-0[43]: 52808080 04-29 07:35:08.705 11823-15263/ E/IJKMEDIA: csd-0[43]: a0000003 04-29 07:35:08.705 11823-15263/ E/IJKMEDIA: csd-0[43]: 00200000 04-29 07:35:08.705 11823-15263/ E/IJKMEDIA: csd-0[43]: 0653b42c 04-29 07:35:08.705 11823-15263/ E/IJKMEDIA: csd-0[43]: 5a240000 04-29 07:35:08.705 11823-15263/ E/IJKMEDIA: csd-0[43]: 000168eb 04-29 07:35:08.705 11823-15263/ E/IJKMEDIA: csd-0[43]: 73525000 04-29 07:35:08.705 11823-15263/ /IJKMEDIA: amc: rotate notify: 0 04-29 07:35:08.705 11823-15263/ D/IJKMEDIA: ffpipeline_select_mediacodec_l 04-29 07:35:08.705 11823-15261/ D/IJKMEDIA: FFP_MSG_VIDEO_ROTATION_CHANGED: 0 04-29 07:35:08.705 11823-15263/ /tv.danmaku.ijk.media.player.IjkMediaPlayer: onSelectCodec: mime=video/avc, profile=100, level=51 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.aac.encoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.audio.encoder.evrc 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.flac.encoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.audio.encoder.qcelp13 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: AACEncoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.amrnb.encoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.amrwb.encoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.encoder.avc 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.encoder.mpeg4 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.encoder.h263 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.h264.encoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.mpeg4.encoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.h263.encoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.vorbis.decoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/vorbis 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.mp3.decoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/mpeg 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: MP3Decoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/mpeg 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: FLACDecoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/flac 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.raw.decoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/flac 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.amrnb.decoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/3gpp 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.amrwb.decoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/amr-wb 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.aac.decoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/mp4a-latm 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: AACDecoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/mp4a-latm 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.g711.alaw.decoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/g711-alaw 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.g711.mlaw.decoder 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/g711-mlaw 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.audio.decoder.Qcelp13 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/qcelp 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.audio.decoder.evrc 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/evrc 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.avc 04-29 07:35:08.705 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/avc 04-29 07:35:08.705 11823-15263/ /tv.danmaku.ijk.media.player.IjkMediaPlayer: candidate codec: OMX.qcom.video.decoder.avc rank=800 04-29 07:35:08.725 11823-15263/ /OMXClient: Using client-side OMX mux. 04-29 07:35:08.735 11823-11823/ /Timeline: Timeline: Activity_idle id: android.os.BinderProxy@43900b88 time:215183320 04-29 07:35:08.735 11823-15268/ E/jimo-vr-log: 继续等待加载视频 04-29 07:35:08.745 11823-11823/ E/jimo-vr-log: Main onStop 04-29 07:35:08.835 11823-15268/ E/jimo-vr-log: 继续等待加载视频 04-29 07:35:08.865 11823-15263/ /IjkMediaCodecInfo: High Profile Level 4 (8,2048) 04-29 07:35:08.865 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.mpeg2 04-29 07:35:08.865 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/mpeg2 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.mpeg4 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/mp4v-es 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.h263 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/3gpp 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.vc1 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/x-ms-wmv 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.divx 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/divx 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.divx 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/divx 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.divx311 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/divx311 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.divx4 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/divx4 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.vp8 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/x-vnd.on2.vp8 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.hevc 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/hevc 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.video.decoder.hevcswvdec 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/hevc 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.h264.decoder 04-29 07:35:08.875 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/avc 04-29 07:35:08.885 11823-15263/ /tv.danmaku.ijk.media.player.IjkMediaPlayer: candidate codec: OMX.google.h264.decoder rank=200 04-29 07:35:08.885 11823-15263/ /OMXClient: Using client-side OMX mux. 04-29 07:35:08.885 11823-15263/ E/OMXMaster: A component of name 'OMX.qcom.audio.decoder.aac' already exists, ignoring this one. 04-29 07:35:08.905 11823-15263/ E/OMXNodeInstance: OMX_GetExtensionIndex OMX.google.android.index.storeMetaDataInBuffers failed 04-29 07:35:08.905 11823-15263/ W/OMXNodeInstance: OMX_GetExtensionIndex OMX.google.android.index.prepareForAdaptivePlayback failed 04-29 07:35:08.905 11823-15263/ /IjkMediaCodecInfo: Unknown Profile Level 0 (0,0) 04-29 07:35:08.905 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.mpeg4.decoder 04-29 07:35:08.905 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/mp4v-es 04-29 07:35:08.905 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.h263.decoder 04-29 07:35:08.905 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/3gpp 04-29 07:35:08.905 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.vp8.decoder 04-29 07:35:08.905 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/x-vnd.on2.vp8 04-29 07:35:08.905 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.vp9.decoder 04-29 07:35:08.905 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: video/x-vnd.on2.vp9 04-29 07:35:08.905 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: AACEncoder 04-29 07:35:08.905 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.google.raw.decoder 04-29 07:35:08.905 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/raw 04-29 07:35:08.915 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: found codec: OMX.qcom.audio.decoder.multiaac 04-29 07:35:08.915 11823-15263/ D/tv.danmaku.ijk.media.player.IjkMediaPlayer: mime: audio/mp4a-latm 04-29 07:35:08.915 11823-15263/ /tv.danmaku.ijk.media.player.IjkMediaPlayer: selected codec: OMX.qcom.video.decoder.avc rank=800 04-29 07:35:08.915 11823-15263/ D/IJKMEDIA: SDL_AMediaCodecJava_createByCodecName 04-29 07:35:08.915 11823-15310/ /OMXClient: Using client-side OMX mux. 04-29 07:35:08.935 11823-15268/ E/jimo-vr-log: 继续等待加载视频 04-29 07:35:09.025 11823-15263/ D/IJKMEDIA: SDL_AMediaCodecJava_init 04-29 07:35:09.025 11823-15259/ D/dalvikvm: GC_FOR_ALLOC freed 8940K, 46% free 25853K/47412K, paused 52ms, total 52ms 04-29 07:35:09.025 11823-15263/ D/IJKMEDIA: SDL_AMediaCodec_increaseReference(): ref=1 04-29 07:35:09.025 11823-15263/ D/IJKMEDIA: SDL_AMediaCodecJava_configure_surface 04-29 07:35:09.025 11823-15263/ E/IJKMEDIA: configure acodec:0x1d200546 format:0x1d90048a: surface:0x1d800466 04-29 07:35:09.025 11823-15310/ /ACodec: DRC Mode: Dynamic Buffer Mode 04-29 07:35:09.035 11823-15268/ E/jimo-vr-log: 继续等待加载视频 04-29 07:35:09.035 11823-15310/ E/ACodec: [OMX.qcom.video.decoder.avc] configureCodec returning error -1010 04-29 07:35:09.045 11823-15309/ E/MediaCodec: Codec reported an error. (omx error 0x80001001, internalError -1010) 04-29 07:35:09.045 11823-15263/ W/System.err: java.lang.IllegalStateException 04-29 07:35:09.045 11823-15263/ W/System.err: at android.media.MediaCodec.native_configure(Native Method) 04-29 07:35:09.045 11823-15263/ W/System.err: at android.media.MediaCodec.configure(MediaCodec.java:262) 04-29 07:35:09.045 11823-15263/ W/System.err: at dalvik.system.NativeStart.run(Native Method) 04-29 07:35:09.045 11823-15263/ E/IJKMEDIA: reconfigure_codec_l:configure_surface: failed 04-29 07:35:09.045 11823-15263/ D/IJKMEDIA: SDL_AMediaCodec_decreaseReference(): ref=0 04-29 07:35:09.045 11823-15263/ /IJKMEDIA: SDL_AMediaCodecJava_delete 04-29 07:35:09.055 11823-15263/ /IJKMEDIA: VideoCodec: avcodec, h264 04-29 07:35:09.055 11823-15263/ W/IJKMEDIA: fps: 25.000000 (too high) 04-29 07:35:09.055 11823-15323/ /IJKMEDIA: SDL_RunThread: [15323] ff_video_dec 04-29 07:35:09.055 11823-15263/ W/IJKMEDIA: fps: 25.000000 (too high) 04-29 07:35:09.055 11823-15261/ D/IJKMEDIA: FFP_MSG_VIDEO_ROTATION_CHANGED: 0 04-29 07:35:09.055 11823-15261/ D/IJKMEDIA: FFP_MSG_VIDEO_SIZE_CHANGED: 3840, 1920 04-29 07:35:09.055 11823-15261/ D/IJKMEDIA: FFP_MSG_SAR_CHANGED: 1, 1 04-29 07:35:09.055 11823-15261/ D/IJKMEDIA: ijkmp_get_msg: FFP_MSG_PREPARED 04-29 07:35:09.055 11823-15261/ D/IJKMEDIA: FFP_MSG_PREPARED: 04-29 07:35:09.055 11823-11823/ D/IJKMEDIA: IjkMediaPlayer_start 04-29 07:35:09.055 11823-11823/ D/IJKMEDIA: ijkmp_start() 04-29 07:35:09.055 11823-11823/ D/IJKMEDIA: ijkmp_start()=0 04-29 07:35:09.055 11823-15261/ D/IJKMEDIA: ijkmp_get_msg: FFP_REQ_START 04-29 07:35:09.055 11823-11823/ E/haha: cancelBusy 04-29 07:35:09.065 11823-15283/ D/IJKMEDIA: avcodec/Audio: first frame decoded 04-29 07:35:09.065 11823-15261/ D/IJKMEDIA: FFP_MSG_AUDIO_RENDERING_START: 04-29 07:35:09.135 11823-15268/ E/jimo-vr-log: 准备跳出循环 04-29 07:35:09.325 11823-15323/ D/IJKMEDIA: SDL_VoutFFmpeg_CreateOverlay(w=3840, h=1920, fmt=RV32(0x32335652, dp=0x7f93cfc0) 04-29 07:35:09.325 11823-15261/ D/IJKMEDIA: FFP_MSG_VIDEO_SIZE_CHANGED: 3840, 1920 04-29 07:35:09.425 11823-15323/ D/IJKMEDIA: Video: first frame decoded 04-29 07:35:09.425 11823-15262/ D/IJKMEDIA: ANativeWindow_setBuffersGeometry: w=1, h=1, f=(0x1) => w=3840, h=1920, f=RV32(0x32335652) 04-29 07:35:09.475 11823-15261/ D/IJKMEDIA: FFP_MSG_VIDEO_SIZE_CHANGED: 3840, 1920 04-29 07:35:09.485 11823-15323/ D/IJKMEDIA: SDL_VoutFFmpeg_CreateOverlay(w=3840, h=1920, fmt=RV32(0x32335652, dp=0x7f93cfc0) 04-29 07:35:09.485 11823-15261/ D/IJKMEDIA: FFP_MSG_VIDEO_RENDERING_START: 04-29 07:35:09.515 11823-11823/ /tv.danmaku.ijk.media.player.IjkMediaPlayer: Info: MEDIA_INFO_VIDEO_RENDERING_START 04-29 07:35:09.585 11823-15323/ D/IJKMEDIA: SDL_VoutFFmpeg_CreateOverlay(w=3840, h=1920, fmt=RV32(0x32335652, dp=0x7f93cfc0) 04-29 07:35:09.585 11823-15261/ D/IJKMEDIA: FFP_MSG_VIDEO_SIZE_CHANGED: 3840, 1920 04-29 07:35:09.695 11823-15259/ D/dalvikvm: GC_FOR_ALLOC freed 7450K, 46% free 25862K/47412K, paused 46ms, total 47ms

jksfood commented 8 years ago

抱歉啊 上面是调用时产生的所有log信息

yuazhen commented 8 years ago

那条信息:configureCodec returning error -1010说明MediaCodec配置出错,于是后面就fallback到软解了。看到你用的像素格式是rv32,那么大的分辨率做yuv转rgb效率不高,你可以把像素格式改成yv12试试。

jksfood commented 8 years ago

这是我的代码 public class MediaPlayerWrapper implements IjkMediaPlayer.OnPreparedListener { protected IjkMediaPlayer mPlayer; private IjkMediaPlayer.OnPreparedListener mPreparedListener;

public void init(){
    mPlayer = new IjkMediaPlayer();
    mPlayer.setOnPreparedListener(this);

// mPlayer.getVideoDecoder(); // IMediaPlayer.get

    mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1);
    mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-auto-rotate", 1);

    mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 60);
    mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "max-fps", 0);
    mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "fps", 60);

    mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_CODEC, "skip_loop_filter", 48);

//**** // mPlayer.setOption( // IjkMediaPlayer.OPT_CATEGORY_PLAYER, // "mediacodec-all-videos", "mediacodec-hevc"); // mPlayer.setOption( // IjkMediaPlayer.OPT_CATEGORY_PLAYER, // "mediacodec-hevc", 1); // * // IjkMediaPlayer.native_setLogLevel(IjkMediaPlayer.IJK_LOG_DEBUG); // mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "overlay-format", IjkMediaPlayer.SDL_FCC_RV32); // mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 12); // mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1);//use hard decoder first // // mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "max_ts_probe", 5); // mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "http-detect-range-support", 0); // // mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_CODEC, "skip_loop_filter", 48); // ***

}

/*
protected void openLocalFile(){
    AssetFileDescriptor afd = getResources().openRawResourceFd(R.raw.demo);
    if (afd == null) return;
    try {
        mPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
        afd.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
*/

protected void openRemoteFile(String url){
    try {
        //"http://vod.moredoo.com/u/7575/m3u8/854x480/25883d97c738b1be48d1e106ede2789c/25883d97c738b1be48d1e106ede2789c.m3u8"
        mPlayer.setDataSource(url);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

public IMediaPlayer getPlayer() {
    return mPlayer;
}

public void play() {
    stop();
    if (mPlayer == null) return;
    mPlayer.prepareAsync();
}

private void stop(){
    if (mPlayer == null) return;
    if (mPlayer.isPlaying()){
        mPlayer.stop();

    }
}

public void onStop() {
    stop();
}

public void onDestroy() {
    if (mPlayer != null) mPlayer.release();
    mPlayer = null;
}

public void setPreparedListener(IMediaPlayer.OnPreparedListener mPreparedListener) {
    this.mPreparedListener = mPreparedListener;
}

@Override
public void onPrepared(IMediaPlayer mp) {
    mp.start();
    if (mPreparedListener != null) mPreparedListener.onPrepared(mp);
}

}

下面是调用的方式 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

    enterTimes = System.currentTimeMillis();

    mMediaPlayerWrapper.init();
    mMediaPlayerWrapper.setPreparedListener(new IMediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(IMediaPlayer mp) {
            cancelBusy();
        }
    });

    Uri uri = getUri();
    if (uri != null) {
        MyLog.e(StaticConstantClass.TAG, "play url:" + uri.toString());
        mMediaPlayerWrapper.openRemoteFile(uri.toString());

// mMediaPlayerWrapper.openRemoteFile(Uri.parse("http://doubo.ufile.ucloud.com.cn/chunvzuonvpengy.mp4").toString()); mMediaPlayerWrapper.play();

jksfood commented 8 years ago

怎样把像素格式改成yv12?

jksfood commented 8 years ago

入门小白。。。

yuazhen commented 8 years ago

mPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "overlay-format", IjkMediaPlayer.SDL_FCC_RV32);这段注释去掉,RV32改成那个参数SDL_FCC_YV12试试

jksfood commented 8 years ago

刚到公司打包试了下,华为上明显好多了,我再试试其他 手机

yuazhen commented 8 years ago

你还可以用AndroidMediaPlayer测试一下3840x1920这个分辨率是不是能播起来,有可能那个配置错误是硬解不支持那么高的分辨率导致的。

jksfood commented 8 years ago

04-29 10:07:09.469 6278-6994/com.jimo.vr800 E/jimo-vr-log: 继续等待加载视频 04-29 10:07:09.494 6278-6278/com.jimo.vr800 E/jimo-vr-log: Main onStop 04-29 10:07:09.569 6278-6994/com.jimo.vr800 E/jimo-vr-log: 继续等待加载视频 04-29 10:07:09.632 6278-6991/com.jimo.vr800 E/IJKMEDIA: Option ijkinject-opaque not found. 04-29 10:07:09.669 6278-6994/com.jimo.vr800 E/jimo-vr-log: 继续等待加载视频 04-29 10:07:09.769 6278-6994/com.jimo.vr800 E/jimo-vr-log: 继续等待加载视频 04-29 10:07:09.833 6278-6991/com.jimo.vr800 E/IJKMEDIA: csd-0[43]: 00000001 04-29 10:07:09.833 6278-6991/com.jimo.vr800 E/IJKMEDIA: csd-0[43]: 67640033 04-29 10:07:09.833 6278-6991/com.jimo.vr800 E/IJKMEDIA: csd-0[43]: ac2ca400 04-29 10:07:09.833 6278-6991/com.jimo.vr800 E/IJKMEDIA: csd-0[43]: f003c6c0 04-29 10:07:09.833 6278-6991/com.jimo.vr800 E/IJKMEDIA: csd-0[43]: 52808080 04-29 10:07:09.833 6278-6991/com.jimo.vr800 E/IJKMEDIA: csd-0[43]: a0000003 04-29 10:07:09.833 6278-6991/com.jimo.vr800 E/IJKMEDIA: csd-0[43]: 00200000 04-29 10:07:09.833 6278-6991/com.jimo.vr800 E/IJKMEDIA: csd-0[43]: 0653b42c 04-29 10:07:09.833 6278-6991/com.jimo.vr800 E/IJKMEDIA: csd-0[43]: 5a240000 04-29 10:07:09.833 6278-6991/com.jimo.vr800 E/IJKMEDIA: csd-0[43]: 000168eb 04-29 10:07:09.833 6278-6991/com.jimo.vr800 E/IJKMEDIA: csd-0[43]: 73525000 04-29 10:07:09.855 6278-6991/com.jimo.vr800 E/IJKMEDIA: configure acodec:0x1d50053e format:0x1d50055e: surface:0x1d500552 04-29 10:07:09.856 6278-7020/com.jimo.vr800 E/ACodec: [OMX.MTK.VIDEO.DECODER.AVC] storeMetaDataInBuffers failed w/ err 80000000 04-29 10:07:09.869 6278-6994/com.jimo.vr800 E/jimo-vr-log: 继续等待加载视频

                                                       [ 04-29 10:07:09.869   251:0x319 W/         ]
                                                       g��

                                                       [ 04-29 10:07:09.869   251:0x319 W/         ]
                                                       I2C slave=0x36

04-29 10:07:09.925 6278-6278/com.jimo.vr800 E/haha: cancelBusy 04-29 10:07:09.937 6278-7020/com.jimo.vr800 E/ACodec: [OMX.MTK.VIDEO.DECODER.AVC] ERROR(0x80001005) 04-29 10:07:09.938 6278-7019/com.jimo.vr800 E/MediaCodec: Codec reported an error. (omx error 0x80001005, internalError -1103) 04-29 10:07:09.940 6278-7026/com.jimo.vr800 E/IJKMEDIA: feed_input_buffer: SDL_AMediaCodec_getInputBuffer failed 04-29 10:07:09.970 6278-6994/com.jimo.vr800 E/jimo-vr-log: 准备跳出循环 04-29 10:07:13.448 6278-6278/com.jimo.vr800 E/jimo-vr-log: current:34 04-29 10:07:13.448 6278-6278/com.jimo.vr800 E/jimo-vr-log: total:100 04-29 10:07:23.433 6278-6278/com.jimo.vr800 E/jimo-vr-log: current:34 04-29 10:07:23.433 6278-6278/com.jimo.vr800 E/jimo-vr-log: total:100

会有黑屏的现象,这是报的log,美图和三星上面会出现。

jksfood commented 8 years ago

完全的黑屏,怎么解。。。。而且crash的次数比较多

jksfood commented 8 years ago

测试结果:我把视频下载到本地,在华为手机用本地播放器上直接解析不起来,在nexus手机上用本地播放器就可以播放

jksfood commented 8 years ago

使用AndroidMedia在线播放也是同样的结果。。

yuazhen commented 8 years ago

那有可能就是华为手机上硬件解码器是不支持那么大分辨率的。

yrom commented 8 years ago

你还不明白吗。。。你手上的设备就是播不了这个高分辨率

jksfood commented 8 years ago

嗯 应该是的了 谢谢你的耐心指教!