在媒体codec.configure非法异常 [英] Illegal Exception on MediaCodec.configure
问题描述
我想学习EN code一个MP4或使用相机任何类型的视频文件是在previewFrame回电。
目前,我正尝试从这个职位的例子codeS
<一个href=\"http://stackoverflow.com/questions/13458289/encoding-h-264-from-camera-with-android-media$c$cc\">Encoding从相机H.264与Android媒体codeC
不幸的是,我不断收到对一个IllegalException
媒体codec.configure(mediaFormat,NULL,NULL,媒体codec.CONFIGURE_FLAG_EN code);
这是另一篇文章
<一href=\"http://stackoverflow.com/questions/17233835/illegalstateexception-when-media$c$cc-configure-android\">IllegalStateException当媒体codec.configure的Android ,
我注意到,有一些强制性的价值观我要为媒体codeC设置。
我试过强制媒体codeC的所有强制值,但仍然没有得到过去的运气
在IllegalException。
现在我还挺运行的想法去尝试的。任何建议,意见或提示将大大AP preciated。
感谢
12月11日至4日:27:14.785 175-894 /? E /毫米libcamera2:轮廓HAL:停止preVIEW():E:1383596834.803557773
12月11日至4日:27:14.795 174-175 /? E / OMXNodeInstance:!!!观察员死亡。很快,有所为有所不为,...什么...
12月11日至4日:27:14.795 208-5797 /? E /毫米相机:config_shutdown_pp相机不在流模式。返回。
12月11日至4日:27:14.795 208-5797 /? E /毫米相机:vfe_ops_deinit:电子
12月11日至4日:27:14.825 175-5814 /? E / OMX-VENC-720P如下:ioctl VEN_IOCTL_CMD_READ_NEXT_MSG失败
12月11日至4日:27:14.825 174-175 /? E / OMX-VENC-720P:摧毁C2D实例
12月11日至4日:27:14.835 527-539 /? E / qcom_sensors_hal:hal_process_report_ind:不良商品质量:11
12月11日至4日:28:17.642 6241-6247 /? E / JDWP:无法发送回复调试器:断的管
12月11日至4日:28:17.912 527-539 /? E / qcom_sensors_hal:hal_process_report_ind:不良商品质量:11
12月11日至4日:28:17.922 208-6264 /? E /毫米相机:sensor_load_chromatix:libchromatix_imx111_ preview.so:30
12月11日至4日:28:18.032 208-6264 /? E /毫米相机:vfe_ops_init:电子
12月11日至4日:28:18.042 208-6264 /? E /毫米相机:vfe_legacy_stats_buffer_init:AEC_STATS_BUFNUM
12月11日至4日:28:18.052 208-6264 /? E /毫米相机:vfe_legacy_stats_buffer_init:AEC_STATS_BUFNUM
12月11日至4日:28:18.052 208-6264 /? E /毫米相机:mctl_init_stats_proc_info:snap_max_line_cnt = 30096
12月11日至4日:28:18.213 6241-6241 /? E / CamcorderProfile:宽度:720
12月11日至4日:28:18.213 6241-6241 /? E / CamcorderProfile:身高:480
12月11日至4日:28:18.213 6241-6241 /? E / CamcorderProfile:audioSampleRate:48000
12月11日至4日:28:18.213 6241-6241 /? E / CamcorderProfile:videoBitRate:500万支
12月11日至4日:28:18.213 6241-6241 /? E / CamcorderProfile:videoFrameRate:30
12月11日至4日:28:18.233 175-617 /? E / OMX-VENC-720P:是组件安全0
12月11日至4日:28:18.263 6241-6280 /? E / A $ C $抄送:[OMX.qcom.video.en coder.avc]不支持彩色格式19
12月11日至4日:28:18.263 6241-6280 /? E / A $ C $抄送:[OMX.qcom.video.en coder.avc]配置codeC返回错误-2147483648
12月11日至4日:28:18.263 6241-6279 /? E /媒体codeC:codeC报告了一个错误。 (OMX错误0x80001001,-2147483648 InternalError该)
12月11日至4日:28:18.263 6241-6241 /? E / AndroidRuntime:致命异常:主要
java.lang.IllegalStateException
在android.media.Media codec.native_configure(本机方法)
在android.media.Media codec.configure(媒体codec.java:259)
在com.example.media codec.AvcEn $ C $为CR INIT&GT;(AvcEn coder.java:40)。
在com.example.media codeC preview.surfaceCreated(媒体codecActivity.java:304)。
在android.view.SurfaceView.updateWindow(SurfaceView.java:571)
在android.view.SurfaceView.access $ 000(SurfaceView.java:86)
在android.view.SurfaceView $ 3.on preDraw(SurfaceView.java:175)
在android.view.ViewTreeObserver.dispatchOn preDraw(ViewTreeObserver.java:833)
在android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1860)
在android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1004)
在android.view.ViewRootImpl $ TraversalRunnable.run(ViewRootImpl.java:5481)
在android.view.Choreographer $ CallbackRecord.run(Choreographer.java:749)
在android.view.Choreographer.doCallbacks(Choreographer.java:562)
在android.view.Choreographer.doFrame(Choreographer.java:532)
在android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:735)
在android.os.Handler.handleCallback(Handler.java:730)
在android.os.Handler.dispatchMessage(Handler.java:92)
在android.os.Looper.loop(Looper.java:137)
在android.app.ActivityThread.main(ActivityThread.java:5103)
在java.lang.reflect.Method.invokeNative(本机方法)
在java.lang.reflect.Method.invoke(Method.java:525)
在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:737)
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
在dalvik.system.NativeStart.main(本机方法)
12月11日至4日:28:20.135 175-617 /? E /毫米libcamera2:轮廓HAL:停止preVIEW():E:1383596900.149872429
12月11日至4日:28:20.135 175-575 /? E / OMXNodeInstance:!!!观察员死亡。很快,有所为有所不为,...什么...
12月11日至4日:28:20.135 208-6264 /? E /毫米相机:config_shutdown_pp相机不在流模式。返回。
12月11日至4日:28:20.145 208-6264 /? E /毫米相机:vfe_ops_deinit:电子
12月11日至4日:28:20.165 175-6283 /? E / OMX-VENC-720P如下:ioctl VEN_IOCTL_CMD_READ_NEXT_MSG失败
12月11日至4日:28:20.165 175-575 /? E / OMX-VENC-720P:摧毁C2D实例
12月11日至4日:28:20.195 527-539 /? E / qcom_sensors_hal:hal_process_report_ind:不良商品质量:11
E / A $ C $抄送:[OMX.qcom.video.en coder.avc]做不支持彩色格式19
看起来像你想的是Qualcomm设备上使用的颜色格式19(COLOR_FormatYUV420Planar,A / K / A I420)。在我的设备之一快速测试表明其codeCS想要的颜色格式21(COLOR_FormatYUV420SemiPlanar,A / K / A NV12)。
缓冲区到缓冲区测试在恩codeDE codeTEST来源演示如何查询媒体codecInfo
一个合适的颜色格式。既然你是从摄像机接收输入,你将要设置的preVIEW格式半平面布局(NV21),然后做的 U / V交换前递给媒体codeC。
如果您有Android 4.3或更高版本,可以跳过所有格式体操,并使用 I am trying to learn to encode a mp4 or any sort of video file using the Camera's onPreviewFrame call back. Currently, I am trying the example codes from this post Encoding H.264 from camera with Android MediaCodec Unfortunately, I am keep getting an IllegalException on the mediaCodec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); From another post
IllegalStateException when MediaCodec.configure Android,
I notice that are some mandatory values I have to set for the MediaCodec. I tried all the mandatory mediacodec's mandatory values but still no luck of getting past the IllegalException. Now I am kinda of running out of ideas to try. Any suggestions, opinions or hints would be greatly appreciated. thanks
Looks like you're trying to use color format 19 (COLOR_FormatYUV420Planar, a/k/a I420) on a Qualcomm device. A quick test on one of my devices indicates their codecs want color format 21 (COLOR_FormatYUV420SemiPlanar, a/k/a NV12). The buffer-to-buffer tests in the EncodeDecodeTest sources show how to query the If you have Android 4.3 or later, you can skip all of the format gymnastics and use the 这篇关于在媒体codec.configure非法异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!表面
preVIEW输出。见href=\"http://bigflake.com/media$c$cc/#CameraToMpegTest\" rel=\"nofollow\"> CameraToMpegTest来源一个例子11-04 12:27:14.785 175-894/? E/mm-libcamera2﹕ PROFILE HAL: stopPreview(): E: 1383596834.803557773
11-04 12:27:14.795 175-175/? E/OMXNodeInstance﹕ !!! Observer died. Quickly, do something, ... anything...
11-04 12:27:14.795 208-5797/? E/mm-camera﹕ config_shutdown_pp Camera not in streaming mode. Returning.
11-04 12:27:14.795 208-5797/? E/mm-camera﹕ vfe_ops_deinit: E
11-04 12:27:14.825 175-5814/? E/OMX-VENC-720p﹕ ioctl VEN_IOCTL_CMD_READ_NEXT_MSG failed
11-04 12:27:14.825 175-175/? E/OMX-VENC-720p﹕ Destroy C2D instance
11-04 12:27:14.835 527-539/? E/qcom_sensors_hal﹕ hal_process_report_ind: Bad item quality: 11
11-04 12:28:17.642 6241-6247/? E/jdwp﹕ Failed sending reply to debugger: Broken pipe
11-04 12:28:17.912 527-539/? E/qcom_sensors_hal﹕ hal_process_report_ind: Bad item quality: 11
11-04 12:28:17.922 208-6264/? E/mm-camera﹕ sensor_load_chromatix: libchromatix_imx111_preview.so: 30
11-04 12:28:18.032 208-6264/? E/mm-camera﹕ vfe_ops_init: E
11-04 12:28:18.042 208-6264/? E/mm-camera﹕ vfe_legacy_stats_buffer_init: AEC_STATS_BUFNUM
11-04 12:28:18.052 208-6264/? E/mm-camera﹕ vfe_legacy_stats_buffer_init: AEC_STATS_BUFNUM
11-04 12:28:18.052 208-6264/? E/mm-camera﹕ mctl_init_stats_proc_info: snap_max_line_cnt =30096
11-04 12:28:18.213 6241-6241/? E/CamcorderProfile﹕ width: 720
11-04 12:28:18.213 6241-6241/? E/CamcorderProfile﹕ height: 480
11-04 12:28:18.213 6241-6241/? E/CamcorderProfile﹕ audioSampleRate: 48000
11-04 12:28:18.213 6241-6241/? E/CamcorderProfile﹕ videoBitRate: 5000000
11-04 12:28:18.213 6241-6241/? E/CamcorderProfile﹕ videoFrameRate: 30
11-04 12:28:18.233 175-617/? E/OMX-VENC-720p﹕ Is component secure 0
11-04 12:28:18.263 6241-6280/? E/ACodec﹕ [OMX.qcom.video.encoder.avc] does not support color format 19
11-04 12:28:18.263 6241-6280/? E/ACodec﹕ [OMX.qcom.video.encoder.avc] configureCodec returning error -2147483648
11-04 12:28:18.263 6241-6279/? E/MediaCodec﹕ Codec reported an error. (omx error 0x80001001, internalError -2147483648)
11-04 12:28:18.263 6241-6241/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.IllegalStateException
at android.media.MediaCodec.native_configure(Native Method)
at android.media.MediaCodec.configure(MediaCodec.java:259)
at com.example.mediacodec.AvcEncoder.<init>(AvcEncoder.java:40)
at com.example.mediacodec.Preview.surfaceCreated(MediaCodecActivity.java:304)
at android.view.SurfaceView.updateWindow(SurfaceView.java:571)
at android.view.SurfaceView.access$000(SurfaceView.java:86)
at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:175)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:833)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1860)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1004)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5481)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:532)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
11-04 12:28:20.135 175-617/? E/mm-libcamera2﹕ PROFILE HAL: stopPreview(): E: 1383596900.149872429
11-04 12:28:20.135 175-575/? E/OMXNodeInstance﹕ !!! Observer died. Quickly, do something, ... anything...
11-04 12:28:20.135 208-6264/? E/mm-camera﹕ config_shutdown_pp Camera not in streaming mode. Returning.
11-04 12:28:20.145 208-6264/? E/mm-camera﹕ vfe_ops_deinit: E
11-04 12:28:20.165 175-6283/? E/OMX-VENC-720p﹕ ioctl VEN_IOCTL_CMD_READ_NEXT_MSG failed
11-04 12:28:20.165 175-575/? E/OMX-VENC-720p﹕ Destroy C2D instance
11-04 12:28:20.195 527-539/? E/qcom_sensors_hal﹕ hal_process_report_ind: Bad item quality: 11
E/ACodec﹕ [OMX.qcom.video.encoder.avc] does not support color format 19
MediaCodecInfo
for an appropriate color format. Since you are receiving input from the Camera, you will want to set the preview format to a semi-planar layout (NV21), and then do the U/V swap before handing it to the MediaCodec.Surface
preview output. See the CameraToMpegTest sources for an example.