knitr MP4电影embedded不起作用在Windows XP上

我编织一个Rmd文件(到HTML)与块生产mp4电影:

```{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生成以下用于embeddedmp4电影的html代码:

 <p><video controls="controls" loop="loop"><source src="figure/clock.mp4" type="video/mp4" />video of chunk clock</video></p> 

mp4电影是在图子文件夹中很好地创build的,但是当我用Windows XP机器使用Chrome,Firefox或者Explorer打开它时,它不会出现在html输出中。

这是一个(临时的)例子: http : //stla.overblog.com/ellipse-chart-test – 这不是“时钟”的例子,但这是完全相同的渲染问题。 我在Windows Vista计算机上使用Chrome观看电影,但使用Windows XP计算机观看电影。

什么是解释? 这是真的与操作系统或浏览器版本的问题?

Solutions Collecting From Web of "knitr MP4电影embedded不起作用在Windows XP上"

浏览器真的使用操作系统来执行一些媒体解码任务。 通过a)提供备用媒体流b)为观众使用最兼容的媒体格式c)使用插件(即Flash),或者d)推荐安装MP4插件。

这实际上是OS的一个“问题”。 许多浏览器,就像特定平台上的其他程序一样,使用操作系统资源来完成给定的任务。 在受知识产权保护的程序方面尤其如此。

你的编解码器(H.264也称为“MP4”)恰好是一个特别激烈的IP战斗。 因此,浏览器不必花时间去许可手头的IP,而是使用主机系统的许可编解码器。

在你的情况下,Windows XP发生不能解码你的视频的媒体格式,而浏览器似乎不能自己做到这一点。

你现在的选择:

  • 使用video标签提供更多媒体流(请参阅维基百科的示例)
  • 试图找出大多数用户在XP上使用的浏览器 ,然后选择本地支持的格式( webm for Chrome或者ogg for Firefox)
  • 只需使用Flash播放MP4(如在HTML5前的日子)
  • 告诉用户安装一个操作系统级的插件来玩h.264; 你甚至可以在后备文本中做到这一点。 我不会推荐一个特定的产品,但有很多。