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

请问mdk可以自己控制每一帧解码和渲染的时间吗 #95

Open
ken626014896 opened this issue May 5, 2023 · 9 comments
Open

Comments

@ken626014896
Copy link

想实现多台设备播放同步一个视频,达到帧同步的功能
setRenderCallback和onFrame可以实现类似的功能吗
还有想问一下onSync这个方法的含义,一直没搞懂这个方法怎么用的,是在回调里返回时间戳吗

@wang-bin
Copy link
Owner

wang-bin commented May 6, 2023

解码时间不能控制,onFrame里阻塞的话就不会渲染。onSync回调返回一个同步时间,比如同步到A播放器,其他播放器可以把A的时间作为同步时间返回,另外还要同时操作播放、暂停、seek这些。不过我没写过具体例子,不知道效果怎么样

@ken626014896
Copy link
Author

android平台,发现使用onsync来控制本地视频播放时,有些视频会出现播放不了的情况,不使用onsync播放正常

W MediaServer: libpng warning: iCCP: known incorrect sRGB profile
W MediaServer: libpng warning: iCCP: known incorrect sRGB profile
D MediaServer: qml: 横屏 1920 1080
D MediaServer: "/storage/emulated/0/Download" "0|2023-05-05|b536|MD" ("0", "2023-05-05", "b536", "MD")
D MediaServer: qml: 2060-12-31
D MediaServer: read
D MediaServer: connected connected
D MediaServer: 137 incomingConnection
D MediaServer: 0 "get_dev_info" QJsonObject({"cmd":"get_dev_info"})
D MediaServer: QMap(("cmd", QVariant(QString, "get_dev_info"))("dev_id", QVariant(QString, "b5361ddd48b84686ac7d99fa239018db"))("dev_ip", QVariant(QString, "192.168.250.231"))("dev_name", QVariant(QString, "盒子")))
W libOpenSLES: Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
W libOpenSLES: Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
D MediaServer: init sync server 31253 31254
E mali_so : encounter the first gles_error : 0x0001; gles_state_error_info : <pname> is not an accepted value (gles2_statep_getv at hardware/rockchip/mali_so/driver/product/gles/src/state/gles2/mali_gles2_state_get.c:966)
E mali_so : encounter the first gles_error : 0x0002; gles_state_error_info : <internalformat> is not an accepted value (gles_texturep_convert_internalformat at hardware/rockchip/mali_so/driver/product/gles/src/texture/mali_gles_texture_helpers.c:200)
E mali_so : encounter the first gles_error : 0x0002; gles_state_error_info : <internalformat> is not an accepted value (gles_texturep_convert_internalformat at hardware/rockchip/mali_so/driver/product/gles/src/texture/mali_gles_texture_helpers.c:200)
D MediaServer: onStateChanged 1
D ject.pushclien: PlayerBase::PlayerBase()
D ject.pushclien: TrackPlayerBase::TrackPlayerBase()
I libOpenSLES: Emulating old channel mask behavior (ignoring positional mask 0x3, using default mask 0x3 based on channel count of 2)
W libOpenSLES: Leaving PlaybackRate::GetRateRange (SL_RESULT_PARAMETER_INVALID)
D ject.pushclien: PlayerBase::stop() from IPlayer
D AudioTrack: stop(9): called with 4096 frames delivered
D ject.pushclien: PlayerBase::stop() from IPlayer
D AudioTrack: stop(9): called with 256 frames delivered
D ject.pushclien: PlayerBase::stop() from IPlayer
D AudioTrack: stop(9): called with 256 frames delivered
D ject.pushclien: PlayerBase::stop() from IPlayer
D AudioTrack: stop(9): called with 64 frames delivered
D ject.pushclien: PlayerBase::stop() from IPlayer
D AudioTrack: stop(9): called with 256 frames delivered
D ject.pushclien: PlayerBase::stop() from IPlayer
D AudioTrack: stop(9): called with 256 frames delivered
D ject.pushclien: PlayerBase::stop() from IPlayer
D AudioTrack: stop(9): called with 256 frames delivered
I OMXClient: IOmx service obtained
D SurfaceUtils: connecting to surface 0xf4c64368, reason connectToSurface
I MediaCodec: [OMX.rk.video_decoder.vp9] setting surface generation to 2457601
D SurfaceUtils: disconnecting from surface 0xf4c64368, reason connectToSurface(reconnect)
D SurfaceUtils: connecting to surface 0xf4c64368, reason connectToSurface(reconnect)
E ACodec  : [OMX.rk.video_decoder.vp9] setPortMode on output to DynamicANWBuffer failed w/ err -1010
I ACodec  : codec does not support config priority (err -1010)
W AHierarchicalStateMachine: Warning message AMessage(what = 'omxI') = {
W AHierarchicalStateMachine:   int32_t type = 0
W AHierarchicalStateMachine:   int32_t event = 3
W AHierarchicalStateMachine:   int32_t data1 = 1
W AHierarchicalStateMachine:   int32_t data2 = 117440527
W AHierarchicalStateMachine: } unhandled in root state.
W ACodec  : setupNativeWindowSizeFormatAndUsage 1138 colorSpace 0, eDyncRange 0
D SurfaceUtils: disconnecting from surface 0xf4c64368, reason setNativeWindowSizeFormatAndUsage
D SurfaceUtils: connecting to surface 0xf4c64368, reason setNativeWindowSizeFormatAndUsage
D SurfaceUtils: set up nativeWindow 0xf4c64368 for 3840x2176, color 0x1a, rotation 0, usage 0x40002900
W ACodec  : [OMX.rk.video_decoder.vp9] BAD CODEC: Output format changed unexpectedly from (diff) AMessage(what = 0x00000000) = {
W ACodec  :       int32_t color-standard = 6
W ACodec  :     } to (diff) AMessage(what = 0x00000000) = {
W ACodec  :       int32_t color-standard = 130822
W ACodec  :     }
D ject.pushclien: PlayerBase::stop() from IPlayer
D AudioTrack: stop(9): called with 25152 frames delivered
D ject.pushclien: PlayerBase::stop() from IPlayer
D AudioTrack: stop(9): called with 128 frames delivered
I QtThread: type=1400 audit(0.0:400): avc: denied { ioctl } for path="socket:[43718]" dev="sockfs" ino=43718 ioctlcmd=0x8927 scontext=u:r:untrusted_app_27:s0:c125,c256,c512,c768 tcontext=u:r:untrusted_app_27:s0:c125,c256,c512,c768 tclass=tcp_socket permissive=1 app=org.qtproject.pushclient
D MediaServer: json error
D ject.pushclien: PlayerBase::stop() from IPlayer
D AudioTrack: stop(9): called with 191168 frames delivered

好像是音频部分出了问题,
我试着把音频禁用掉的时候 internal_player->setActiveTracks(MediaType::Audio, {});
虽然音频部分错误没了,但是视频还是播不了
以下是禁用音频后的调试信息

W MediaServer: libpng warning: iCCP: known incorrect sRGB profile
W MediaServer: libpng warning: iCCP: known incorrect sRGB profile
D MediaServer: qml: 横屏 1920 1080
D MediaServer: "/storage/emulated/0/Download" "0|2023-05-05|b536|MD" ("0", "2023-05-05", "b536", "MD")
D MediaServer: qml: 2060-12-31
D MediaServer: read
D MediaServer: connected connected
D MediaServer: 0 "get_dev_info" QJsonObject({"cmd":"get_dev_info"})
D MediaServer: QMap(("cmd", QVariant(QString, "get_dev_info"))("dev_id", QVariant(QString, "b5361ddd48b84686ac7d99fa239018db"))("dev_ip", QVariant(QString, "192.168.250.231"))("dev_name", QVariant(QString, "盒子")))
D MediaServer: 139 incomingConnection
W libOpenSLES: Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
W libOpenSLES: Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
D MediaServer: init sync server 31253 31254
E mali_so : encounter the first gles_error : 0x0001; gles_state_error_info : <pname> is not an accepted value (gles2_statep_getv at hardware/rockchip/mali_so/driver/product/gles/src/state/gles2/mali_gles2_state_get.c:966)
E mali_so : encounter the first gles_error : 0x0002; gles_state_error_info : <internalformat> is not an accepted value (gles_texturep_convert_internalformat at hardware/rockchip/mali_so/driver/product/gles/src/texture/mali_gles_texture_helpers.c:200)
E mali_so : encounter the first gles_error : 0x0002; gles_state_error_info : <internalformat> is not an accepted value (gles_texturep_convert_internalformat at hardware/rockchip/mali_so/driver/product/gles/src/texture/mali_gles_texture_helpers.c:200)
D MediaServer: onStateChanged 1
I OMXClient: IOmx service obtained
D SurfaceUtils: connecting to surface 0xf4c4e2c8, reason connectToSurface
I MediaCodec: [OMX.rk.video_decoder.vp9] setting surface generation to 3065857
D SurfaceUtils: disconnecting from surface 0xf4c4e2c8, reason connectToSurface(reconnect)
D SurfaceUtils: connecting to surface 0xf4c4e2c8, reason connectToSurface(reconnect)
E ACodec  : [OMX.rk.video_decoder.vp9] setPortMode on output to DynamicANWBuffer failed w/ err -1010
I ACodec  : codec does not support config priority (err -1010)
W AHierarchicalStateMachine: Warning message AMessage(what = 'omxI') = {
W AHierarchicalStateMachine:   int32_t type = 0
W AHierarchicalStateMachine:   int32_t event = 3
W AHierarchicalStateMachine:   int32_t data1 = 1
W AHierarchicalStateMachine:   int32_t data2 = 117440527
W AHierarchicalStateMachine: } unhandled in root state.
W ACodec  : setupNativeWindowSizeFormatAndUsage 1138 colorSpace 0, eDyncRange 0
D SurfaceUtils: disconnecting from surface 0xf4c4e2c8, reason setNativeWindowSizeFormatAndUsage
D SurfaceUtils: connecting to surface 0xf4c4e2c8, reason setNativeWindowSizeFormatAndUsage
D SurfaceUtils: set up nativeWindow 0xf4c4e2c8 for 3840x2176, color 0x1a, rotation 0, usage 0x40002900
W ACodec  : [OMX.rk.video_decoder.vp9] BAD CODEC: Output format changed unexpectedly from (diff) AMessage(what = 0x00000000) = {
W ACodec  :       int32_t color-standard = 6
W ACodec  :     } to (diff) AMessage(what = 0x00000000) = {
W ACodec  :       int32_t color-standard = 130822
W ACodec  :     }
I QtThread: type=1400 audit(0.0:459): avc: denied { ioctl } for path="socket:[54355]" dev="sockfs" ino=54355 ioctlcmd=0x8927 scontext=u:r:untrusted_app_27:s0:c125,c256,c512,c768 tcontext=u:r:untrusted_app_27:s0:c125,c256,c512,c768 tclass=tcp_socket permissive=1 app=org.qtproject.pushclient
D MediaServer: json error

@wang-bin
Copy link
Owner

 你发下完整的log,只要当前app的

@ken626014896
Copy link
Author

目前不知道为什么复现不了,= =,之前是通过等待播放器状态为State::Playing时,再开始改变onSync的回调函数返回值,来解决的,不知道这种用法是否合理

@ken626014896
Copy link
Author

问题复现了,

D MediaServer: 116 "add_plugin" QJsonObject({"cmd":"add_plugin","plugin":{"hh":1,"id":"b499caa13a8e4d9ea17574d165a417bc","level":2,"name":"4K Istanbul City.webm","open_sync":true,"pos_list":[3],"resource_id":"b20c98801f1dae4e2cbf3dd846732b2b","sync_num":4,"type":0,"type_name":"视频","vol":5,"ww":4,"xx":-3,"yy":0}})
W MediaServer: qrc:/MdkPlaySync.qml:112: ReferenceError: $manager is not defined
D MediaServer: 116 "update_plugin" QJsonObject({"cmd":"update_plugin","id":"b499caa13a8e4d9ea17574d165a417bc","pos_data":{"height":1,"ii":3,"index":0,"open_sync":true,"sync_num":4,"width":4,"x":-3,"y":0}})
D MediaServer: 116 "begain_sync_signal" QJsonObject({"cmd":"begain_sync_signal","id":"b499caa13a8e4d9ea17574d165a417bc","sync_num":4})
W MediaServer: qrc:/LoaderView.qml:175: ReferenceError: dmId is not defined
D MediaServer: qml: test b499caa13a8e4d9ea17574d165a417bc 4 true 4
D MediaServer: qml: old true 4
D MediaServer: qml: now true 4
D MediaServer: qml: source qrc:/MdkPlaySync.qml
W MediaServer: qrc:/LoaderView.qml:191: TypeError: Cannot call method 'stop_play_sync' of null
D MediaServer: MDK-JNI default0xe8086190 new FrameReader...
05-12 09:16:37.674 31511 31540 D MediaServer:
D MediaServer: MDK-JNI Registered audio backends: OpenSL AudioTrack null
05-12 09:16:37.674 31511 31540 D MediaServer:
W libOpenSLES: Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
D MediaServer: MDK-JNI OpenSL extensions: ANDROID_SDK_LEVEL_30
D MediaServer: MDK-JNI default0xe8085290 new FrameReader...
05-12 09:16:37.675 31511 31540 D MediaServer:
D MediaServer: MDK-JNI Registered audio backends: OpenSL AudioTrack null
05-12 09:16:37.675 31511 31540 D MediaServer:
W libOpenSLES: Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
D MediaServer: MDK-JNI OpenSL extensions: ANDROID_SDK_LEVEL_30
D MediaServer: MDK-JNI 0xec8d67b0mdk::Player::Player()
05-12 09:16:37.675 31511 31540 D MediaServer:
D MediaServer: MDK-JNI 0.20.0 (git be9e99d) - Multimedia Development Kit. Copyright (c) 2016-2023 WangBin(QtAV author) <wbsecg1 at gmail.com>
D MediaServer: Build for: Android19 ARMv7; Clang14.0.7 (https://android.googlesource.com/toolchain/llvm-project 4c603efb0cca074e9238af8b4106c30add4418f6)GCC4.2.1; libc++11000; 08:16:54 Apr 27 2023
05-12 09:16:37.676 31511 31540 D MediaServer:
05-12 09:16:37.676 31511 31540 D MediaServer:
D MediaServer: MDK-JNI 0xec7c9010 virtual void mdk::MediaControlPush::setState(mdk::PlaybackState)@952 requested state 0=>0, current state 0. status: 0
05-12 09:16:37.683 31511 31540 D MediaServer:
D MediaServer: MDK-JNI default FrameReader0xe8086190 state: 0=>0=>0, 0
05-12 09:16:37.683 31511 31540 D MediaServer:
D MediaServer: MDK-JNI default0xe8086190 virtual void mdk::FrameReader::stop(), current state: 0
05-12 09:16:37.683 31511 31540 D MediaServer:
D MediaServer: MDK-JNI default FrameReader0xe8086190 state: 0=>0=>0, 0
05-12 09:16:37.683 31511 31540 D MediaServer:
D MediaServer: MDK-JNI default0xe8086190 virtual void mdk::FrameReader::stop(), current state: 0
05-12 09:16:37.683 31511 31540 D MediaServer:
D MediaServer: MDK-JNI 0xec7c9010 virtual void mdk::MediaControlPush::setState(mdk::PlaybackState)@952 requested state 0=>1, current state 0. status: 0
05-12 09:16:37.683 31511 31540 D MediaServer:
D MediaServer: MDK-JNI default 0xe8086190 FrameReader.start(0, ...)
05-12 09:16:37.684 31511 31540 D MediaServer:
D MediaServer: MDK-JNI default 0xe8086190 FrameReader::update MediaStatus 0=>0X2
05-12 09:16:37.684 31511 31540 D MediaServer:
D MediaServer: MDK-JNI default FrameReader0xe8086190 state: 0=>0=>1, 0
05-12 09:16:37.684 31511 31540 D MediaServer:
D MediaServer: MDK-JNI default FrameReader0xe8086190 state: 0=>1=>1, 0
05-12 09:16:37.684 31511 31540 D MediaServer:
D MediaServer: MDK-JNI start frame reader thread: -1378111040
05-12 09:16:37.685 31511 31637 D MediaServer:
D MediaServer: MDK-JNI Trying MediaIO FFmpeg for protocol "file"
05-12 09:16:37.685 31511 31637 D MediaServer:
D MediaServer: MDK-JNI 0xaf26f5f0 open url: file:///storage/emulated/0/Download/data/4K Istanbul City.webm
05-12 09:16:37.686 31511 31637 D MediaServer:
D MediaServer: MDK-JNI 0xaf26f5f0 url opened
05-12 09:16:37.687 31511 31637 D MediaServer:
D MediaServer: MDK-JNI default 0xe8086190 FrameReader::update MediaStatus 0X2=>0X2
05-12 09:16:37.687 31511 31637 D MediaServer:
D MediaServer: MDK-JNI before avformat_open_input. io: 0xaf26f5f0(FFmpeg/pb: 0xecd6f090, url: file:///storage/emulated/0/Download/data/4K Istanbul City.webm
05-12 09:16:37.687 31511 31637 D MediaServer:
D MediaServer: MDK-JNI after avformat_open_input. pb: 0xecd6f090, iformat: 0xbad72fd8 context flags: 2097280, input format flags: 0
05-12 09:16:37.688 31511 31637 D MediaServer:
D MediaServer: MDK-JNI new OpenGLVideo 0xb7e1eeb0 in ctx 0xb1e95150
05-12 09:16:37.690 31511 31586 D MediaServer:
D MediaServer: MDK-JNI mdk::GLVideoRenderer::Private::DeferredDeleter::~DeferredDeleter() delete previous OpenGLVideo 0xb365a890
05-12 09:16:37.691 31511 31586 D MediaServer:
D MediaServer: MDK-JNI cleanup shader cache
05-12 09:16:37.691 31511 31586 D MediaServer:
D MediaServer: MDK-JNI unknown, bpc:0, bpp:0(), channels:(), map: 0 0 0 0 => unknown, bpc:0, bpp:0(), channels:(), map: 0 0 0 0
05-12 09:16:37.691 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0xb1e95150/0xb396ec80 Context::setLocalData local data 0xae181790 for key: 0x4. size: 4
05-12 09:16:37.691 31511 31586 D MediaServer:
D MediaServer: MDK-JNI failed to bind video material
05-12 09:16:37.691 31511 31586 D MediaServer:
D MediaServer: MDK-JNI Format: matroska,webm, range: 0 +200507ms, bitrate: 14904992, size: 0
D MediaServer: Metadata:
D MediaServer:   encoder: Lavf57.71.100
D MediaServer: Streams: 2
D MediaServer:  Video:
D MediaServer:   stream#0, range: 3 +0ms, frames: 0
D MediaServer:   codec: vp9 tag: 0 profile: 0 level: -99, yuv420p, bpc:8, bpp:12(8,8,8), channels:(1,1,1), map: 0 1 2 0, bitrate: 0, 3840x2160, fps: 25, bframes: 0, matrix: bt709, range: narrow
D MediaServer:   Metadata:
D MediaServer:    language: eng
D MediaServer:  Audio:
D MediaServer:   stream#1, range: 0 +0ms, frames: 0
D MediaServer:   codec: vorbis tag: 0 profile: -99 level: -99, sample size: 0/32, block align: 0, frame_size: 0, f32p stereo(2) @44100Hz, bitrate: 0
D MediaServer:   extra data(3950): 02 1E 55 01 76 6F 72 62 69 73 00 00 00 00 02 44 AC 00 00 00 00 00 00 80 B5 01 00 00 00 00 00 B8 01 03 76 6F 72 62 69 73 2C 00 00 00 58 69 70 68 2E 4F 72 67 20 6C 69 62 56 6F 72 62 69 73 20 49 20 32 30 31 35 30 31 30 35 20 28 E2 9B 84 E2 9B 84 E2 9B 84 E2 9B 84 29 01 00 00 00 15 00 00 00 65 6E 63 6F 64 65 72 3D 4C 61 76 63 35 37 2E 38 39 2E 31 30 30 01 05 76 6F 72 62 69 73 25 42 43 56 01 00 40 00 00 24 73 18 2A 46 A5 73 16 84 10 1A 42 50 19 E3
D MediaServer: MDK-JNI default 0xe8086190 FrameReader::update MediaStatus 0X2=>0X4
05-12 09:16:37.744 31511 31637 D MediaServer:
D MediaServer: MDK-JNI ***buffering progress 0%***
05-12 09:16:37.744 31511 31637 D MediaServer:
D MediaServer: MDK-JNI default 0xe8086190 FrameReader::update MediaStatus 0X4=>0X14
05-12 09:16:37.744 31511 31637 D MediaServer:
D MediaServer: MDK-JNI ++++++++++++BUFFERING START++++++++++++
05-12 09:16:37.744 31511 31637 D MediaServer:
D MediaServer: MDK-JNI
D MediaServer: MDK-JNI default FrameReader0xe8086190 state: 0=>1=>1, 1
05-12 09:16:37.744 31511 31637 D MediaServer:
D MediaServer: MDK-JNI default FrameReader0xe8086190 update state: 0=>1
05-12 09:16:37.744 31511 31637 D MediaServer:
D MediaServer: ======onStateChanged 0 1
D MediaServer: MDK-JNI starting decode loop thread mdk.vdec0@-1380204096
05-12 09:16:37.745 31511 31638 D MediaServer:
D MediaServer: MDK-JNI video stream#0 starting decoding loop from decoder index 0...
05-12 09:16:37.745 31511 31638 D MediaServer:
D MediaServer: MDK-JNI creating video decoder: AMediaCodec:java=0:copy=0:surface=1:async=0:image=1...
05-12 09:16:37.746 31511 31638 D MediaServer:
D MediaServer: MDK-JNI opening video decoder: AMediaCodec...
05-12 09:16:37.746 31511 31638 D MediaServer:
D MediaServer: MDK-JNI CodecForMimeType: video/x-vnd.on2.vp9, profile: 1, level: -1
05-12 09:16:37.746 31511 31638 D MediaServer:
D MediaServer: MDK-JNI -1380204096 JMI: JNI Modern Interface. Version 0.1.0
05-12 09:16:37.746 31511 31638 D MediaServer:
05-12 09:16:37.746 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.aac.decoder, mime: audio/mp4a-latm
05-12 09:16:37.747 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.aac.decoder, mime: audio/mp4a-latm
05-12 09:16:37.747 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.amrnb.decoder, mime: audio/3gpp
05-12 09:16:37.748 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.amrnb.decoder, mime: audio/3gpp
05-12 09:16:37.748 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.amrwb.decoder, mime: audio/amr-wb
05-12 09:16:37.748 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.amrwb.decoder, mime: audio/amr-wb
05-12 09:16:37.749 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.flac.decoder, mime: audio/flac
05-12 09:16:37.749 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.flac.decoder, mime: audio/flac
05-12 09:16:37.749 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.g711.alaw.decoder, mime: audio/g711-alaw
05-12 09:16:37.749 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.g711.alaw.decoder, mime: audio/g711-alaw
05-12 09:16:37.750 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.g711.mlaw.decoder, mime: audio/g711-mlaw
05-12 09:16:37.750 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.g711.mlaw.decoder, mime: audio/g711-mlaw
05-12 09:16:37.750 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.mp3.decoder, mime: audio/mpeg
05-12 09:16:37.751 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.mp3.decoder, mime: audio/mpeg
05-12 09:16:37.751 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.opus.decoder, mime: audio/opus
05-12 09:16:37.751 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.opus.decoder, mime: audio/opus
05-12 09:16:37.751 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.raw.decoder, mime: audio/raw
05-12 09:16:37.752 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.raw.decoder, mime: audio/raw
05-12 09:16:37.752 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.vorbis.decoder, mime: audio/vorbis
05-12 09:16:37.753 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.vorbis.decoder, mime: audio/vorbis
05-12 09:16:37.753 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.rk.video_decoder.avc, mime: video/avc
05-12 09:16:37.753 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.rk.video_decoder.h263, mime: video/3gpp
05-12 09:16:37.754 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.rk.video_decoder.hevc, mime: video/hevc
05-12 09:16:37.754 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.rk.video_decoder.m4v, mime: video/mp4v-es
05-12 09:16:37.754 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.rk.video_decoder.vp8, mime: video/x-vnd.on2.vp8
05-12 09:16:37.754 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.rk.video_decoder.vp9, mime: video/x-vnd.on2.vp9 video/x-vnd.on2.vp9 -profile: 1
05-12 09:16:37.754 31511 31638 D MediaServer:
D MediaServer: MDK-JNI profileLevels count: 4
05-12 09:16:37.755 31511 31638 D MediaServer:
D MediaServer: MDK-JNI profile: 1 level: 512
05-12 09:16:37.755 31511 31638 D MediaServer:
D MediaServer: MDK-JNI  [Match].
05-12 09:16:37.755 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.avc.decoder, mime: video/avc
05-12 09:16:37.756 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.h264.decoder, mime: video/avc
05-12 09:16:37.756 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.h263.decoder, mime: video/3gpp
05-12 09:16:37.756 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.h263.decoder, mime: video/3gpp
05-12 09:16:37.757 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.hevc.decoder, mime: video/hevc
05-12 09:16:37.757 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.hevc.decoder, mime: video/hevc
05-12 09:16:37.757 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.mpeg4.decoder, mime: video/mp4v-es
05-12 09:16:37.757 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.mpeg4.decoder, mime: video/mp4v-es
05-12 09:16:37.758 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.vp8.decoder, mime: video/x-vnd.on2.vp8
05-12 09:16:37.758 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.vp8.decoder, mime: video/x-vnd.on2.vp8
05-12 09:16:37.758 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: c2.android.vp9.decoder, mime: video/x-vnd.on2.vp9 video/x-vnd.on2.vp9 -profile: 1
05-12 09:16:37.759 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo::VideoCapabilities.isSizeSupported() is false:
05-12 09:16:37.759 31511 31638 D MediaServer:
D MediaServer: MDK-JNI profileLevels count: 4
05-12 09:16:37.760 31511 31638 D MediaServer:
D MediaServer: MDK-JNI profile: 1 level: 256
05-12 09:16:37.760 31511 31638 D MediaServer:
D MediaServer: MDK-JNI  [Match].
05-12 09:16:37.760 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo name: OMX.google.vp9.decoder, mime: video/x-vnd.on2.vp9 video/x-vnd.on2.vp9 -profile: 1
05-12 09:16:37.760 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaCodecInfo::VideoCapabilities.isSizeSupported() is false:
05-12 09:16:37.761 31511 31638 D MediaServer:
D MediaServer: MDK-JNI profileLevels count: 4
05-12 09:16:37.761 31511 31638 D MediaServer:
D MediaServer: MDK-JNI profile: 1 level: 256
05-12 09:16:37.761 31511 31638 D MediaServer:
D MediaServer: MDK-JNI  [Match].
05-12 09:16:37.761 31511 31638 D MediaServer:
D MediaServer: MDK-JNI found codecs count: 3 | 0
05-12 09:16:37.761 31511 31638 D MediaServer:
D MediaServer: MDK-JNI video/x-vnd.on2.vp9 AMediaCodec_createCodecByName: OMX.rk.video_decoder.vp9
05-12 09:16:37.761 31511 31638 D MediaServer:
D MediaServer: MDK-JNI ndk::AMediaCodec *ndk::AMediaCodec_createCodecByName(const char *) via ndk: true
05-12 09:16:37.761 31511 31638 D MediaServer:
I OMXClient: IOmx service obtained
D MediaServer: MDK-JNI using AImageReader: true
05-12 09:16:37.772 31511 31638 D MediaServer:
D SurfaceUtils: connecting to surface 0xecbb2618, reason connectToSurface
I MediaCodec: [OMX.rk.video_decoder.vp9] setting surface generation to 32267266
D SurfaceUtils: disconnecting from surface 0xecbb2618, reason connectToSurface(reconnect)
D SurfaceUtils: connecting to surface 0xecbb2618, reason connectToSurface(reconnect)
E ACodec  : [OMX.rk.video_decoder.vp9] setPortMode on output to DynamicANWBuffer failed w/ err -1010
I ACodec  : codec does not support config priority (err -1010)
W AHierarchicalStateMachine: Warning message AMessage(what = 'omxI') = {
W AHierarchicalStateMachine:   int32_t type = 0
W AHierarchicalStateMachine:   int32_t event = 3
W AHierarchicalStateMachine:   int32_t data1 = 1
W AHierarchicalStateMachine:   int32_t data2 = 117440527
W AHierarchicalStateMachine: } unhandled in root state.
D MediaServer: MDK-JNI AMediaCodec selected video codec name: OMX.rk.video_decoder.vp9
05-12 09:16:37.781 31511 31638 D MediaServer:
W ACodec  : setupNativeWindowSizeFormatAndUsage 1138 colorSpace 0, eDyncRange 0
D SurfaceUtils: disconnecting from surface 0xecbb2618, reason setNativeWindowSizeFormatAndUsage
D SurfaceUtils: connecting to surface 0xecbb2618, reason setNativeWindowSizeFormatAndUsage
D SurfaceUtils: set up nativeWindow 0xecbb2618 for 3840x2176, color 0x1a, rotation 0, usage 0x40002900
D MediaServer: MDK-JNI decode stored recovery packets: 0
05-12 09:16:37.837 31511 31638 D MediaServer:
D MediaServer: MDK-JNI ***buffering progress 100%***
05-12 09:16:37.837 31511 31638 D MediaServer:
D MediaServer: MDK-JNI default 0xe8086190 FrameReader::update MediaStatus 0X14=>0X124
05-12 09:16:37.837 31511 31638 D MediaServer:
D MediaServer: MDK-JNI ++++++++++++BUFFERING END++++++++++++
05-12 09:16:37.837 31511 31638 D MediaServer:
D MediaServer: MDK-JNI
W ACodec  : [OMX.rk.video_decoder.vp9] BAD CODEC: Output format changed unexpectedly from (diff) AMessage(what = 0x00000000) = {
W ACodec  :       int32_t color-standard = 6
W ACodec  :     } to (diff) AMessage(what = 0x00000000) = {
W ACodec  :       int32_t color-standard = 130822
W ACodec  :     }
D MediaServer: MDK-JNI AMEDIACODEC_INFO_OUTPUT_FORMAT_CHANGED
05-12 09:16:37.879 31511 31638 D MediaServer:
D MediaServer: MDK-JNI MediaFormat: color-range: int32(2), color-standard: int32(130822), color-transfer: int32(3), mime: string(video/raw), stride: int32(3840), slice-height: int32(2176), color-format: int32(26), crop: Rect(0, 0, 3839, 2159), android._dataspace: int32(281411584), width: int32(3840), height: int32(2176)}
05-12 09:16:37.880 31511 31638 D MediaServer:
D MediaServer: MDK-JNI unknown, bpc:0, bpp:0(), channels:(), map: 0 0 0 0
05-12 09:16:37.880 31511 31638 D MediaServer:
D MediaServer: MDK-JNI size: 3840x2160, bytes: 3840x2176
05-12 09:16:37.880 31511 31638 D MediaServer:
D MediaServer: MDK-JNI video stream#0 sending 1 invalid AOT frame @0.003000s. seeking: 0
05-12 09:16:37.888 31511 31638 D MediaServer:
D MediaServer: MDK-JNI 0xec7c9010 1st video frame to render @0.003000s, sync time: 0.051000
05-12 09:16:37.889 31511 31638 D MediaServer:
D MediaServer: MDK-JNI VideoRenderer clear buffered frames
05-12 09:16:37.889 31511 31638 D MediaServer:
D MediaServer: MDK-JNI 0-track seek end video frame @0.003000 seek_pos_: -1
05-12 09:16:37.889 31511 31638 D MediaServer:
D MediaServer: MDK-JNI >3 00:00:00.0/00:03:20 cache 14.7s/16959KB 0KB/s diff |+0|<16ms update infms
05-12 09:16:37.889 31511 31638 D MediaServer:
D MediaServer: MDK-JNI video stream#0 AOT frame is sent
05-12 09:16:37.889 31511 31638 D MediaServer:
D MediaServer: MDK-JNI VideoRenderer WxH=7680.000000x1080.000000 7680.000000x1080.000000, frame: 3840x2160
05-12 09:16:37.895 31511 31586 D MediaServer:
D MediaServer: MDK-JNI update transform 2d. scale: (1.000000, 1.000000), orientation: 0
05-12 09:16:37.895 31511 31586 D MediaServer:
D MediaServer: MDK-JNI m: mat<4, 4>(
05-12 09:16:37.895 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 1  0  0  0
05-12 09:16:37.895 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  1  0  0
05-12 09:16:37.895 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  0  1  0
05-12 09:16:37.895 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  0  0  1
05-12 09:16:37.895 31511 31586 D MediaServer:
D MediaServer: MDK-JNI )
05-12 09:16:37.895 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0xb1e95150/0xb396ec80 Context::setLocalData local data 0xae1802a0 for key: 0x6. size: 5
05-12 09:16:37.896 31511 31586 D MediaServer:
D MediaServer: MDK-JNI AHardwareBuffer from AImageReader Surface to EGLImage
05-12 09:16:37.896 31511 31586 D MediaServer:
D MediaServer: MDK-JNI unknown, bpc:0, bpp:0(), channels:(), map: 0 0 0 0 => mapped rgba, bpc:8, bpp:32(32), channels:(4), map: 0 1 2 3
05-12 09:16:37.898 31511 31586 D MediaServer:
D MediaServer: MDK-JNI  RGBA8 |  RGBA | UNSIGNED_BYTE
05-12 09:16:37.898 31511 31586 D MediaServer:
D MediaServer: MDK-JNI frame color: bt709 bt709 bt709 narrow. gamma: 2.200000, signal peak: 1.000000
05-12 09:16:37.899 31511 31586 D MediaServer:
D MediaServer: MDK-JNI  -
05-12 09:16:37.899 31511 31586 D MediaServer:
D MediaServer: MDK-JNI output color: bt709 unknown unknown full. gamma: 2.200000, signal peak: 1.000000
05-12 09:16:37.899 31511 31586 D MediaServer:
D MediaServer: MDK-JNI rgb primaries matrix: mat<3, 3>(
05-12 09:16:37.899 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 1  0  0
05-12 09:16:37.899 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  1  0
05-12 09:16:37.900 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  0  1
05-12 09:16:37.900 31511 31586 D MediaServer:
D MediaServer: MDK-JNI )
05-12 09:16:37.900 31511 31586 D MediaServer:
D MediaServer: MDK-JNI color transform: mat<4, 4>(
05-12 09:16:37.900 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 1  0  0  0
05-12 09:16:37.900 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  1  0  0
05-12 09:16:37.900 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  0  1  0
05-12 09:16:37.900 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  0  0  1
05-12 09:16:37.901 31511 31586 D MediaServer:
D MediaServer: MDK-JNI )
05-12 09:16:37.901 31511 31586 D MediaServer:
D MediaServer: MDK-JNI EQ: mat<4, 4>(
05-12 09:16:37.901 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 1  0  0  0
05-12 09:16:37.901 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  1  0  0
05-12 09:16:37.901 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  0  1  0
05-12 09:16:37.901 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  0  0  1
05-12 09:16:37.901 31511 31586 D MediaServer:
D MediaServer: MDK-JNI )
05-12 09:16:37.902 31511 31586 D MediaServer:
D MediaServer: MDK-JNI material changed: 0x0=>0x90a
05-12 09:16:37.902 31511 31586 D MediaServer:
D MediaServer: MDK-JNI planar: 0, alpha: 1, texture 2d: 0, external: 1, rg semi-planar: 0, 16=>8: 0, xyz: 0, generic packed yuv: 0, cocgsy: 0, primaries diff: 0, trc: 1=>1, tone map: 0
05-12 09:16:37.902 31511 31586 D MediaServer:
D MediaServer: MDK-JNI bind attribute: a_Position => 0
05-12 09:16:37.903 31511 31586 D MediaServer:
D MediaServer: MDK-JNI bind attribute: a_TexCoords0 => 1
05-12 09:16:37.903 31511 31586 D MediaServer:
D MediaServer: MDK-JNI uniform locations:
05-12 09:16:37.905 31511 31586 D MediaServer:
D MediaServer: MDK-JNI u_Texture0: 0
05-12 09:16:37.905 31511 31586 D MediaServer:
D MediaServer: MDK-JNI u_Matrix: 2, u_TexMatrix: 1
05-12 09:16:37.905 31511 31586 D MediaServer:
D MediaServer: MDK-JNI update built-in uniforms
05-12 09:16:37.905 31511 31586 D MediaServer:
D MediaServer: MDK-JNI EQ: mat<4, 4>(
05-12 09:16:37.905 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 1  0  0  0
05-12 09:16:37.905 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  1  0  0
05-12 09:16:37.906 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  0  1  0
05-12 09:16:37.906 31511 31586 D MediaServer:
D MediaServer: MDK-JNI 0  0  0  1
05-12 09:16:37.906 31511 31586 D MediaServer:
D MediaServer: MDK-JNI )
05-12 09:16:37.906 31511 31586 D MediaServer:
D MediaServer: MDK-JNI uniform cb.u_colorMatrix: 3
05-12 09:16:37.906 31511 31586 D MediaServer:
D MediaServer: MDK-JNI uniform cb.u_ScaleA: 4
05-12 09:16:37.906 31511 31586 D MediaServer:
D MediaServer: MDK-JNI creating vbo...
05-12 09:16:37.906 31511 31586 D MediaServer:
D MediaServer: MDK-JNI creating vao...
05-12 09:16:37.906 31511 31586 D MediaServer:
D MediaServer: MDK-JNI >43 00:00:00.0/00:03:20 cache 14.6s/16942KB 0KB/s diff |-10|<16ms update 2285.0ms
05-12 09:16:40.174 31511 31638 D MediaServer:
D MediaServer: MDK-JNI >163 00:00:00.1/00:03:20 cache 14.5s/16881KB 0KB/s diff |-10|<16ms update 598.5ms 20.9fps draw 4/11 +438ms gpu 67920/71198us
05-12 09:16:40.283 31511 31638 D MediaServer:
D MediaServer: MDK-JNI >283 00:00:00.2/00:03:20 cache 14.4s/16860KB 0KB/s diff |-20|>16ms update 360.4ms 16.0fps draw 4/11 +361ms gpu 70131/74554us
05-12 09:16:40.412 31511 31638 D MediaServer:
D MediaServer: MDK-JNI >403 00:00:00.4/00:03:20 cache 14.3s/16845KB 0KB/s diff |-10|<16ms update 263.2ms 22.6fps draw 3/11 +282ms gpu 43611/74554us
05-12 09:16:40.521 31511 31638 D MediaServer:
D MediaServer: MDK-JNI >523 00:00:00.5/00:03:20 cache 14.2s/16715KB 0KB/s diff |-10|<16ms update 211.7ms 24.0fps draw 3/11 +239ms gpu 36572/74554us
05-12 09:16:40.641 31511 31638 D MediaServer:
D MediaServer: MDK-JNI >643 00:00:00.6/00:03:20 cache 14.1s/16681KB 0KB/s diff |-10|<16ms update 39.1ms 23.8fps draw 2/11 +224ms gpu 32364/74554us
05-12 09:16:40.761 31511 31638 D MediaServer:
D MediaServer: MDK-JNI >763 00:00:00.7/00:03:20 cache 14.0s/16646KB 0KB/s diff |-10|<16ms update 39.9ms 24.0fps draw 2/3 +84ms gpu 29751/74554us
05-12 09:16:40.881 31511 31638 D MediaServer:
D MediaServer: MDK-JNI >883 00:00:00.8/00:03:20 cache 13.8s/16621KB 0KB/s diff |-10|<16ms update 39.3ms 26.6fps draw 2/3 +85ms gpu 20097/35997us
05-12 09:16:41.001 31511 31638 D MediaServer:
D MediaServer: MDK-JNI >1002 00:00:01.0/00:03:20 cache 13.7s/16439KB 0KB/s diff |+0|<16ms update 39.3ms 25.4fps draw 1/3 +84ms gpu 18871/20398us
05-12 09:16:41.111 31511 31638 D MediaServer:

下面是那个视频的参数
image

@wang-bin
Copy link
Owner

log看上去没问题啊,是什么现象?期望是怎么样的?

@ken626014896
Copy link
Author

播放器直接卡死了,目前通过把视频转码成MP4解决了,原本格式是webm

@wang-bin
Copy link
Owner

只是转封装成mp4?这很奇怪

@ken626014896
Copy link
Author

嗯,就用格式工厂转了一下

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

2 participants