RenderHeads / UnityPlugin-AVProVideo

AVPro Video is a multi-platform Unity plugin for advanced video playback
https://www.renderheads.com/products/avpro-video/
233 stars 28 forks source link

android configureCodec returning error -61 #1717

Closed adfansong closed 8 months ago

adfansong commented 8 months ago

Describe the issue After StartCapture called, there're errors on my android TV.

Your Setup (please complete the following information):

To Reproduce Just StartCapture on TV.

Logs 💬️ Manager.GetVideoCodecCapabilities - supported bitrates: 1-20,000,000 💬️ Manager.GetVideoCodecCapabilities - supported widths: 64-1,920 💬️ Manager.GetVideoCodecCapabilities - supported heights: 64-1,088 💬️ Manager.GetVideoCodecCapabilities - supported framerates: 0-960 💬️ Manager.GetVideoCodecCapabilities - width alignment: 16 💬️ Manager.GetVideoCodecCapabilities - height alignment: 16 💬️ Manager.GetVideoCodecCapabilities - complexity range: 0-0 💬️ Manager.GetVideoCodecCapabilities - quality range: 0-0 💬️ (PluginState.cpp:159) PluginState::TryAddVideoCodec(VideoCodec::HEVC) 💬️ (PluginState.cpp:169) PluginState::TryAddVideoCodec - HEVC codec is unavailable 💬️ (PluginInterface.cpp:70) AVPMC_CreateRecorderVideo - 5.1.5-full 💬️ (VideoRecorder.cpp:49) IVideoRecorder::newVideoRecorder - android api level is 28 💬️ (VideoRecorder.cpp:56) IVideoRecorder::newVideoRecorder - creating video recorder for API 28 💬️ (VideoRecorder.cpp:1082) VideoRecorder::createMuxer - creating file at: /storage/emulated/0/Android/data/com.DefaultCompany.testRec/files/Captures/ScreenCapture_2023-12-21_19-42-10_1920x1080.mp4 💬️ Manager.GetFormatAdjustmentForEncode - media codec name: OMX.amlogic.video.encoder.avc makeComponentInstance(OMX.amlogic.video.encoder.avc) in omx@1.0-service process getEntryByName_2_num=0, componentName:OMX.amlogic.video.encoder.avc ion_open sucess IncreaseEntryNumByName pEntry->mNum=0, pEntry->mMaxNum:3,componentName:OMX.amlogic.video.encoder.avc AmAVUtils::getComponentRole isEncoder :1 mime:video/avc setParameter: StoreMetadataInBuffersParams.nPortIndex not input port! getExtensionIndex 1200 name="OMX.google.android.index.configureVideoTunnelMode" [OMX.amlogic.video.encoder.avc] using color format 0x13 in place of 0x7f420888 [OMX.amlogic.video.encoder.avc] setting color aspects failed even though codec advertises support [OMX.amlogic.video.encoder.avc] cannot encode color aspects. Ignoring. [OMX.amlogic.video.encoder.avc] setting HDRStaticInfo failed even though codec advertises support [OMX.amlogic.video.encoder.avc] cannot encode HDR static metadata. Ignoring. setupVideoEncoder succeeded AmAVUtils::isAudioExtendFormat input = video/avc AmAVUtils::isExtendFormat input = video/avc [OMX.amlogic.video.encoder.avc] getting color aspects failed even though codec advertises support getParameter(0xa2703bd4:amlogic.encoder.avc, ParamVideoIntraRefresh(0x6000006)) ERROR: UnsupportedIndex(0x8000101a) STATE_SET: OMX_StateLoaded => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateLoaded => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateLoaded => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateLoaded => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateLoaded => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateLoaded => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateLoaded => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateLoaded => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateLoaded => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateLoaded => OMX_StateIdle : OMX.amlogic.video.encoder.avc mVideoColorFormat :0x13, mVideoFrameRate: 30 mStoreMetaDataInBuffers:0 mVideoBitRate :10000000 Video frame height is not standard:1080 getParameter:437 OMX_IndexAmlogicVideoExtendCropScale get Parameter:bEnableScaling:0 param_extended->ui16ScaledWidth:0 Height:0,Flag:0, enableCroping:0, Left:0, right:0, top:0, bottom:0 set color space to GE2D_FORMAT_BT601 STATE_DONE: OMX_StateLoaded => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_SET: OMX_StateIdle => OMX_StateExecuting : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateIdle => OMX_StateExecuting : OMX.amlogic.video.encoder.avc STATE_DONE: OMX_StateIdle => OMX_StateExecuting : OMX.amlogic.video.encoder.avc STATE_SET: OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.video.encoder.avc OMX.amlogic.video.encoder.avc: flush input OMX.amlogic.video.encoder.avc: flush output STATE_TRANS: OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_DONE: OMX_StateExecuting => OMX_StateIdle : OMX.amlogic.video.encoder.avc STATE_SET: OMX_StateIdle => OMX_StateLoaded : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateIdle => OMX_StateLoaded : OMX.amlogic.video.encoder.avc STATE_TRANS: OMX_StateIdle => OMX_StateLoaded : OMX.amlogic.video.encoder.avc STATE_DONE: OMX_StateIdle => OMX_StateLoaded : OMX.amlogic.video.encoder.avc DecreaseEntryNumByName pEntry->mNum=1, pEntry->mMaxNum:3,componentName:OMX.amlogic.video.encoder.avc ~OmxVideoEncoder ~OmxComponent 256 : OMX.amlogic.video.encoder.avc 💬️ Manager.GetVideoCodecImageCapabilities - Colour format is YUV8_420 💬️ Manager.GetFormatAdjustmentForEncode - video format has changed 💬️ (VideoRecorder.cpp:503) VideoRecorder::createVideoCodec - Media format: 💬️ (VideoRecorder.cpp:504) VideoRecorder::createVideoCodec - MIME type: video/avc 💬️ (VideoRecorder.cpp:505) VideoRecorder::createVideoCodec - Width: 1920 💬️ (VideoRecorder.cpp:506) VideoRecorder::createVideoCodec - Height: 1080 💬️ (VideoRecorder.cpp:507) VideoRecorder::createVideoCodec - Frame rate: 30.000000 💬️ (VideoRecorder.cpp:508) VideoRecorder::createVideoCodec - Bitrate: 10000000 💬️ (VideoRecorder.cpp:509) VideoRecorder::createVideoCodec - I-Frame interval: 1.000000 💬️ (VideoRecorder.cpp:510) VideoRecorder::createVideoCodec - Stride: 1920 💬️ (VideoRecorder.cpp:511) VideoRecorder::createVideoCodec - Slice height: 1080 💬️ (VideoRecorder.cpp:512) VideoRecorder::createVideoCodec - Colour range: Limited 💬️ (VideoRecorder.cpp:513) VideoRecorder::createVideoCodec - Profile: 8 💬️ (VideoRecorder.cpp:514) VideoRecorder::createVideoCodec - Level: 800 makeComponentInstance(OMX.amlogic.video.encoder.avc) in omx@1.0-service process getEntryByName_2_num=0, componentName:OMX.amlogic.video.encoder.avc ion_open sucess IncreaseEntryNumByName pEntry->mNum=0, pEntry->mMaxNum:3,componentName:OMX.amlogic.video.encoder.avc AmAVUtils::getComponentRole isEncoder :1 mime:video/avc setParameter: StoreMetadataInBuffersParams.nPortIndex not input port! getExtensionIndex 1200 name="OMX.google.android.index.configureVideoTunnelMode" [OMX.amlogic.video.encoder.avc] using color format 0x13 in place of 0x7f420888 [OMX.amlogic.video.encoder.avc] configureCodec returning error -61 DecreaseEntryNumByName pEntry->mNum=1, pEntry->mMaxNum:3,componentName:OMX.amlogic.video.encoder.avc ~OmxVideoEncoder ~OmxComponent 256 : OMX.amlogic.video.encoder.avc makeComponentInstance(OMX.amlogic.video.encoder.avc) in omx@1.0-service process getEntryByName_2_num=0, componentName:OMX.amlogic.video.encoder.avc ion_open sucess IncreaseEntryNumByName pEntry->mNum=0, pEntry->mMaxNum:3,componentName:OMX.amlogic.video.encoder.avc configure: err(-61), failed with format: AMessage(what = 'conf', target = 4) = { string mime = "video/avc" int32_t width = 1920 int32_t height = 1080 float frame-rate = 30.000000 int32_t bitrate = 10000000 int32_t color-format = 2135033992 int32_t profile = 8 int32_t level = 2048 int32_t complexity = 100 int32_t color-range = 2 int32_t color-standard = 1 int32_t color-transfer = 3 float i-frame-interval = 1.000000 int32_t encoder = 1 } ❌ (VideoRecorder.cpp:531) VideoRecorder::createVideoCodec - failed to configure codec, error: -10000 - AMEDIA_ERROR_UNKNOWN DecreaseEntryNumByName pEntry->mNum=1, pEntry->mMaxNum:3,componentName:OMX.amlogic.video.encoder.avc ~OmxVideoEncoder ~OmxComponent 256 : OMX.amlogic.video.encoder.avc

Chris-RH commented 8 months ago

Hi, this is the issue section for AVPro Video, please can you open a bug report in AVPro Movie Capture github and provide the information requested in the template: https://github.com/RenderHeads/UnityPlugin-AVProMovieCapture/issues

adfansong commented 8 months ago

Hi, this is the issue section for AVPro Video, please can you open a bug report in AVPro Movie Capture github and provide the information requested in the template: https://github.com/RenderHeads/UnityPlugin-AVProMovieCapture/issues

OK, Thanks.