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

发布于 2024-12-08 02:26:35 字数 3301 浏览 0 评论 0原文

我在 Android 上播放 mp4 视频时遇到了一些问题。编解码器没问题,分辨率是相同的,但是两个不同的视频,一个运行,另一个......

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

有没有办法改变表面视图、媒体播放器或类似内容的分辨率安卓 ?

I have been having some problems with mp4 video on Android . The codec is ok , the resolution is the same , but 2 different videos one runs , and the other ...

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

I'm sure the problem is here :

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

Is there any way to change resolution of a surfaceview,mediaplayer or something like that in android ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

水中月 2024-12-15 02:26:35

不幸的是,您遇到的错误无法在应用程序中解决,也不是应用程序的限制。

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

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

Unfortunately the error you are getting is not something that can be resolved in the application, nor is it an limitation from the application.

This restriction is from the Hardware acclerated Video codec itself (AVCDecoder in your case). The resolution that you trying to play is too high for that particular codec.

You have also mentioned that one particular clip of the same resolution plays, you will need to verify if it is of the same codec. My guess is, it is not the same codec.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文