All Projects → tnfe → FFCreatorLite

tnfe / FFCreatorLite

Licence: MIT license
一个基于node.js的轻量极速短视频加工库 A lightweight and fast short video processing library based on node.js

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to FFCreatorLite

Ffmpeg Libav Tutorial
FFmpeg libav tutorial - learn how media works from basic to transmuxing, transcoding and more
Stars: ✭ 7,074 (+4463.87%)
Mutual labels:  ffmpeg, video-processing, ffmpeg-libraries
Trim.lua
Trim mode for mpv — Turn mpv into Lossless Audio / Video Editor.
Stars: ✭ 24 (-84.52%)
Mutual labels:  ffmpeg, video-processing
Mlt
MLT Multimedia Framework
Stars: ✭ 836 (+439.35%)
Mutual labels:  ffmpeg, video-processing
Dokai
Collection of Docker images for ML/DL and video processing projects
Stars: ✭ 58 (-62.58%)
Mutual labels:  ffmpeg, video-processing
eloquent-ffmpeg
High-level API for FFmpeg's Command Line Tools
Stars: ✭ 71 (-54.19%)
Mutual labels:  ffmpeg, video-processing
Xabe.ffmpeg
.NET Standard wrapper for FFmpeg. It allows to process media without know how FFmpeg works, and can be used to pass customized arguments to FFmpeg from dotnet core application.
Stars: ✭ 411 (+165.16%)
Mutual labels:  ffmpeg, video-processing
Ffcreator
一个基于node.js的高速短视频加工库 A fast short video processing library based on node.js
Stars: ✭ 948 (+511.61%)
Mutual labels:  ffmpeg, video-processing
AndroidFFmpeg
FFmpeg命令在Android中的使用
Stars: ✭ 28 (-81.94%)
Mutual labels:  ffmpeg, ffmpeg-command
Screen Recorder Ffmpeg Cpp
*Multimedia project* A screen recording application to capture your desktop and store in a video format. Click here to watch the demo
Stars: ✭ 98 (-36.77%)
Mutual labels:  ffmpeg, video-processing
Ffscreencast
ffscreencast - ffmpeg screencast/desktop-recording with video overlay and multi monitor support
Stars: ✭ 1,625 (+948.39%)
Mutual labels:  ffmpeg, ffmpeg-command
Fwf
HTML video editor with FFmpeg
Stars: ✭ 128 (-17.42%)
Mutual labels:  ffmpeg, video-processing
nebula
Media asset management and broadcast automation system
Stars: ✭ 103 (-33.55%)
Mutual labels:  ffmpeg, video-processing
DuME
A fast, versatile, easy-to-use and cross-platform Media Encoder based on FFmpeg
Stars: ✭ 66 (-57.42%)
Mutual labels:  ffmpeg, video-processing
Online Video Editor
API based Online Video Editing using FFMPEG & NodeJs for Backend Editing
Stars: ✭ 176 (+13.55%)
Mutual labels:  ffmpeg, video-processing
video-audio-tools
To process/edit video and audio with Python+FFmpeg. [简单实用] 基于Python+FFmpeg的视频和音频的处理/剪辑。
Stars: ✭ 164 (+5.81%)
Mutual labels:  ffmpeg, video-processing
Pyjumpcutterv2
carykh's but with improvements and a GUI!
Stars: ✭ 25 (-83.87%)
Mutual labels:  ffmpeg, video-processing
video-summarizer
Summarizes videos into much shorter videos. Ideal for long lecture videos.
Stars: ✭ 92 (-40.65%)
Mutual labels:  ffmpeg, video-processing
Super-Stitch
一款视频超级拼接软件
Stars: ✭ 28 (-81.94%)
Mutual labels:  ffmpeg, video-processing
Conv2mp4 Ps
This Powershell script will recursively search through a user-defined file path and convert all videos of user-specified file types to MP4 with H264 video and AAC audio using ffmpeg. The purpose of this script is to reduce transcoding CPU load on a media server like Plex or Emby and increase video compatibility across platforms.
Stars: ✭ 97 (-37.42%)
Mutual labels:  ffmpeg, video-processing
Vidgear
A High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features 🔥
Stars: ✭ 2,048 (+1221.29%)
Mutual labels:  ffmpeg, video-processing

English | 简体中文

NPM Version Package License Travis CI Code Style PRs Node Version

Overview

FFCreatorLite is a lightweight and flexible short video processing library based on Node.js. You only need to add some pictures, music or video clips, you can use it to quickly create a very exciting video album.

Nowadays, short video is an increasingly popular form of media communication. Like weishi and tiktok is full of all kinds of wonderful short videos. So how to make users visually create video clips on the web easily and quickly. Or based on pictures Text content, dynamic batch generation of short videos is a technical problem.

FFCreatorLite is developed based on the famous video processing library FFmpeg, and splicing the complicated and tedious command line parameters of FFmpeg (this is not so easy), using FFmpeg various filters and features to realize animation And video clips and generate the final movie. So its processing speed is beyond your imagination, even faster than FFCreator.

For more introduction, please see here

Features

  • Based on node.js development, it is very simple to use and easy to expand and develop.
  • Only rely on FFmpeg, easy to install, cross-platform, and low requirements for machine configuration.
  • The video processing speed is extremely fast, a 5-7 minute video only takes 1 minute.
  • Supports multiple elements such as pictures, sounds, video clips, and text.
  • Support for adding music and animation to the live stream before launching.
  • The latest version supports more than 30 scene transition animations.
  • Contains 70% animation effects of animate.css, which can convert css animation to video.

Demo

Useage

Install npm Package

npm install ffcreatorlite --save

Note: To run the preceding commands, Node.js and npm must be installed.

Node.js

const { FFCreatorCenter, FFScene, FFImage, FFText, FFCreator } = require('ffcreatorlite');

// create creator instance
const creator = new FFCreator({
  cacheDir,
  outputDir,
  width: 600,
  height: 400,
  log: true,
});

// create FFScene
const scene1 = new FFScene();
const scene2 = new FFScene();
scene1.setBgColor('#ff0000');
scene2.setBgColor('#b33771');

// scene1
const fbg = new FFImage({ path: bg1 });
scene1.addChild(fbg);

const fimg1 = new FFImage({ path: img1, x: 300, y: 60 });
fimg1.addEffect('moveInRight', 1.5, 1.2);
scene1.addChild(fimg1);

const text = new FFText({ text: '这是第一屏', font, x: 100, y: 100 });
text.setColor('#ffffff');
text.setBackgroundColor('#000000');
text.addEffect('fadeIn', 1, 1);
scene1.addChild(text);

scene1.setDuration(8);
creator.addChild(scene1);

// scene2
const fbg2 = new FFImage({ path: bg2 });
scene2.addChild(fbg2);
// logo
const flogo = new FFImage({ path: logo, x: 100, y: 100 });
flogo.addEffect('moveInUpBack', 1.2, 0.3);
scene2.addChild(flogo);

scene2.setDuration(4);
creator.addChild(scene2);

creator.addAudio(audio);
creator.start();

creator.on('progress', e => {
  console.log(colors.yellow(`FFCreatorLite progress: ${(e.percent * 100) >> 0}%`));
});

creator.on('complete', e => {
  console.log(
    colors.magenta(`FFCreatorLite completed: \n USEAGE: ${e.useage} \n PATH: ${e.output} `),
  );
});

About Transition

The latest version of ffcreatorlite already supports scene transition animation, which means you can use it to make cool effects like ffcreator.

Of course you need to install 4.3.0 above version of ffmpeg. Because here is the Xfade filter to achieve Animation.

useage

// https://trac.ffmpeg.org/wiki/Xfade
scene.setTransition('diagtl', 1.5);
fade (default) fadeblack fadewhite distance
wipeleft wiperight wipeup wipedown
slideleft slideright slideup slidedown
smoothleft smoothright smoothup smoothdown
rectcrop circlecrop circleclose circleopen
horzclose horzopen vertclose vertopen
diagbl diagbr diagtl diagtr
hlslice hrslice vuslice vdslice
dissolve pixelize radial hblur
wipetl wipetr wipebl wipebr
fadegrays squeezev squeezeh

About FFCreator

FFCreator is not an enhanced version of FFCreatorLite, in fact the two implementation principles are completely different. When you need to process a lot of video without special cool transition animation, FFCreatorLite may be a better choice.

Principle difference

  • FFCreator uses opengl to process graphics rendering and shader post-processing to generate transition effects, and finally uses FFmpeg to synthesize the video.
  • FFCreatorLite completely uses FFmpeg filters and other effects, splicing FFmpeg commands to generate animations and videos.

FFCreatorLite has 70% of the functions of FFCreator, but in some cases the processing speed is faster and the installation is extremely simple. So please choose which version of the library to use according to the actual usage.

The difference between registration points

The default registration point of FFCreatorLite is the upper left corner and cannot be modified, while the default registration point of FFCreator is the center and can be modified.

For a more detailed tutorial, please check here

Installation

FFCreatorLite depends on FFmpeg, so you need to install FFmpeg

FFCreatorLite depends on FFmpeg>=0.9 and above. Please set FFmpeg as a global variable, otherwise you need to use setFFmpegPath to add FFmpeg native path. (The ffmpeg for windows users is probably not in your %PATH, so you must set %FFMPEG_PATH)

FFCreator.setFFmpegPath('...');

Of course, you can also compile ffmpeg on your machine, please see https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu.

FFmpeg Installation tutorial

For more FFmpeg tutorials, please view https://trac.ffmpeg.org/wiki

Contribute

You are very welcome to join us in developing FFCreatorLite, if you want to contribute code, please read here.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].