越来越PVMFErrContentInvalidForProgressivePlayback错误,而玩在三星设备的MP4文件错误、文件、设备、PVMFErrContentInvalidForProgr

2023-09-06 21:59:19 作者:无敌钢炮凹凸曼

我使用的是经典的 VideoView 执行播放视频在Android上。

同样的MP4文件的URL能正常工作的HTC Desire。然而,它并没有在三星设备的正常工作。

三星Galaxy S1和三星Galaxy Tab说:无法播放视频无法播放视频流无效数据。 三星5110说:无法播放视频很抱歉,这视频是无效的流到该设备。

当我看着mp4文件使用文本编辑器,我意识到的 MDAT 的标签之前的 MOOV 的。

我的问题是它如何在HTC工作,而这不会对三星的设备。而且我没有任何机会来改变的MP4文件的格式,所以我怎么能解决这个问题?

  07-29 15:24:21.740:ERROR / PlayerDriver(2402):PlayerDriver ::这是不是受保护的文件
07-29 15:24:21.763:ERROR /(2402):PVMFMemoryBufferWriteDataStreamImpl的IIIIIII内部构造
07-29 15:24:21.806:ERROR / MediaPlayerService(2402):客户端::通知
07-29 15:24:21.806:ERROR /(2402):PVMFMemoryBufferReadDataStreamImpl的IIIIIII内部构造
07-29 15:24:21.806:ERROR /(2402):PVMFMemoryBufferReadDataStreamImpl的IIIIIII内部构造
07-29 15:24:21.810:ERROR / MediaPlayer的(115339):收到的消息味精= 3,外部1 = 0,EXT2 = 0
07-29 15:24:21.810:ERROR / MediaPlayer的(115339):回调应用
07-29 15:24:21.810:ERROR / MediaPlayer的(115339):从回调回来
07-29 15:24:21.822:ERROR /(2402):PVMFMemoryBufferReadDataStreamImpl的IIIIIII内部构造
07-29 15:24:21.822:ERROR /(2402):PVMFMemoryBufferReadDataStreamImpl的IIIIIII内部构造
07-29 15:24:21.822:ERROR / MediaPlayerService(2402):客户端::通知
07-29 15:24:21.822:ERROR / MediaPlayer的(115339):收到的消息味精= 200,外部1​​ = 1,EXT2 = 26
07-29 15:24:21.822:ERROR / MediaPlayer的(115339):回调应用
07-29 15:24:21.822:ERROR / MediaPlayer的(115339):从回调回来
07-29 15:24:21.822:ERROR / PlayerDriver(2402):命令PLAYER_INIT完成,错误或信息-82
07-29 15:24:21.822:ERROR / MediaPlayerService(2402):客户端::通知
07-29 15:24:21.822:ERROR / MediaPlayer的(115339):收到的消息味精= 100,外部1​​ = 200,EXT2 = -82
07-29 15:24:21.822:ERROR / MediaPlayer的(115339):错误(200,-82)
07-29 15:24:21.822:ERROR / MediaPlayer的(115339):回调应用
07-29 15:24:21.826:ERROR / MediaPlayer的(115339):从回调回来
07-29 15:24:22.025:ERROR / MediaPlayer的(115339):错误(200,-82)
 

解决方案

终于我找到了问题。

6 嘴巴越来越紧,送礼越来越狠,执行力越来越强,说话却越来越慢

当我暗示与mp4box MP4文件,这在三星设备上播放,以及。

mp4box -hint

这个过程中重新排列MOOV和MDAT视频文件的标记正确。

在此之前,同一个文件播放以及与Android 2.3,但不与采用Android 2.2的设备的设备。我不知道,但限制的安全流后,可能2.3版已被取消。

I'm using classic VideoView implementation to play video on Android.

Same mp4 file url works fine on HTC Desire. However it doesn't work on Samsung devices.

Samsung Galaxy S1 and Samsung Galaxy Tab say: "Cannot play video. Unable to play video. Invalid streaming data" Samsung 5110 says: "Cannot play video. Sorry this video is not valid for streaming to this device"

When I looked at mp4 file with a text editor, I realized that mdat tag is before moov.

My question is how does it work on HTC whereas it doesn't on samsung devices. And I dont have any chances to change the format of mp4 files, so how can I overcome this problem?

07-29 15:24:21.740: ERROR/PlayerDriver(2402): PlayerDriver::it is a not Protected file
07-29 15:24:21.763: ERROR/(2402): IIIIIII Inside Constructor of PVMFMemoryBufferWriteDataStreamImpl
07-29 15:24:21.806: ERROR/MediaPlayerService(2402): Client::notify In
07-29 15:24:21.806: ERROR/(2402): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl
07-29 15:24:21.806: ERROR/(2402): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl
07-29 15:24:21.810: ERROR/MediaPlayer(15339): message received msg=3, ext1=0, ext2=0
07-29 15:24:21.810: ERROR/MediaPlayer(15339): callback application
07-29 15:24:21.810: ERROR/MediaPlayer(15339): back from callback
07-29 15:24:21.822: ERROR/(2402): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl
07-29 15:24:21.822: ERROR/(2402): IIIIIII Inside Constructor of PVMFMemoryBufferReadDataStreamImpl
07-29 15:24:21.822: ERROR/MediaPlayerService(2402): Client::notify In
07-29 15:24:21.822: ERROR/MediaPlayer(15339): message received msg=200, ext1=1, ext2=26
07-29 15:24:21.822: ERROR/MediaPlayer(15339): callback application
07-29 15:24:21.822: ERROR/MediaPlayer(15339): back from callback
07-29 15:24:21.822: ERROR/PlayerDriver(2402): Command PLAYER_INIT completed with an error or info -82
07-29 15:24:21.822: ERROR/MediaPlayerService(2402): Client::notify In
07-29 15:24:21.822: ERROR/MediaPlayer(15339): message received msg=100, ext1=200, ext2=-82
07-29 15:24:21.822: ERROR/MediaPlayer(15339): error (200, -82)
07-29 15:24:21.822: ERROR/MediaPlayer(15339): callback application
07-29 15:24:21.826: ERROR/MediaPlayer(15339): back from callback
07-29 15:24:22.025: ERROR/MediaPlayer(15339): Error (200,-82)

解决方案

finally i've found the problem.

When i hinted the mp4 file with mp4box, it played on samsung devices as well.

mp4box -hint

This process rearranged moov and mdat tags of the video file correctly.

Before that, same file plays well on devices with android 2.3 but not with the devices using android 2.2. I'm not sure but the limitation for "safe for streaming" may have been canceled after 2.3 version.

 
精彩推荐
图片推荐