从 HTML5 视频中获取 MP4 创建时间
Posted
技术标签:
【中文标题】从 HTML5 视频中获取 MP4 创建时间【英文标题】:Obtaining MP4 Creation Time from HTML5 video 【发布时间】:2016-08-30 23:48:20 【问题描述】:有没有办法在 javascript 中获取视频元素中当前正在播放的 mp4 文件的创建时间(MP4 文件的 moov atom 的子字段)?
动机是 webclient 应该显示带有绝对时间戳的 OSD。如果没有创建时间字段,它不知道绝对时间戳,只能显示相对于开始时间的时间。
【问题讨论】:
【参考方案1】:很遗憾,没有。浏览器只会从 MP4 文件容器中读取视频和音频数据并对其进行解码。持续时间等其他元数据在内部处理。
您可以通过以下方式绕过它:
使用包含在名称中编码的时间戳的文件名在服务器端准备文件。通过必要的方式从容器中提取时间戳。 向包含从客户端单独读取的日期戳的 mp4 文件提供元文件。 通过 XMLHttpRequest 加载文件并手动解析文件以找到包含数据的块。当然,这样做也存在一些问题,例如不得不将整个文件加载到内存中。【讨论】:
谢谢。我将使用第三个选项 + 以下库 github.com/gpac/mp4box.js 来解析 moov。以上是关于从 HTML5 视频中获取 MP4 创建时间的主要内容,如果未能解决你的问题,请参考以下文章
当用户寻找另一个时间时,计算 HTML5 视频流中的 .m4s 段文件后缀
用于 chrome 中 html5 视频的 Servlet 流式传输 mp4