今天在简历页面中嵌套一个我以前录制的一个demo视频,让它在网页中播放,但是操作了很久怎么写都只有一个进度条并且无法播放。
于是我就去网上搜索了一下,原来是视频编码的问题:
视频的格式虽然是MP4,但是html中只支持H.264的编码格式。
所以在这里记录一下HTML 5 支持的视频编码:
没弄过,还没研究那么深。
我也是刚接触。。项目中有用到,找到一种折中的方法,我的服务器是tomcat,在server.xml配置本地路径域名可以访问资源、不过这不是最终想要的。
你说的本地视频是指什么?客户端的视频,肯定是不行的。
服务器磁盘上的视频,就是不在项目中
那就复制到项目中,或者使用相对路径去引用
那就复制到项目中,或者使用相对路径去引用 服务器磁盘上的视频,就是不在项目中
上传的视频不可能都放在项目里面啊,需要程序读取磁盘视频流传给html5 video播放
这个是基本播放的,不是我需要的。。
你写一个html,video标签里面放一个MP4视频,打开就可以播放。除非是格式的问题,对MP4等视频的要求还是很严的
你写一个html,video标签里面放一个MP4视频,打开就可以播放。除非是格式的问题,对MP4等视频的要求还是很严的
你没看清题目意思吧。。
我只是想说明你的文件无论是视频文件还是视频流都得是服务器上面的,使用浏览器的用户的磁盘你是读取不到的。
我只是想说明你的文件无论是视频文件还是视频流都得是服务器上面的,使用浏览器的用户的磁盘你是读取不到的。
对,是的。只是我想实现服务器上项目读取磁盘上的视频给浏览器播放,而非用路径去写,最终实现用请求的方式去读取服务器磁盘上的文件,如uri?id=fileId 赋给viedo src
为了安全起见,浏览器是不能访问本机资源的,包括文件系统,摄像头,话筒等等,除非事先经过了你的允许。这正是浏览器设计的理念哲学。
基于你的这个案例,建议可以在页面中添加一个<input>文件,让用户自己先去选择本机上的视频文件,然后你的网页就可以得到该选择文件的url了,然后把该video节点的src属性修改成url即可。
我需要读取服务器上磁盘的文件,不是客户端的视频
那你在web目录下创建一个链接,指向目标目录,应该可以满足你的需求,在Linux上是可以工作的,windows上你可以自己试试
这个问题应该到java版本去问吧。
我觉得可行,和生成验证码一个道理,给你百度了一个,原理很简单,先设置好正确的响应报头,然后获取http输出流,然后读取mp4文件,将文件字节数据输出到http的响应流中去就ok啦。etag神马的其实是为HTTP缓存考虑的。
这个问题应该到java版本去问吧。
这种方式的html5视频播放,无法做到拖拽和重新播放,怎么处理。
先把文件传到服务器上,没有别的办法
这个是什么意思?本地访问局域网的一个MP4文件 并播放,怎么处理?
楼主,解决问题了么? 我们公司也有这种需求 也是无法拖拽 ,而且这样实现对读取大文件视频有问题。。
楼主,解决问题了么? 我们公司也有这种需求 也是无法拖拽 ,而且这样实现对读取大文件视频有问题。。
服务端内存消耗太大,得需要分段处理么?
我也有同样的问题,楼主怎么解决的
不同的浏览器支持的视频格式可能不同,以下是摘自 W3School 各个浏览器对三种视频格式的支持情况:
浏览器对视频格式的支持
当页面载入时,会引用 movie.mp4 文件,如果浏览器无法支持 HTML5,则会提示 Video 中的内容。
显然,为适应不同的浏览器,我们也需要准备多种不同的格式的视频,并使用 video 引用它们:
Video 提供多个属性,通过各个属性可以控制相关的功能。例如 controls 为视频提供进度、音量、全屏的控制。尽管属性与值对应,但是我们仍然可以使用 controls 来代替 controls = “controls”。
下面的代码提供自动缓存、静音、及控制条:
基本的播放、暂停、静音功能控制:
通常在一些视频网站上,会记录用户上次播放视频的进度,当用户再次进入网站的时候,就可以在停下来的地方继续观看。我们可以通过HTML DOM来控制视频播放进度:
通过 JavaScript 调整 Video 的 currentTime 属性来实现进度控制,注意单位为秒而非毫秒。由于 JavaScript 需要获取视频的总时间以便进行调整,所以在控制进度之前,需要等待视频信息加载完成。所以,我们为 Video 对象绑定 loadedmetadata 事件,该事件在视频信息加载完毕时触发。