AutoMotion:我如何自动化我的视频编辑过程自动运动(遗留)

2025-06-10

AutoMotion:我如何实现视频编辑流程的自动化

自动运动(遗留)

各位 DEV 社区的朋友们,大家好!这是我的第一篇博文,很高兴与大家分享!

梦想

在直播 YouTube 视频的时候,我经常梦想成为一名 YouTuber,我相信我们很多人都有这样的梦想。我觉得自己拥有丰富的知识,想与世界分享。比如制作一些小型教程视频,分享我如何开发自己的业余项目,以及为开发者提供一些效率提升技巧。哪怕只是一些小事,也无妨。但要做到这一点,🙄我必须:

  • 学习视频编辑的基础知识以及如何使用各种编辑软件📔
  • 花费大量时间编辑我的视频项目👨‍💻
  • 执行通常且经常重复的掉落-裁剪-修剪过程✂️
  • 从我喜爱的主要操作系统 Ubuntu 切换过来,因为大多数专业视频编辑软件只能在 Windows/MacOS 上运行 😥
  • 花费大量时间等待最终输出渲染⏳
  • 还有许多其他原因让我远离梦想🙄

我知道,我知道。这些都让我听起来像个懒人。因为我就是!😁 那我该怎么办?

灵感时刻🌩️

我知道一些愚蠢的编程。我能把这个过程自动化吗? ”我问自己,结果就是这样。我又有什么损失呢?所以我决定尝试一下,把这个过程自动化。

研究🔍

我听说ffmpeg是个处理视频帧的好工具。于是我快速浏览了一下它的文档,发现它非常简单易用,即使对于我这种新手来说也很容易上手。

核心功能🤖

如果输入视频是一段 10 分钟的镜头,并且每 2 分钟之后有 1 分钟的非说话区域(没有人说话的区域),

输入

我想把这些区域延时拍摄成15秒的片段。这样视频总长度就变成了7分45秒。

另外,在运行延时摄影时,我想用一些很酷的 BGM 替换镜头的原始音频🥁。

所以这是我想在该事物中实现的核心功能,当时我还没有决定它的名字。

初步开发⚗️

我创建了一个shell script用来处理从 YouTube 下载的示例视频的程序。我在里面写了一些基本内容,例如

  • 添加简介
  • 添加文字介绍
  • 修剪视频部分
  • 缩时录像片段
  • 添加背景音乐
  • 添加水印
  • 添加片尾字幕

我花了三天时间手写。我只是想看看它是否ffmpeg有潜力实现我的目标,结果它真的让我印象深刻,超出了我的预期。

接下来我想做的是ffmpeg动态生成这些命令。💣

代码改进⌨️

我花了大约五天时间编写整个程序。之后,我继续改进代码,将所有可能的输入变量都变成了动态变量,这意味着你可以控制其中几乎所有的内容:缩时拍摄速度、片头标题、水印标题、最短缩时拍摄时长,等等。

以下是核心堆栈的概述:

在这个阶段,我还为这个项目确定了一个名字,auto-motion

现在,让我们运行它!🏃

输入🕹

输入是来自逗号档案的一段 6 分钟的视频,由George Hotz在他们最近举办的黑客马拉松中拍摄。

执行🖱️

编辑和渲染输出仅需约 1 分钟,而手动编辑则需要数小时甚至数天才能完成。🤷

输出📺

输出内容缩短至 4 分 43 秒,如下所示。其中包含 7 个不同长度的延时视频。

我知道输出效果不如手动编辑的那么赏心悦目,但我相信自己可以适时改进😇。不久的将来,你会在我的 YouTube 频道上看到更多动态且有趣的输出。如果你喜欢我的作品,请订阅以便收到通知。🤗

下载📩

您可以从 GitHub 查看源代码以及下载程序。

GitHub 徽标 teamxenox /自动运动

一种自动编辑长屏幕记录的工具。

自动运动(遗留)

一个 CLI 程序,用于以最少的输入即时编辑您的视频。

依赖项💢

安装🛠

wget "https://raw.githubusercontent.com/theapache64/auto-motion/master/install.sh" -q --show-progress -O install.sh && sh install.sh && source ~/.bashrc
Enter fullscreen mode Exit fullscreen mode

用法🖥

usage: auto-motion -v input.mp4 [-H] -V <arg> [-BGM <arg>] [-ST <arg>]
       [-VL <arg>] [-MTL <arg>] [-TLS <arg>] [-ID <arg>] [-CR <arg>] [-WM
       <arg>] [-IT <arg>] [-CT <arg>] [-IST <arg>] [-CST <arg>] [-F <arg>]
       [-HL <arg>] [-WMC <arg>] [-WMS <arg>] [-WMBG <arg>] [-WMBGO <arg>]
       [-TFS <arg>] [-STFS <arg>] [-TC <arg>] [-STC <arg>] [-BG <arg>]
       [-RSRT <arg>] [-DSRT] [-RFMPG] [-sf] [-KS]
A tool to edit your lengthy screen records, automatically. Version
v1.0.0-alpha01
 -H,--help                              To print help text
 -V,--video <arg>                       Video inputs (required at least
                                        one)
 -BGM,--background-music <arg>          Background music for timelapse.
                                        Default
                                        '/home/theapache64/Documents/proje
                                        cts/auto-motion/lab/lost_in_time.m
                                        p3'
 -ST,--sub-title <arg>                  Intro sub title
 -VL,--video-lang <arg>                 Video language. Default 'en'
 -MTL,--min-tl-src-len <arg>            Minimum timelapse source length
                                        (in

如果您有一些视频,请下载代码并在其上运行以检查输出,很有趣。🤪

感谢阅读!

我很高兴写了这篇文章,也很高兴能和大家分享更多。如果你喜欢这篇文章,请分享给你的朋友。欢迎留言,为以后的文章提供一些建议!感谢阅读。再见!

男人送出一个飞吻并说


PS:您是开源爱好者吗?

如果渴望在协作环境中打造酷炫的产品,并结识优秀的人才,欢迎加入XenoX Multiverse🔥。快来了解一下我们去年制作的一些作品吧。

张开双臂加入我们 gif

我们目前正在开发Caligator ,这是我们去年开发的产品之一,受到了大家和ProductHunt的好评

Caligator 获得了大量关注,也收到了不少用户提出的功能请求。请帮助我们进一步完善 Caligator,使其更上一层楼。欢迎加入Gitter聊天室。

鏂囩珷鏉ユ簮锛�https://dev.to/xenoxdev/automotion-how-i-automated-my-video-editing-process-1i6c
PREV
作为开发人员,您面临的健康问题🏥
NEXT
本周值得一读的 5 篇外星人文章👽📖 1. 12 个很棒的 CSS 动画资源 2. 如何设计易于访问的配色方案 3. 如何使用展开和休息运算符 4. 创建自己的 NPM 包并发布。 5. ECMAScript 2019(ES2019)——带有示例的新功能 告诉我你的想法!