使用ggplot和gganimate访问编解码器的问题

时间:2016-12-19 00:58:32

标签: r ggplot2 ffmpeg gganimate

使用gganimate。无法弄清楚如何正确访问ffmpeg的功能,特别是我想更改我在输出的视频文件中使用的编解码器。

# load packages
library(ggplot)
library(animation)
library(gganimate)

# Here's my data.frame
myDf <- data.frame(
    year = c(1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014), 
    bottom50 = c(0.195, 0.191, 0.187, 0.192, 0.196, 0.205, 0.207, 0.210, 0.209, 0.204, 0.203, 0.204, 0.205, 0.203, 0.202, 0.200, 0.200, 0.201, 0.199, 0.195, 0.190, 0.183, 0.179, 0.179, 0.177, 0.172, 0.169, 0.169, 0.168, 0.166, 0.158, 0.159, 0.158, 0.154, 0.151, 0.148, 0.149, 0.148, 0.146, 0.149, 0.148, 0.145, 0.142, 0.138, 0.135, 0.137, 0.137, 0.136, 0.130, 0.127, 0.123, 0.127, 0.125), top1 = c(0.126, 0.127, 0.129, 0.128, 0.126, 0.123, 0.122, 0.115, 0.110, 0.111, 0.111, 0.109, 0.106, 0.105, 0.105, 0.107, 0.108, 0.111, 0.107, 0.110, 0.112, 0.115, 0.125, 0.125, 0.122, 0.133, 0.149, 0.145, 0.145, 0.139, 0.150, 0.146, 0.147, 0.153, 0.160, 0.166, 0.169, 0.177, 0.183, 0.173, 0.171, 0.172, 0.183, 0.194, 0.201, 0.199, 0.195, 0.185, 0.198, 0.196, 0.208, 0.196, 0.202)
)

#Basic plot
p <- ggplot(myDf, aes(x = year, y = bottom50, frame = year)) + 
    geom_line(color = "dodgerblue") + 
    geom_line(aes(y = top1), color = "darkred")

非动画版本让我得到了我想要的东西:

enter image description here

我将动画版输出到视频:

gganimate(p, interval = .1, title_frame = FALSE, "income.mp4")

那很好,但我想更改一些输出参数,具体来说:改变尺寸,帧速率,并使用不同的编解码器。

# change some of the options
ani.options(ani.height = 1080, ani.width = 1920, 
            interval = 0.04166667, other.opts = "-vcodec qtrle -f mov")
# re-animate
gganimate(p, title_frame = FALSE, "income.mov")

这给了我以下错误:

Error in animation_saver(saver, filename) : 
  Don't know how to save animation of type mov

我正在使用&#39; .mov&#39;作为我的文件扩展名,因为我试图更改为动画编解码器(因此它不再是.mp4包装器)。我安装了ffmpeg,所以这可能是一个语法问题。但是这里的文件并不清楚; gganimate没有关于更改编解码器的任何文档(或输出除mp4之外的任何视频),并且动画包也详细说明。

0 个答案:

没有答案