我用一个产生mp4电影的块编织一个Rmd文件(到html):
```{r clock, fig.width=7, fig.height=6, fig.show='animate'}
par(mar = rep(3, 4))
for (i in seq(pi/2, -4/3 * pi, length = 12)) {
plot(0, 0, pch = 20, ann = FALSE, axes = FALSE)
arrows(0, 0, cos(i), sin(i))
axis(1, 0, "VI"); axis(2, 0, "IX")
axis(3, 0, "XII"); axis(4, 0, "III"); box()
}
```
knitr
生成以下用于嵌入mp4电影的html代码:
<p><video controls="controls" loop="loop"><source src="figure/clock.mp4" type="video/mp4" />video of chunk clock</video></p>
mp4电影在图形子文件夹中很好地创建,但是当我使用Chrome,Firefox或资源管理器的Windows XP计算机打开它时,它不会出现在html输出中。
这是一个(临时)示例:http://stla.overblog.com/ellipse-chart-test - 这不是“时钟”示例,但这是完全相同的渲染问题。我在Windows Vista计算机上看到Chrome的电影,但在Windows XP计算机上看不到。
解释是什么?操作系统或浏览器版本确实存在问题吗?
答案 0 :(得分:2)
tl; dr 浏览器真的使用操作系统执行某些媒体解码任务。通过 a)为您的受众群体提供备用媒体流 b)使用最兼容的媒体格式 c)使用插件(即Flash) )或 d)建议安装MP4插件。
这实际上是操作系统的“问题”。许多浏览器,就像特定平台上的某些其他程序一样,使用操作系统资源来完成给定任务。在受知识产权保护的程序方面尤其如此。
您的编解码器(h.264又称“MP4”)恰好是对IP片段的激烈争夺。因此,浏览器不会花费很长时间来授权手头的IP,而是使用主机系统的许可编解码器。
在您的情况下,Windows XP无法解码视频的媒体格式,浏览器似乎无法单独执行此操作。
现在你的替代品:
video
标记提供其他媒体流(有关示例,请参阅Wikipedia)webm
或Firefox为ogg
< / LI>