当前位置: 首页 > 软件库 > 程序开发 > 多媒体处理 >

ffmpegserver.js

Canvas 帧捕获并处理
授权协议 MIT
开发语言 JavaScript
所属分类 程序开发、 多媒体处理
软件类型 开源软件
地区 不详
投 递 者 许学真
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

这是一个简单的 Node 服务器和开发库用于将 Canvas 帧发送到服务器,并使用 ffmpeg 对视频进行压缩。可独立使用或者跟 CCapture.js 一起使用。

使用步骤:

  1. 安装 Node

  2. 克隆此项目源码或者下载源码压缩包

  3. 进入 repo 目录并运行 npm install

  4. 执行 node start.js

示例代码:

var capturer = new CCapture( {
    format: 'ffmpegserver',
    framerate: 60,
    verbose: true,
    name: "foobar",     // videos will be named foobar-#.mp4, untitled if not set.
    extension: ".mp4",  // extension for file. default = ".mp4"
    codec: "mpeg4",     // this is an valid ffmpeg codec "mpeg4", "libx264", "flv1", etc...
                        // if not set ffmpeg guesses based on extension.
} );

capturer.start();

function render(){
  // rendering stuff ...
  capturer.capture( canvas );
}

requestAnimationFrame(render);

capturer.stop();
capturer.save( function( url, size ) { /* ... */ } );
  • 1. 几张图片合成gif ffmpeg -r 1 -i ./video/shot-%d.jpg ./video/11.gif 2. 视频第二秒开始截取三秒转换gif ffmpeg -t 3 -ss 00:00:02 -i small.mp4 small-clip.gif 3. 视频自动裁剪关键帧 什么是关键帧: 关键帧,是指动画中一个绘图,定义任何的起点和终点平滑过渡。一系列关键帧定义了观看者将看

 相关资料
  • 我有一个存储过程似乎没有正确记录错误。 代码有错误,但 catch 块似乎未生效。 try块相当长,但错误部分很简单,并且在最后出现,所以我已经对此进行了预测。 proc失败的错误是我们的老朋友“列名或提供的值的数量与表定义不匹配”。我已经修复了这个错误 - 这是一个愚蠢的懒惰错误 - 但我感到困惑为什么我的错误日志记录过程似乎没有工作 - 没有行入到我的 ExtractsErrorLog 表中。

  • 我有一个进程,它要求处理dataframe的每一行,然后向每一行追加一个新值。这是一个很大的数据帧,一次处理一个数据帧需要几个小时。 如果我有一个将每一行发送到一个函数的迭代罗循环,我可以并行处理以加快速度吗?行的结果不相关 基本上我的代码是这样的 有没有一种简单的方法可以这样做来加快处理速度?

  • 如题,nuxt2 如何捕获url malformed错误并进行处理? 根据GPT给的答案 写中间件不行,这个错误在中间件之前就报错了

  • 我正在尝试通过使用open CV连接cp plus ip camera到我的应用程序。我试了很多方法来捕捉画面。帮助我捕捉帧使用“RTSP”协议。IP cam的URL是“rtsp://admin:admin@192.168.1.108:554/videoinput/1/mpeg4/1”。我用VLC播放器试过这个。起作用了。如果有方法通过libvlc捕获帧并传递到open CV中,请提及该方法。

  • 我目前在我的路由中使用dotry/doCatch块,因此我无法使用全局onException块。 然而,如果驼峰路由中断(由于错误代码或意外/未测试的场景),我希望执行一些业务逻辑。希望这永远不会发生,但我仍然想处理更糟糕的情况。 我不能在全局OneException块中有java.lang.Exception,而且,我不想在每个路由上都添加一个额外的捕获。 在抛出未捕获的异常和中断路由之前,是否

  • 本节介绍如何使用三个异常处理程序组件(try、catch 和 finally)来编写异常处理程序。 然后,介绍了 Java SE 7中引入的 try-with-resources 语句。 try-with-resources 语句特别适合于使用Closeable的资源(例如流)的情况。 本节的最后一部分将通过一个示例来分析在各种情况下发生的情况。 以下示例定义并实现了一个名为ListOfNumbe

  • 问题内容: 我想每5秒从视频中捕获一帧。 这是我的JavaScript代码: 我的问题是,第一次生成的两个图像相同,而持续时间为5秒的图像却没有生成。我发现缩略图是在标记中显示特定时间的视频帧之前生成的。 例如,当时,生成帧0s的图像。然后视频帧跳到时间5s。因此,当时,将生成帧5s的图像。 问题答案: 原因 问题在于(通过设置)查找视频是异步的。 您需要收听事件,否则可能会冒取当前实际帧的风险,

  • 更新:请参阅下面的“已接受”解决方案 当我的应用程序创建一个未处理的异常时,我希望首先给用户一个发送日志文件的机会,而不是简单地终止。我意识到在得到一个随机异常后做更多的工作是有风险的,但是,嘿,最糟糕的是应用程序崩溃,日志文件不会被发送。事实证明,这比我想象的要棘手:) 工作原理:(1)捕获未捕获的异常,(2)提取日志信息并写入文件。 对如何做到这一点有什么建议吗? 下面是一些作为入门指南的代码