jwplayer在某些手机上无法播放视频,错误代码为4。

4

我在安卓手机上使用jwplayer时遇到了错误:

播放媒体出错:

MediaError { code 4 }

尝试搜索其含义,但未能找到。视频可以在其他安卓设备和桌面电脑上播放。已尝试在安卓中使用Chrome和默认浏览器。

更新

http://jsfiddle.net/HCH8Q/3/

 jwplayer('myElement').setup({ 
        file: 'http://video.oitlabs.com/dogs6_2mb/mr6d_1047.mp4', 

        // works
        // file: 'http://videos-jp.jwpsrv.com/zWLy8Jer/videos/i8oQD9zd-1753142.mp4?77c801d752d5207784c49e7ed80fb953798fae0fcca03ecf79558597ab74bd0b969af6ee1babdc6fac893174bba3c1bbb98ef7c2e4c6b3c59a812b4ed2c9abb29c61117869dbacbbb7caced845a8994ff297cc03a4',
        height: 360, 
        image: '/uploads/example.jpg',
        width: 640 
      });

他们网站上的视频可以播放,但我的视频不能。但是当我在地址栏中直接运行该视频的URL时,它可以播放。这意味着浏览器能够播放该视频。
顺便说一下,这是在LG L7 P710手机上发生的。
更新:
现在尝试将jw网站上的视频上传到我的服务器上,它在那个手机上可以播放。 http://jsfiddle.net/HCH8Q/5/ 所以这是编码问题。然后问题来了 - 我应该如何解决它?我使用Handbrake程序转换视频,它有许多设置,但我不确定我应该设置什么才能将其转换为适用于支持mp4文件的每个手机?
更新: 最终按照这个网站的说明使它工作: http://www.broken-links.com/2010/07/30/encoding-video-for-android/ 第一步是使用Handbrake进行跨平台转换。我使用了 iPhone 和 iPod Touch 预设,勾选了 Web 优化选项,并将“平均比特率”(在质量部分)更改为 ~1000kbps (然后将其保存为新的预设并命名为 Android)。您还需要在“图片设置”选项中更改输出视频的大小 - 我将其更改为480个像素宽(保持纵横比),效果非常清晰和锐利。如果您的浏览器支持,您可以在下面看到这个结果。
看起来我所做的一切与之前相同,唯一不同的是我使用了更小的 kbps 设置和默认的图片大小。以后我会尝试实验,找出造成它无法工作的原因,因为对我来说,不同的比特率或图片大小似乎只会影响质量,而不应该导致无法工作。

更新 又出了一个问题 - 当使用手刹并尝试一次转换多个文件时,第一个文件的图片宽度会被转换为我设置的大小,但其他文件则会被转换为默认大小,可能是某个错误或者其他原因。 但是我尝试了另一个程序 - Freemake视频转换器 - 它有各种参数,我试着同时转换了两个文件,没有问题,在那个手机上也可以工作。 http://www.freemake.com/free_video_converter/


可能是编码错误,但如果没有您网站的链接,我们只能猜测。 - MisterNeutron
在Handbrake中,不要随意更改设置。启动它,接受所有默认设置,但勾选“网络优化”。生成的文件几乎总是正确编码适用于所有平台。不要过度思考这个问题。 - MisterNeutron
事实上,我还需要压缩视频,所以我至少要使用比特率设置。另外我读到不应该选中默认选中的大文件大小。 - Dariux
你能再检查一下这个问题吗?为什么我被踩了?我在这里创建了一个问题:http://meta.stackexchange.com/questions/237457/what-is-wrong-with-this-specific-question,并根据评论尝试进行了编辑,但是不明白还需要编辑什么,或者也许已经编辑得很好了,只是没有人看到可以点赞的人? - Dariux
1个回答

2

MediaError { code 4 } 不是JW Player的错误。

我建议将视频从我们的网站上下载,上传到您的主机上,然后查看它是否仍然可以工作。这样,您就可以确定问题是基于编码还是服务器端问题。


我有点怀疑这是服务器端的问题,因为如果是的话,那其他手机和桌面也不会工作,对吗? - Dariux
我只是建议采取措施确定问题是基于编码还是服务器。你试过我的建议了吗? - emaxsaun
我在问题中进行了更新,展示了我如何解决这个问题。如果您已经给出了负评,请您重新检查一下问题?或者告诉我 - 到底哪里有问题? - Dariux

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接