All Projects → daem-on → Fwf

daem-on / Fwf

Licence: mit
HTML video editor with FFmpeg

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Fwf

Online Video Editor
API based Online Video Editing using FFMPEG & NodeJs for Backend Editing
Stars: ✭ 176 (+37.5%)
Mutual labels:  ffmpeg, video-processing, video-editor
Lossless Cut
The swiss army knife of lossless video/audio editing
Stars: ✭ 8,639 (+6649.22%)
Mutual labels:  ffmpeg, video-editor
Vidcutter
Been busy guys, will be reviewing and integrating pull requests shortly. Thanks to all contributors! LATEST RELEASE: 6.0.0 - flatpak @ https://flathub.org/apps/details/com.ozmartians.VidCutter - snap @ https://snapcraft.io/vidcutter - see https://github.com/ozmartian/vidcutter/releases for more details...
Stars: ✭ 775 (+505.47%)
Mutual labels:  ffmpeg, video-editor
Mlt
MLT Multimedia Framework
Stars: ✭ 836 (+553.13%)
Mutual labels:  ffmpeg, video-processing
eloquent-ffmpeg
High-level API for FFmpeg's Command Line Tools
Stars: ✭ 71 (-44.53%)
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 (+221.09%)
Mutual labels:  ffmpeg, video-processing
Android Video Trimmer
Android-Video-Trimmer项目实现了对长短视频进行片段的裁剪选择。使用MediaMetadataRetriever获取视频帧,采用ffmpeg进行视频裁剪,和视频压缩。
Stars: ✭ 824 (+543.75%)
Mutual labels:  ffmpeg, video-editor
Super-Stitch
一款视频超级拼接软件
Stars: ✭ 28 (-78.12%)
Mutual labels:  ffmpeg, video-processing
Pyjumpcutterv2
carykh's but with improvements and a GUI!
Stars: ✭ 25 (-80.47%)
Mutual labels:  ffmpeg, video-processing
Ffcreator
一个基于node.js的高速短视频加工库 A fast short video processing library based on node.js
Stars: ✭ 948 (+640.63%)
Mutual labels:  ffmpeg, video-processing
Dokai
Collection of Docker images for ML/DL and video processing projects
Stars: ✭ 58 (-54.69%)
Mutual labels:  ffmpeg, video-processing
nebula
Media asset management and broadcast automation system
Stars: ✭ 103 (-19.53%)
Mutual labels:  ffmpeg, video-processing
DuME
A fast, versatile, easy-to-use and cross-platform Media Encoder based on FFmpeg
Stars: ✭ 66 (-48.44%)
Mutual labels:  ffmpeg, video-processing
Mp4composer Android
This library generate an Mp4 movie using Android MediaCodec API and apply filter, scale, trim, transcode, crop, timeScale, mute and rotate Mp4.
Stars: ✭ 674 (+426.56%)
Mutual labels:  video-processing, video-editor
video-audio-tools
To process/edit video and audio with Python+FFmpeg. [简单实用] 基于Python+FFmpeg的视频和音频的处理/剪辑。
Stars: ✭ 164 (+28.13%)
Mutual labels:  ffmpeg, video-processing
Ffmpeg Libav Tutorial
FFmpeg libav tutorial - learn how media works from basic to transmuxing, transcoding and more
Stars: ✭ 7,074 (+5426.56%)
Mutual labels:  ffmpeg, video-processing
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 (-23.44%)
Mutual labels:  ffmpeg, video-processing
Ruurd-Movie-Maker
Simple video editor to cut/paste video, change playback speed and change volume
Stars: ✭ 20 (-84.37%)
Mutual labels:  ffmpeg, video-editor
video-summarizer
Summarizes videos into much shorter videos. Ideal for long lecture videos.
Stars: ✭ 92 (-28.12%)
Mutual labels:  ffmpeg, video-processing
Trim.lua
Trim mode for mpv — Turn mpv into Lossless Audio / Video Editor.
Stars: ✭ 24 (-81.25%)
Mutual labels:  ffmpeg, video-processing

fwf: FFmpeg video editor

If you are a consumer considering using this software, don't. This was an experiment and important features don't work or are missing. Olive is an open source video editor that you may be interested in. Read the Inherent problems section for more information.

main screenshot

Video editing software in JavaScript, made with Electron, on top of FFmpeg using fluent-ffmpeg. Provides a simple GUI for editing videos with FFmpeg with a timeline, preview, and filter editor.

Architecture:

  • Fluent-ffmpeg in the main process, starting ffmpeg processes as needed.
  • GUI in the renderer process, stores all of the information and only sends render instructions to main over IPC.
  • Express HTTP server in main process for streaming preview video.

Filter editor

filter editor screenshot

JSON editor GUI using jsoneditor, with presets. This lets you edit the filters that are passed to fluent-ffmpeg, which then turns them into FFmpeg options. This means you can use any video filter the FFmpeg binary supports.

Inherent problems

This was an experiment to see if a consumer grade video editor is possible to make with HTML and JavaScript. I would say it is possible, the result just isn't very good. It's also obviously not pure JavaScript, since it uses FFMpeg as a backend. Problems:

  1. Previews are slow, unreliable and limited, because the preview is rendered in FFMpeg and streamed through an internal server to the renderer. I also haven't been able to implement the streams feature, which would make it capable of rendering multiple clips chained together for the preview.
  2. FFMpeg wasn't designed for a consumer grade video editing app. HTML & JavaScript weren't designed for making desktop apps.
  3. The FFMpeg binary has to be bundled with the app for easier installation, and this means using a custom build configuration. Into this custom configuration I haven't been able to integrate the Vue compilation that would be necessary to make the interface entirely Vue-based.

If you would like to use it anyway, you're free to do so. If you would like to help out with the development, PRs are greatly appreciated.

Running and building from source

To run from source, clone this repository, and inside the app/ directory, install the dependencies with npm install or yarn. You have to provide your own ffmpeg binaries for running and building, so download the ffmpeg and ffprobe executables from an ffmpeg distribution of your choice. Both executables are required. You then place these inside app/bin/ in a folder matching your architecture: by default, darwin and win64 are supported. This is detected in app/index.js, so if your architecture is not darwin or win64 you have to modify that file otherwise it won't start. Then you run npm run start or yarn start inside app/ to start fwf.

Build with electron-builder using app/node_modules/.bin/electron-builder in the root directory. The build setup is quite complicated, because of the fact that the ffmpeg binaries need to be available at runtime, so there are a lot of ways it can go wrong.

License

Released under the MIT license, see LICENSE.

splash

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].