<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mikael Finstad</title>
    <description>The latest articles on DEV Community by Mikael Finstad (@mifi).</description>
    <link>https://dev.to/mifi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F363034%2Feebe2372-23c3-47cd-aa42-7919d70549e6.jpeg</url>
      <title>DEV Community: Mikael Finstad</title>
      <link>https://dev.to/mifi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mifi"/>
    <language>en</language>
    <item>
      <title>EDITLY - Slick, declarative command line video editing</title>
      <dc:creator>Mikael Finstad</dc:creator>
      <pubDate>Wed, 22 Apr 2020 15:58:24 +0000</pubDate>
      <link>https://dev.to/mifi/editly-slick-declarative-command-line-video-editing-1c99</link>
      <guid>https://dev.to/mifi/editly-slick-declarative-command-line-video-editing-1c99</guid>
      <description>&lt;p&gt;I created an opinionated, easy to use JS library and CLI that lets you cut/assemble videos without a GUI.&lt;/p&gt;

&lt;p&gt;Editly is a tool and framework for declarative NLE (non-linear video editing) using Node.js and ffmpeg. It allows you to &lt;strong&gt;easily and programmatically&lt;/strong&gt; create a video from set of clips, images and titles, with smooth transitions between.&lt;/p&gt;

&lt;p&gt;There is a simple command line for quickly assembling a video from a set of clips or images, or you can use it from Javascript!&lt;/p&gt;

&lt;p&gt;Inspired by &lt;a href="https://github.com/transitive-bullshit/ffmpeg-concat"&gt;ffmpeg-concat&lt;/a&gt;. The problem with that project is that it is quite slow and uses an extreme amount of disk space, especially for HD/4K videos. This projects solves that by doing &lt;strong&gt;streaming&lt;/strong&gt; editing, so it doesn't store any temporary files.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/LNeclLkxUEY"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9SmTQa9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://github.com/mifi/gifs/raw/master/commonFeatures.gif" alt="demo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This GIF/YouTube was created with this command:&lt;br&gt;
"editly &lt;a href="https://github.com/mifi/editly/blob/master/examples/commonFeatures.json5"&gt;commonFeatures.json5&lt;/a&gt;"&lt;/p&gt;

&lt;p&gt;Hope you find it useful!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/mifi/editly"&gt;https://github.com/mifi/editly&lt;/a&gt;&lt;/p&gt;

</description>
      <category>node</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
