管理者権限なしで Windows を使用しているため、Windows PATH 変数にパスを設定できません。
ffmpeg.exe
ファイルは私のフォルダ"U:/ProgramFiles/ImageMagick-6.8.5-5/"
にあります。
パッケージのsaveVideo()
機能を使用する方法を見つけました:animate
ani.options(ffmpeg = shQuote('U:/ProgramFiles/ImageMagick-6.8.5-5/ffmpeg.exe'))
saveVideo({
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()
}
},
video.name="mavideo.mp4",
outdir="U:/Data/Rtests/Animation")
fig.show=animate
しかし、チャンク内のオプションを使用して Rmd ファイルを編成する方法が見つかりません。たとえば、次のようになります。
```{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()
}
```
hook_ffmpeg_html()
変数を変更するだけで関数を変更しようとしましたffmpeg.cmd
:
```{r}
hook_ffmpeg_html2 <- function (x, options)
{
........
ffmpeg.cmd = paste("-y", "-r", 1/options$interval,
"-i", fig.fname, mov.fname)
ffmpeg.cmd <- paste('"U:/ProgramFiles/ImageMagick-6.8.5-5/ffmpeg"', ffmpeg.cmd)
......
}
opts_knit$set(animation.fun = hook_ffmpeg_html2)
```
しかし、このチャンクは機能しません。以下はエラー メッセージです。
label: unnamed-chunk-1
Warning in block_exec(params) :
failed to tidy R code in chunk <unnamed-chunk-1>
reason: Error in base::parse(text = text, srcfile = NULL) :
21:14: unexpected symbol
20: options$out.height), if ("controls" %in% mov.opts)
21: "controls=\\"controls