在gnuplot中制作电影的更快方法

时间:2018-11-24 05:18:13

标签: animation video gnuplot simulation mp4

我认为我们使用CMakeFiles/bin.dir/main.c.o: In function `main': main.c:37: undefined reference to `a' liblibtest.a(test.c.o): In function `increment': test.c:4: undefined reference to `a' test.c:4: undefined reference to `a' collect2: error: ld returned 1 exit status 已有数十年了。但是仍然没有从gnuplot获得好的视频输出的好方法,对吗?我所做的工作是制作约30,000张图像(为了获得视频清晰度,我也必须高质量制作),然后使用gnuplot制作视频:

ffmpeg

但是有时候我会被卡在中间,或者花费太长时间。我们可能始终需要高质量和低文件大小的视频输出,为什么没人要尝试做任何事情,或者是否有其他方法可以使视频从ffmpeg -f image2 -r 10.0 -i capture.%d.png -qscale 1 filename.mp4 放出?我真的很难用gnuplot制作高质量的视频。

1 个答案:

答案 0 :(得分:5)

您可以将> cat_pid cat_id Ascending 1 name images 3 6 LED TVs uploads/prod_file/0-1537255915-1.jpeg 3 7 Smart TVs uploads/prod_file/0-1537256346-1.jpg 3 13 Sony uploads/prod_file/3-1539672455-1.jpg 3 15 Digital SLRs uploads/prod_file/0-1539246776-1.jpg 1 21 T- shirt uploads/prod_file/0-1537179868-1.jpeg 1 22 Shirt uploads/prod_file/0-1542977731-1.png 1 23 Jeans uploads/prod_file/0-1539157883-1.jpeg 2 33 Ethnic Wear uploads/prod_file/4-1539757235-1.png, uploads/prod... 2 34 Earcuff Earrings uploads/prod_file/4-1539864784-1.jpg 2 36 Sarees uploads/prod_file/4-1540189359-1.jpg 38 39 Boy T shit uploads/prod_file/3-1539261170-1.jpg 4 43 Smartphones uploads/prod_file/0-1537183102-1.jpeg 4 45 Basic Mobiles uploads/prod_file/3-1539690488-1.jpg, uploads/prod... 38 50 CLOTHING SETS uploads/prod_file/3-1539253806-1.jpg, uploads/prod... 1 56 Backpacks uploads/prod_file/3-1539329576-1.jpg, uploads/prod... 1 57 Travel Luggage uploads/prod_file/0-1539330363-1.jpg 54 63 Cookware uploads/prod_file/4-1539934604-1.jpg 54 64 Gas stoves uploads/prod_file/0-1540185182-1.jpg 71 72 Ionizer uploads/prod_file/0-1543037560-1.png, uploads/prod.. 的输出直接传送到gnuplot,而无需将图像存储在硬盘驱动器上。为此,您需要告诉ffmpeg,它必须从管道中获得什么格式和分辨率,因为它现在无法单独从扩展名等中猜测出来。这是一个示例:

ffmpeg

我使用了here中的代码,做了一些小的修改。

animation.plt

gnuplot animation.plt | ffmpeg -f png_pipe -s:v 800x600 -i pipe: out.mp4

bessel.plt

#!/usr/bin/gnuplot
#
# Creating an animation gif of the Bessel function
# NOTE: this files creates multiple png images, the gif file is then created
# using GIMP
#
# AUTHOR: Hagen Wierstorf

reset
set terminal pngcairo size 800,600 enhanced font 'Verdana,10'

# color definitions
set palette rgb 3,9,9

unset key; unset colorbox; unset border; unset tics
set lmargin at screen 0.03
set bmargin at screen 0
set rmargin at screen 0.97
set tmargin at screen 1

set parametric
# Bessel function, which is moving in time
bessel(x,t) = besj0(x) * cos(2*pi*t)
# calculate the zeros for the bessel function (see Watson, "A Treatise on the
# Theory of Bessel Functions", 1966, page 505)
n = 6 # number of zeros
k = (n*pi-1.0/4*pi)
u_0 = k + 1/(8*k) - 31/(384*k)**3 + 3779/(15360*k)**5
set urange [0:u_0]
set vrange[0:1.5*pi]
set cbrange [-1:1]
set zrange[-1:1]

set isosamples 200,100
set pm3d depthorder
set view 40,200

# initializing values for the loop and start the loop
t = 0
end_time = 1
#system('mkdir -p animation')
load 'bessel.plt'

为您提供一个视频,看起来像这样。 (这只是为了演示目的而进行了降级和转码的gif) compressed gif

您还可以使用ffmpeg编码器参数。这里仅使用默认的视频编码器配置。