我需要把视频解码成帧。我可以在mime类型的视频中这样做,但是它不适用于
for (int i = 0; i < extractor.getTrackCount(); i++) {
MediaFormat format = extractor.getTrackFormat(i);
String mime = format.getString(MediaFormat.KEY_MIME);
System.out.println(mime);
if (mime.startsWith("application/")) {
extractor.selectTrack(i);
try {
decoder = MediaCodec.createDecoderByType(mime);
} catch (IOException e) {
e.printStackTrace();
}
decoder.configure(format, null, null, 0);
break;
}
}我得到的错误在下面。
E/libc: Access denied finding property "ro.kirin.product.platform"
W/HwExtendedCodec: The mime is not in hisi extended mime.
W/Thread-3: type=1400 audit(0.0:81515): avc: denied { read } for pid=23409 name="u:object_r:product_platform_prop:s0" dev="tmpfs" ino=15947 scontext=u:r:untrusted_app:s0:c111,c257,c512,c768 tcontext=u:object_r:product_platform_prop:s0 tclass=file permissive=0
W/MediaCodec-JNI: try to release MediaCodec from JMediaCodec::~JMediaCodec()...
done releasing MediaCodec from JMediaCodec::~JMediaCodec().
I/QarthLog: [PatchStore] createDisableExceptionQarthFile
I/QarthLog: [PatchStore] create disable file for com.example.mp4decoder uid is 10367
E/AndroidRuntime: FATAL EXCEPTION: Thread-3
Process: com.example.mp4decoder, PID: 23409
java.lang.IllegalArgumentException: Failed to initialize application/octet-stream, error 0xfffffffe
at android.media.MediaCodec.native_setup(Native Method)
at android.media.MediaCodec.<init>(MediaCodec.java:1864)
at android.media.MediaCodec.createDecoderByType(MediaCodec.java:1809)
at com.example.mp4decoder.MainActivity$PlayerThread.run(MainActivity.java:108)发布于 2021-12-20 08:10:14
据我所知,MediaCodec只支持音频或视频格式。我不认为“应用程序/八位流”是一种视频格式。视频格式应以“视频/”开头,如“视频/avc”、“视频/高速视频”等。我认为您得到了“应用程序/八位流”,因为该流不是视频流,或者MediaExtractor不知道流格式。
https://stackoverflow.com/questions/70338572
复制相似问题