AVCDecoder:视频分辨率太高,拒绝它

时间:2011-10-05 10:55:45

标签: android video-encoding

我在Android上遇到过mp4视频的问题。编解码器没关系,分辨率是一样的,但是一个运行了2个不同的视频,而另一个...

10-05 12:45:39.363: INFO/HTTPDataSource(8773): try to receive 65536
10-05 12:45:39.563: INFO/HTTPDataSource(8773): 65536 received
10-05 12:45:39.563: VERBOSE/MediaExtractor(8773): Autodetected media content as 'video/mpeg4' with confidence 0.50
10-05 12:45:39.563: DEBUG/AwesomePlayer(8773): [U5B] setDataSource_l (350)
10-05 12:45:39.563: INFO/HTTPDataSource(8773): try to receive 65536
10-05 12:45:39.703: INFO/HTTPDataSource(8773): 65536 received
10-05 12:45:39.733: INFO/HTTPDataSource(8773): try to receive 65536
10-05 12:45:39.803: INFO/HTTPDataSource(8773): 65536 received
10-05 12:45:39.803: INFO/HTTPDataSource(8773): try to receive 65536
10-05 12:45:39.903: INFO/HTTPDataSource(8773): 65536 received
10-05 12:45:39.963: INFO/HTTPDataSource(8773): try to receive 65536
10-05 12:45:40.003: INFO/HTTPDataSource(8773): 65536 received
10-05 12:45:40.043: ERROR/QCvdec(8773): Invalid Ht[360] wdth[640]
10-05 12:45:40.043: ERROR/QCOmxcore(8773): OMXCORE API :  Free Handle 21a8b4
10-05 12:45:40.043: WARN/QCvdec(8773): ======================================================================
10-05 12:45:40.043: WARN/QCvdec(8773):                    Open Max Statistics                                
10-05 12:45:40.053: WARN/QCvdec(8773): ======================================================================
10-05 12:45:40.063: WARN/QCvdec(8773): empty this buffer rate = NaN
10-05 12:45:40.063: WARN/QCvdec(8773): empty this buffer total time = 0
10-05 12:45:40.063: WARN/QCvdec(8773): empty this buffer count = 0
10-05 12:45:40.063: WARN/QCvdec(8773): ======================================================================
10-05 12:45:40.073: ERROR/QCOmxcore(8773):  Unloading the dynamic library for OMX.qcom.video.decoder.avc
10-05 12:45:40.073: ERROR/QCOmxcore(8773):  Unloading the dynamic lib done 
10-05 12:45:40.073: ERROR/QCOmxcore(8773): OMX_FreeHandle X 
10-05 12:45:40.073: INFO/AwesomePlayer(8773): calling prefetcher->prepare()
10-05 12:45:40.573: INFO/Prefetcher(8773): [0x188670] cache below low water mark, filling cache.
10-05 12:45:40.623: INFO/HTTPDataSource(8773): try to receive 65536
10-05 12:45:40.633: INFO/HTTPDataSource(8773): 65536 received
10-05 12:45:40.733: INFO/HTTPDataSource(8773): try to receive 65536
10-05 12:45:40.773: INFO/HTTPDataSource(8773): 65536 received
10-05 12:45:40.873: INFO/AwesomePlayer(8773): prefetcher is done preparing
10-05 12:45:40.923: DEBUG/AwesomePlayer(8773): [U5B] play (556)
10-05 12:45:40.923: DEBUG/AwesomePlayer(8773): [U5B] play_l (562)
10-05 12:45:40.933: VERBOSE/AudioPolicyService(8773): startOutput() tid 8778
10-05 12:45:40.943: DEBUG/AudioPolicyManagerBase(8773): startOutput() output 1, stream 3
10-05 12:45:40.943: DEBUG/AwesomePlayer(8773): [U5B] play_l (635)
10-05 12:45:40.953: ERROR/AVCDecoder(8773): Video resolution too high, reject it
10-05 12:45:40.953: ERROR/MediaPlayer(29043): error (1, -1010)
10-05 12:45:40.953: DEBUG/AwesomePlayer(8773): [U5B] pause_l (705)
10-05 12:45:40.953: VERBOSE/AudioPolicyService(8773): stopOutput() tid 29198

我确定问题在这里:

10-05 12:45:40.953: ERROR/AVCDecoder(8773): Video resolution too high, reject it

有没有办法在android中改变surfaceview,mediaplayer或类似内容的分辨率?

1 个答案:

答案 0 :(得分:1)

不幸的是,您获得的错误不是可以在应用程序中解决的错误,也不是应用程序的限制。

此限制来自硬件加密的视频编解码器本身(在您的情况下为AVCDecoder)。您尝试播放的分辨率对于该特定编解码器来说太高了。

您还提到过播放相同分辨率的特定剪辑,您需要验证它是否属于同一个编解码器。我的猜测是,它不是相同的编解码器。