#视频处理 #拼接 #编辑 #裁剪 #文件 #片段

应用 trimmeroni

不重新编码裁剪和拼接视频片段

4个版本

0.2.3 2024年7月14日
0.2.2 2024年2月3日
0.2.1 2023年11月28日
0.1.0 2023年5月9日

#28 in 视频

Download history 40/week @ 2024-04-11 3/week @ 2024-04-18 133/week @ 2024-07-11 8/week @ 2024-07-18 2/week @ 2024-07-25

每月143次下载

MIT许可协议

15KB
347

trimmeroni

这个小工具旨在使从任意数量的输入文件中裁剪和拼接任意数量的视频片段变得更容易,合并到一个输出文件中,而不进行重新编码。与使用视频编辑或转码软件编辑片段相比,这可以保留原始视频质量,并节省处理时间。

它使用底层的ffmpeg程序,将每个请求的视频片段从源文件复制到临时目录,然后将它们(一个接一个地)拼接成目标文件。

唯一的要求是您必须在您的系统上安装ffmpeg,并且可以从PATH访问它。

用法

示例

从"cool_gameplay.mkv"中提取08:34至11:02的片段,并保存到"360_noscope.mp4"。

trimmeroni -i 'cool_gameplay.mkv @ 08:34 - 11:02' "360_noscope.mp4"

从"camera_footage.mp4"中,使用04:20 - 04:59、06:44 - 09:00的片段,以及从14:40到文件末尾的片段,将它们拼接起来,并将结果保存到"check_this_out.mp4"。

trimmeroni -i 'camera_footage.mp4 @ 04:20 - 04:59, 06:44 - 09:00, 14:40 - ' "check_this_out.mp4"

从"Day1.mp4"中提取38:08至45:35和1:02:20至1:17:52的片段,以及从"Day2.mp4"的开始到29:26的片段,将它们拼接起来,并将结果保存到"Weekend bike adventure.mp4"。

trimmeroni -i 'Day1.mp4 @ 38:08 - 45:35, 1:02:20 - 1:17:52' -i 'Day2.mp4 @ - 29:26' "Weekend bike adventure.mp4"

详细信息

Usage: trimmeroni [OPTIONS] <OUTPUT_NAME>

Arguments:
  <OUTPUT_NAME>

Options:
  -i, --input-clip <INPUT_CLIP_SPECS>
  -v, --verbose                        Print additional information while working
  -h, --help                           Print help information
  -V, --version                        Print version information

<INPUT_CLIP_SPECS>指定一个输入文件和从该文件中复制的片段的时间码。应格式如下

INPUT_NAME @ TIMECODE - TIMECODE[, TIMECODE - TIMECODE, ...]

其中

  • INPUT_NAME是输入文件名;如果文件名包含"@",则使用另一个"@"来转义它("@@");无需转义空格;
  • 每个TIMECODE可以是ffmpeg支持的任何寻址位置(例如,在h:mm:ss格式中),或者为空,表示整个视频文件的开始或结束;
  • "TIMECODE - TIMECODE,"可以重复任意次数,以便从输入文件中提取多个片段。

您可以使用多次 -i 来使用多个源文件的片段。

请记得引用您的 <INPUT_CLIP_SPECS>,以便 trimmeroni 将其接收为一个单独的字符串。

每个片段的开始将被吸附到指定时间码之前最近的关键帧上。例如,对于来自OBS Studio的录制,这可能意味着片段将包括最多2秒之前的某个部分。

使用 -v--verbosetrimmeroniffmpeg 获取更多信息。

安装

如果您有 cargo,您可以从crates.io安装此程序

cargo install trimmeroni

构建

本项目使用Rust的稳定工具链,2021版。

要从源代码本地构建

git clone https://github.com/outfrost/trimmeroni.git
cd trimmeroni
cargo build

然后您可以像这样运行调试二进制文件

cargo run -- -i 'file.mkv @ 00:02 - 01:12' "out.mp4"

或者使用以下命令将其安装到您的 cargo 二进制文件中

cargo install --path .

贡献

欢迎问题和拉取请求。

通过为该存储库打开问题或拉取请求,您承认并同意,您在问题或拉取请求中包含的贡献可以在MIT许可(包含在LICENSE中)的条款下无限制地发布、使用、复制、修改、改用和再利用,无论拉取请求是否被合并,以及问题是否被解决。

如果您希望您的名字被列入版权信息中的贡献者名单,请在您的拉取请求中编辑LICENSE文件。

依赖项

~5–14MB
~187K SLoC