我很难让我的
Android应用程序播放SD卡中的视频.无论大小,比特率,视频格式或我能想到的任何其他设置都无关紧要,模拟器和我的G1都不会播放我尝试编码的任何内容.我也尝试了一些来自网络的视频(各种视频格式,比特率,有和没有音频轨道等),但这些都没有.
我不断得到的是一个对话框,上面写着:
“无法播放视频”
“抱歉,这部影片无法播放.”
在LogCat中报告了错误,但我不理解它们,我试图在互联网上搜索没有任何运气的进一步解释.见下文:
03-30 05:34:26.807: ERROR/QCOmxcore(51): OMXCORE API : Free Handle 390d4 03-30 05:34:26.817: ERROR/QCOmxcore(51): Unloading the dynamic library for OMX.qcom.video.decoder.avc 03-30 05:34:26.817: ERROR/PlayerDriver(51): Command PLAYER_PREPARE completed with an error or info PVMFErrNoResources 03-30 05:34:26.857: ERROR/MediaPlayer(14744): error (1,-15)03-30 05:34:26.867: ERROR/MediaPlayer(14744): Error (1,-15)
有时我也得到这个:
03-30 05:49:49.267: ERROR/PlayerDriver(51): Command PLAYER_INIT completed with an error or info PVMFErrResource 03-30 05:49:49.267: ERROR/MediaPlayer(19049): error (1,-17) 03-30 05:49:49.347: ERROR/MediaPlayer(19049): Error (1,-17)
this.setContentView(R.layout.main); //just a simple VideoView loading files from the SD card VideoView myIntroView = (VideoView) this.findViewById(R.id.VideoView01); MediaController mc = new MediaController(this); myIntroView.setMediaController(mc); myIntroView.setVideoPath("/sdcard/test.mp4"); myIntroView.requestFocus(); myIntroView.start();
请帮忙!
解决方法
好的,这里有.我一直在Adobe Premiere上工作的视频应该是480×800(WxH),但是我有Adobe Media Encoder使用“UYVY”视频编解码器输出序列作为“未压缩的Microsoft AVI”,帧速率为24fps,渐进式,方形像素和尺寸:720×800(WxH).这会在视频内容的两侧输出一个相当大的文件,其中包含120px黑色边框.然后我将视频带入Handbrake 0.9.4并使用以下设置(我从Regular-> Normal预设开始):
Container: MP4 File Large file size: [un-Checked] Web-optimized: [un-Checked] iPod 5G support: [un-Checked] Width: 320 (this is key,any higher than 320 and it won’t work) Height: 528 Keep Aspect Ratio: [Checked] Anamorphic: None Crop Left: 120 Crop Right: 120 Everything under the "Video Filter" tab set to "Off" Video Codec: H.264(x264) Framerate: same as source 2-Pass Encoding: [Checked] Turbo first pass: [un-Checked] Avg Bitrate: 384 Create chapter markers: [un-Checked] Reference Frames: 2 Mixed References: [un-Checked] B-Frames: 0 Motion Estimation Method: Uneven Multi-Hexagon Sub-pixel Motion Estimation: 9 Motion Estimation Range: 16 Analysis: Default 8x8 DCT: [un-Checked] CABAC Entropy Coding: [un-Checked] No Fast-P-Skip: [un-Checked] No DCT-Decimate: [un-Checked] Deblocking: Default,Default Psychovisual Rate Distortion: [MAX]
我的主要问题是我试图输出480×800(WxH)尺寸的mp4文件.将宽度更改为320(更高的值不起作用),但保持正确的宽高比后,输出视频现在可以正常播放.我希望这可以帮助其他有类似问题的人.
旁注:我希望Android视频限制得到更好的记录.