Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

小米TV Android6.0 EXO内核无法正常播放 #2486

Open
tv009 opened this issue Dec 25, 2019 · 15 comments
Open

小米TV Android6.0 EXO内核无法正常播放 #2486

tv009 opened this issue Dec 25, 2019 · 15 comments

Comments

@tv009
Copy link

tv009 commented Dec 25, 2019

问题描述:

小米电视 65寸 exo内核无法播放m3u8格式 (播放前2秒正常 后有声音无图像(图片卡住,声音都正常 )) cpu为A53
以上机型 iJK内核可以播放,但是特别卡
小米电视 35寸 EXO内核是可以正常播放的

问题机型/系统:

例如 小米TV Android6.0

GSY依赖版本

//完整版引入
implementation 'com.shuyu:GSYVideoPlayer:7.1.2'

Demo中的复现步骤

每次必出
单页面播放 播放2秒后 可见BUG

问题log

12-26 00:26:45.172 17139-17237/com.tv.kanmovie V/OmxComponentManagerImpl: loadLibrary:258 Loading OMX library libOmxVideo.so.
12-26 00:26:45.173 17139-17237/com.tv.kanmovie E/omx_video: amvenc_avc open failed!set default instance number as 1,ret=-1,Permission denied(13)
12-26 00:26:45.173 17139-17237/com.tv.kanmovie I/omx_core: Core library has 14 components
12-26 00:26:45.173 17139-17237/com.tv.kanmovie E/OMXMaster: A component of name 'OMX.google.alac.decoder' already exists, ignoring this one.
12-26 00:26:45.179 17139-17237/com.tv.kanmovie E/OMXNodeInstance: setConfig(1:google.aac.decoder, ConfigPriority(0x6f800002)) ERROR: Undefined(0x80001001)
12-26 00:26:45.179 17139-17237/com.tv.kanmovie I/ACodec: codec does not support config priority (err -2147483648)
12-26 00:26:45.183 17139-17242/com.tv.kanmovie I/SoftAAC2: limiting to stereo output
12-26 00:26:45.192 17139-17242/com.tv.kanmovie I/SoftAAC2: Reconfiguring decoder: 0->44100 Hz, 0->2 channels
12-26 00:26:45.221 17139-17221/com.tv.kanmovie I/AudioTrack: set(): streamType -1, sampleRate 44100, format 0x1, channelMask 0x3, frameCount 15104, flags #0, notificationFrames 0, sessionId 0, transferType 3, uid -1, pid -1
12-26 00:26:47.346 17139-17139/com.tv.kanmovie D/EventLogger: state [5.37, false, R]
12-26 00:26:47.348 17139-17139/com.tv.kanmovie D/EventLogger: state [5.37, true, R]
12-26 00:26:47.372 17139-17230/com.tv.kanmovie I/MediaCodec: [OMX.amlogic.avc.decoder.awesome] setting surface generation to 17550338
12-26 00:26:47.373 17139-17231/com.tv.kanmovie D/SurfaceUtils: set up nativeWindow 0xeb8bb608 for 1080x452, color 0x11, rotation 0, usage 0x2002900
12-26 00:26:47.379 17139-17231/com.tv.kanmovie E/ACodec: dequeueBuffer failed: WOULD_BLOCK(-11).
12-26 00:26:47.380 17139-17231/com.tv.kanmovie E/ACodec: dequeueBuffer failed: WOULD_BLOCK(-11).
12-26 00:26:47.406 17139-17221/com.tv.kanmovie W/AudioTrack: retrograde timestamp position corrected, -29 = 0 - 29
12-26 00:26:47.436 17139-17231/com.tv.kanmovie E/ACodec: dequeueBuffer failed: WOULD_BLOCK(-11).
12-26 00:26:47.488 17139-17231/com.tv.kanmovie E/ACodec: dequeueBuffer failed: WOULD_BLOCK(-11).
12-26 00:26:47.526 17139-17231/com.tv.kanmovie E/ACodec: dequeueBuffer failed: WOULD_BLOCK(-11).
12-26 00:26:47.576 17139-17231/com.tv.kanmovie E/ACodec: dequeueBuffer failed: WOULD_BLOCK(-11).

@CarGuo
Copy link
Owner

CarGuo commented Dec 26, 2019

尝试切换到 GSYVideoType.setRenderType(GSYVideoType.SUFRACE); 试试

@tv009
Copy link
Author

tv009 commented Dec 26, 2019

3种渲染 都是一样效果 卡屏后声音正常
根据问题排坑大法 大都测试过了 无法解决
Evo2player 自定义版本能解决这个问题吗?

@CarGuo
Copy link
Owner

CarGuo commented Dec 26, 2019

理论上exo 和 mediaplayer 都是用的 mediacodec,你可以试试用系统播放内核模式是不是也是这样,如果是你换什么都没辙……
如果不是你可以试试 exclude 之后更换 exo 版本试试。

@CarGuo
Copy link
Owner

CarGuo commented Dec 26, 2019

最主要也是我这边没有复现的办法···

@tv009
Copy link
Author

tv009 commented Dec 26, 2019

测试后发现 系统播放内核是可以正常播放,但始终显示加载遮盖层(很大几率显示)
exo 使用 exclude 没什么改变
1.// implementation 'com.google.android.exoplayer:exoplayer:2.11.1'
2.// implementation ('com.shuyu:GSYVideoPlayer:7.1.2'){exclude group: 'com.shuyu:GSYVideoPlayer-exo2'}
1,2句 都加上 没效果还是卡屏 单加第二句也不报错,我都怀疑我的exclude有问题.改天我单独依赖下exo试试再说吧!

@578618770wts
Copy link

3种渲染 都是一样效果 卡屏后声音正常
根据问题排坑大法 大都测试过了 无法解决
Evo2player 自定义版本能解决这个问题吗?

同样出现这种问题,使用播放器播放后,前5s正常,后面画面会卡顿,声音正常,再到后面,声画就不一致了

@e9ab98e991ab
Copy link

小米盒子 6.0.1 同样与遇到该问题。

@e9ab98e991ab
Copy link

PlayerFactory.setPlayManager(SystemPlayerManager.class);
使用系统播放器内核解决。m3u8也可以播放

@e9ab98e991ab
Copy link

小米盒子 使用系统内核 圆形加载不消失

下面是错误日志
E/MediaPlayer: Unknown message type 10000
D/MediaPlayer: setSubtitleAnchor in MediaPlayer
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
W/MediaPlayer: info/warning (901, 0)
W/MediaPlayer: setScreenOnWhilePlaying(true) is ineffective for Surface
W/MediaPlayer: info/warning (701, 0)
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
W/MediaPlayer: info/warning (3, 0)
W/MediaPlayer: info/warning (702, 100)
W/MediaPlayer: info/warning (901, 0)
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!
W/Bitmap: Called reconfigure on a bitmap that is in use! This may cause graphical corruption!

@e9ab98e991ab
Copy link

最终解决方案 PlayerFactory.setPlayManager(IjkPlayerManager.class); 都可以播放了

@q88qaz
Copy link

q88qaz commented Jun 18, 2021

最终解决方案 PlayerFactory.setPlayManager(IjkPlayerManager.class); 都可以播放了

你敢播放m3u8链接的视频吗?播一会儿卡死你

@SpaceQ-Z
Copy link

SpaceQ-Z commented Jul 7, 2021

最终解决方案 PlayerFactory.setPlayManager(IjkPlayerManager.class); 都可以播放了

你敢播放m3u8链接的视频吗?播一会儿卡死你

并不会卡呀,我这IJK内核播放M3U8很流畅,手机端TV端都很流畅

@paofan
Copy link

paofan commented Dec 15, 2021

tv的试下这个
//6.0系统上开启
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.M) {
GSYVideoType.setRenderType(GSYVideoType.SUFRACE);
GSYVideoType.enableMediaCodecTexture();
}

@Loner111
Copy link

加密的m3u8视频切换到ijk内核播不了,没加密的能播

@CarGuo
Copy link
Owner

CarGuo commented Oct 14, 2024

加密的m3u8视频切换到ijk内核播不了,没加密的能播

@Loner111 ex_so 才支持 crypto ,另外我不大记得是否需要配置开启:

IjkMediaPlayer.OPT_CATEGORY_FORMAT, "protocol_whitelist", "crypto,file,http,https"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants