Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何播放html5视频?当文件为file.m4v时?_Php_Javascript_Linux_Html_Html5 Video - Fatal编程技术网

Php 如何播放html5视频?当文件为file.m4v时?

Php 如何播放html5视频?当文件为file.m4v时?,php,javascript,linux,html,html5-video,Php,Javascript,Linux,Html,Html5 Video,我尝试过几种方法,但没有一种是使用html5播放file2.m4v,请参见屏幕截图 但是如果我使用VLC/Mplayer使用相同的文件,它可以很好地播放电影(没有问题)。请参阅以下代码和文件详细信息以查找代码的用法: video.php: 我还可以使用什么在浏览器中播放此文件?如果html5无法播放,是否还有javascript播放器可用?试试: <video id="myVideo" width="300" height="200" preload="auto" src="/var/w

我尝试过几种方法,但没有一种是使用html5播放file2.m4v,请参见屏幕截图

但是如果我使用VLC/Mplayer使用相同的文件,它可以很好地播放电影(没有问题)。请参阅以下代码和文件详细信息以查找代码的用法:

video.php: 我还可以使用什么在浏览器中播放此文件?如果html5无法播放,是否还有javascript播放器可用?

试试:

<video id="myVideo" width="300" height="200" preload="auto" src="/var/www/html/video/file2.m4v" type="video/mp4" autoplay controls></video>


还可以尝试将文件重命名为file2。mp4

HTML5视频只是一种惯例,它使用一种新的元素播放特定的视频格式,浏览器将为其实现自己的播放器。HTML5不会提供玩家之类的东西

你必须寻找大多数浏览器支持的编解码器,如果我记得清楚的话,它们主要是OGG容器中的视频Theora和音频Vorbis

然后我记得Webkit浏览器将支持Matroska(MKV)容器,使用V8作为视频编解码器,使用Vorbis作为音频

我的建议:提供一个OGG文件,其中Theora和Vorbis分别作为视频和音频编解码器。在内部使用带有V8和Vorbis的MKV文件提供回退,然后,如果可以,在使用Mpeg2和MP2(想不出更好的东西)作为视频和音频编解码器的MPG视频文件中,提供回退。 然后,作为最后的退路,一个Flash播放器播放FLV视频文件

HTML的外观示例:

<video src="thevideo.ogg">
    <video src="firstFallback.mkv">
        <object type="video/mpeg" src="secondFallback.mpeg">
            <object
                type="application/x-shockwave-flash"
                src="player.swf?etc...">
                <p>Download <a href="videourl">the video etc...</a><br />
                or use a more modern browser to watch online, etc...</p>
            </object>
        </object>
    </video>
</video>

下载
或者使用更现代的浏览器在线观看等等

等等;-)

通过这种配置,大多数(如果不是全部的话)浏览器应该能够播放您的视频,更喜欢受支持的(和最现代的)格式。“撤退”直到他们找到Flash播放器

有关支持何种格式的提示:请查看

重要提示:在您的代码中,您引用的是一个绝对文件系统路径,这对于web访问者来说是完全不可访问的。也许在src中,您的意思是
/video/file2.m4v
HTML5是一种网络标准(换句话说,是一种规范),而不是一种技术,因此短语“HTML5不能播放它”意味着您有点误解。浏览器将根据您在
标记中指定的设置对文件进行解码。值得注意的是,并不是每个浏览器和/或操作系统都有相同的可用编解码器,因此首先验证您是否可以以本机方式播放视频

例如,Firefox无法解码任何用H.264编解码器编码的东西,我相信它在.m4v文件中使用(任何了解更多的人,请纠正我)


最后,正如其他人指出的,你的道路可能是错误的。删除路径的“var”和“www”部分。

您的html是正确的,因此路径不正确、文件无效或浏览器不支持m4v

  • /var/www/非常可疑,但正如您所说,它与avi文件一起工作,所以不是这样

  • 尝试使用src中的文件。如果正在播放,则您的m4v可能编码不正确

  • 如果您使用的是Firefox或Opera,那么这部电影将永远不会播放,因为它们只支持WebM和OGG


  • 您确定该文件没有Apple的FairPlay DRM保护,并且它在本地播放的原因是您的计算机安装了iTunes。另外,文件的路径似乎有些奇怪?你的日志上写着:“mplayer:没有这样的文件或目录”,但我觉得它确实找到了这个文件,但长度和比特率都是零!你从iTunes下载了这个视频吗?它不是下载的文件。它从VLC播放器中自行创建的文件。这与iTunes无关。那你到底为什么要命名它。m4v wich是iTunes的特定苹果文件扩展名,而不是.mp4?没有目录问题。我用另一个文件(如file.avi)替换了它,它可以正常工作。但不是这个文件。@LearnFedora如果您在自己的计算机上提供该文件,它会工作,但对于访问者来说不会。因为在他们的例子中,src属性将引用他们计算机中的一个文件。@LearnFedora现在看看我的答案,我在最后添加了一个链接。让我让它透明化。视频是从一个轴摄像机(RTSP流)捕获的。所以使用VLC我将它保存为MP4(mpeg4作为视频,aac作为音频)。我只能用Linux和其他媒体播放器播放。但我不能在HTML5等浏览器中播放,也不能将实时转换为OGG(vorbis音频,因为如果我使用OGG或其他格式,VLC会被破坏并出现错误)。@LearnFedora再次强调,HTML5不是播放器,这取决于浏览器的实现。这是为网络访问者准备的吗?如果是这样,请考虑用FFServer将该流用于更合适的编解码器。(我以前做过,所以我认为这个解决方案对您有好处)
    <video id="myVideo" width="300" height="200" preload="auto" src="/var/www/html/video/file2.m4v" type="video/mp4" autoplay controls></video>
    
    <video src="thevideo.ogg">
        <video src="firstFallback.mkv">
            <object type="video/mpeg" src="secondFallback.mpeg">
                <object
                    type="application/x-shockwave-flash"
                    src="player.swf?etc...">
                    <p>Download <a href="videourl">the video etc...</a><br />
                    or use a more modern browser to watch online, etc...</p>
                </object>
            </object>
        </video>
    </video>