标签: processing

FFmpeg - 将一个视频叠加到另一个视频上?

我知道这是一个非常开放的问题.我已经对FFmpeg进行了一些初步阅读,但现在需要一些指导.

问题

  • 我有一个视频input.mov.
  • 我想覆盖另一个视频overlay.wov.
  • 结果应该是单个视频(output.mov).

笔记

谢谢 - C.

编辑

  1. 后端是Go/Ruby.打开使用新语言.
  2. 应保留第一个视频的音频.
  3. 设置叠加开始的间隔会很棒.

现行解决方案

ffmpeg -i input.mov -i overlay.mov -filter_complex "[0:0][1:0]overlay[out]" -shortest -map [out] -map 0:1 -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18  output.mov
Run Code Online (Sandbox Code Playgroud)

然而,这几乎可行:

  • 即使两个视频(input.mov&overlay.mov)长度相同,叠加也会缩短.
  • 除了之外,我无法以任何间隔启动叠加层0:00.

processing video ffmpeg video-processing openframeworks

8
推荐指数
1
解决办法
1万
查看次数

OpenGL /通用图形的最佳动态语言

哪些是最成熟,最受支持的编写图形程序的解决方案?

我一直在使用C++和OpenGL/GLUT,但我想尝试一种更灵活和更具表现力的方法.

Ruby和Processing?Python和OGRE?什么事情对你有用?

ruby python processing graphics scheme

7
推荐指数
2
解决办法
2639
查看次数

将处理草图保存到服务器端的PNG文件,没有GUI /显示

我想使用Processing在服务器端渲染可视化(无头,没有GUI).处理草图是静态的(即没有动画),因此我只需要抓住第一帧,并且我希望按需将此结果提供给我们的Web应用程序的用户.

我在processing.org论坛上搜索了一下,并且有人建议Processing不会无头启动.我见过的唯一一个涉及推出无头X11显示器的黑客:

Xvfb :2 &
export DISPLAY=":2"
./myapp
killall -9 Xvfb
Run Code Online (Sandbox Code Playgroud)

..这对我们不起作用,因为我们希望有一个纯Java解决方案,并且无法始终保证服务器端的X渲染器.

我如何在纯Java中执行此操作?

java processing data-visualization server-side image-processing

7
推荐指数
1
解决办法
1584
查看次数

从画布动态"卸载"Processing JS草图

我正在使用一些javascript来允许用户使用以下命令动态加载素描到click元素:

Processing.loadSketchFromSources('canvas_id',['sketch.pde']);

如果我将Processing.loadSketchFromSources(...)调用第二个(或第三个......)时间,它会将第二个(或第三个......).pde文件加载到画布上,这正是我所期望的.

我希望用户能够单击另一个链接来加载不同的草图,有效地卸载前一个草图.有没有我可以调用的方法(或者我可以使用的技术)来检查Processing是否有另一个草图运行,如果有,请告诉它先卸载它?

是否有某种Processing.unloadSketch()方法我忽略了?我可以简单地删除画布DOM对象并重新创建它,但是当我需要针时,(1)似乎使用锤子,(2)它会导致我想避免的屏幕闪烁.

我不是JS专家,但我已经尽力查看processing.js源代码,看看其他功能可能存在,但我还是碰壁了.我想也许我可以看看Processing.Sketches.length来查看是否已经加载了某些东西,但只是将它从阵列弹出似乎不起作用(不认为它会).

我正在使用ProcessingJS 1.3.6.

javascript processing processing.js

7
推荐指数
2
解决办法
1508
查看次数

在圆形的2D空间中为任意点[x,y]找到圆的最近自由位置

我正在制作一个用户玩家在屏幕上放置圆圈的游戏.重要的是圆圈永远不会重叠,所以我需要从光标中找出最近的可能自由点.我找到了圆形打包算法,但它们似乎不适合我的问题.我也在过去为盒子(这里)解决了类似的问题,但是用圆圈,我似乎无法弄明白.

我想出了当它与一个圆相交时,或者甚至当涉及两个时,我如何找到最近的自由位置.但是,我找不到一个可以处理任何排列中具有任意数量圆圈的复杂情况的稳健算法.

问题的精确描述:我有一个2D空间,任意数量的非交叉圆,都具有相同的半径(虽然这可能无关紧要).我想找到下一个圆的位置,使其不与任何其他圆相交,并且哪个中心[x,y]最接近指定位置[x,y].

任何类型的建议(参考,方法或(Java)库).

ps如果解决方案包括确保圆圈保持在特定的边界框内(即显示),则奖励积分.

我的最终解决方案:(根据David Wallace的建议)

  • 计算两个圆心之间的最小距离(在我的例子中,所有圆都是相同的大小,所以总是2*半径)
  • 列出比最小距离更靠近鼠标位置的所有圆圈
  • 如果0重叠:一切都好!
  • 如果1重叠:将新圆的中心移动到比较圆的中心的最小距离,沿着从比较圆的中心到鼠标位置的矢量
  • 如果2重叠:找出两个重叠圆相交的位置.将新圆放在最靠近鼠标位置的交叉点上.如果此位置仍与任何圆重叠,请移至另一个交叉点.如果那个不起作用,请保留新的圆圈.
  • 如果3重叠:与2重叠相同,只需取最接近新圆的两个圆.

请注意,这不能很好地完成,但在我的情况下,用户正在拖动屏幕上的新圆圈就足够了.它适用于大多数情况下,有些情况下没有,通常当有很多圆圈非常接近时,新圆圈只停留在最后一个位置(这是有效的).然后,用户可以决定进一步拖动它,并且在他想要新圆圈的位置更精确.

java algorithm processing geometry

7
推荐指数
1
解决办法
1048
查看次数

从带有Gif动画库的Processing sketch导出gif

我想将我的一个Processing草图导出为gif格式,并使用extrapixel的Gif动画库(http://extrapixel.github.io/gif-animation/)来实现.

我能够导出正确数量的帧,但它们都显示为空.
任何想法为什么会这样?

import gifAnimation.*;

GifMaker gifExport;

float angle = 0.1;

void setup() {
  size(500, 500);
  smooth();
  noStroke();
  background(0);

  frameRate(12);
  gifExport = new GifMaker(this, "spin rect sine growth.gif");
  gifExport.setRepeat(0); // make it an "endless" animation
  gifExport.setTransparent(255); // make white the transparent color -- match browser bg color
}

void draw() {

  float size = map(sin(angle),-1,1,0,height);
  rectMode(CENTER);
  translate(width/2, height/2);
  rotate(angle);
  noStroke();
  fill(255,255);
  rect(0,0, size, size);
  angle += 0.0523 ;

  noStroke();
  fill( 0, 15);
  rect(0, 0, width, height);

  gifExport.setDelay(0);  //maybe …
Run Code Online (Sandbox Code Playgroud)

processing animation export gif

7
推荐指数
1
解决办法
1万
查看次数

如何在P5中为球添加弹跳压缩动画?

我用P5.js创建的简单游戏包括一个球,该球在重力作用下掉落并在地面反弹。我想在球触地时为其添加“压缩”动画,以使其看起来更逼真。

我该如何做而又不会显得怪异?

代码是这样的:

function Ball() {
  this.diameter = 50;
  this.v_speed = 0;
  this.gravity = 0.2;
  this.starty = height / 2 - 100;
  this.endy = height - this.diameter / 2;
  this.ypos = this.starty;
  this.xpos = width / 2;

  this.update = function() {

    this.v_speed = this.v_speed + this.gravity;
    this.ypos = this.ypos + this.v_speed;

    if (this.ypos >= this.endy) {
      this.ypos = this.endy;
      this.v_speed *= -1.0; // change direction
      this.v_speed = this.v_speed * 0.9;
      if (Math.abs(this.v_speed) < 0.5) {
        this.ypos = this.starty;
      }
    } …
Run Code Online (Sandbox Code Playgroud)

javascript processing canvas p5.js

7
推荐指数
1
解决办法
128
查看次数

如何设置带有calysto处理功能的Jupyter笔记本以在Binder中运行?

我在自己的Mac上运行了,并插入了caylsto-processing库,因此我可以在浏览器选项卡的笔记本中运行处理脚本。但是我试图能够在活页夹中全部运行,以便我可以在上课时与学生共享我的处理脚本。我创建了一个Github存储库,并将其链接到活页夹,该活页夹可以构建和启动,但是唯一可用的内核是python 3。

我已经读到我可以包含一堆配置文件,但是我是其中的新手,而且我看不到任何引入calysto处理内核的示例,因此我不确定如何进行。

我的活页夹和带有处理脚本的jupyter-notebook的屏幕快照-但是,当您单击内核时,它显示的唯一内核是python: 我的活页夹和带有处理脚本的jupyter-notebook的屏幕快照-但是,当您单击内核时,它显示的唯一内核是python

任何帮助,将不胜感激。

python processing jupyter-notebook android-binder

7
推荐指数
1
解决办法
128
查看次数

我可以让我的 p5.js draw() 函数仅运行一次,然后仅在单击按钮时运行吗?

我有这个 p5.js 代码片段:

let x = 10;
let y = Math.floor(Math.random()*201);
let x2 = 190;
let y2 = 200 - Math.floor(Math.random()*201);

function setup() {
    createCanvas(200, 200);
}

function draw() {
    clear();
    y = Math.floor(Math.random()*201);
    y2 =  200 - Math.floor(Math.random()*201);
    line(10, y, 190, y2);
} 
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.9.0/p5.js"></script>
Run Code Online (Sandbox Code Playgroud)

我想让它自动运行一次,然后每次按下按钮时都会运行一次。

我在这里主要关心的是“只运行一次”位,所以如果有人可以帮助我解决这个问题,那就太好了。

javascript processing p5.js

7
推荐指数
1
解决办法
5880
查看次数

如何在贝塞尔曲线中添加渐变?

我在地图上绘制了表示客户国家和他要去旅行的国家的曲线。 在此处输入图片说明

但是我无法添加渐变,以便线条表示所述信息并在两种颜色之间随机给出这种随机颜色。这是我尝试过的。

int steps = 10;
    noFill();
    //stroke(#5A38FA, 50);
    strokeWeight(1);
    for(int i=0; i<steps; i++) {
      strokeWeight(1);
      noFill();
      stroke(lerpColor(#31B5E8, #F0E62E, (float)i/steps));
      bezier(locationX, locationY, locationX+random(15, 50), locationY+random(13,50), customerLocationX+random(15, 30), customerLocationY+random(15, 70), customerLocationX, customerLocationY);
    }
Run Code Online (Sandbox Code Playgroud)

processing

7
推荐指数
1
解决办法
220
查看次数