该工具是 Smart Media Cutter 的开源 CLI 伴侣。
smartcut
可以剪切多种不同格式和编解码器的视频文件,只需围绕剪切点进行最少的重新编码(也称为“智能剪切”)。
这意味着您甚至可以在几秒钟内剪切长视频文件!
相比之下,Smart Media Cutter 是功能齐全的线性视频编辑器,具有更多功能,例如:易于使用的 GUI、基于脚本的编辑(像文本文档一样编辑视频)、自动静音剪切、将时间线导出到 Resolve 和 Premiere 等编辑器以及慷慨的免费套餐。
smartcut
仅在切割点周围重新编码,保留大部分原始视频质量。从版本中获取适用于 Windows 和 Linux 的构建二进制文件。
从源安装:
# Clone this repository:
git clone https://github.com/skeskinen/smartcut.git
cd smartcut
# Create python virtual environment:
python -m venv .venv
source .venv/bin/activate
# Install the required dependencies:
pip install -r requirements.txt
# Run:
python ./smartcut input.mp4 output.mp4 --keep 10,20,40,50
CLI 需要输入和输出文件路径作为位置参数。您可以使用--keep
或--cut
选项指定要保留或剪切的段。
保留特定段:
smartcut.exe input.mp4 output.mp4 --keep 10,20,40,50
这使得片段从 10 秒到 20 秒以及从 40 秒到 50 秒。
剪切特定片段:
smartcut.exe input.mp4 output.mp4 --cut 30,40,01:00,01:10
这会切掉 30s 到 40s 以及 1m 到 1m10s 的片段,保留其余片段。
指定日志级别:
smartcut.exe input.mp4 output.mp4 --keep 10,20 --log-level info
默认情况下,所有音轨都包含在直通编解码器设置中。如果需要,可以通过修改脚本中的AudioExportInfo
来调整。
欢迎贡献!所有代码将根据 MIT 许可证获得许可。
任何更改都必须与闭源 GUI 应用程序一起使用,因此如果您想进行重大更改,请与我协调。大多数时候你都会发现我处于不和谐状态。
我们对各种视频和音频格式都有良好的测试覆盖率。视频测试检查像素值是否未更改。在音频测试中,检查输出是否与输入相同比较困难,但我们会尽力检查输入和输出的相关性以及绝对差异。
某些测试依赖于 GUI 应用程序中非开源的组件。这些测试被禁用。
正常的测试运行如下:
Skipping smc tests
test_h264_cut_on_keyframes: PASS
test_h264_smart_cut: PASS
test_h264_24_fps_long: PASS
test_h264_1080p: PASS
test_h264_multiple_cuts: PASS
test_h264_profile_baseline: PASS
test_h264_profile_main: PASS
test_h264_profile_high: PASS
test_h264_profile_high10: PASS
test_h264_profile_high422: PASS
test_h264_profile_high444: PASS
test_mp4_cut_on_keyframe: PASS
test_mp4_smart_cut: PASS
test_mp4_to_mkv_smart_cut: PASS
test_mkv_to_mp4_smart_cut: PASS
test_vp9_smart_cut: PASS
test_vp9_profile_1: PASS
test_av1_smart_cut: PASS
test_avi_smart_cut: PASS
test_flv_smart_cut: PASS
test_mov_smart_cut: PASS
test_wmv_smart_cut: PASS
test_mpg_cut_on_keyframes: PASS
test_mpg_smart_cut: PASS
test_m2ts_mpeg2_smart_cut: PASS
test_m2ts_h264_smart_cut: PASS
test_ts_smart_cut: PASS
test_night_sky: PASS
test_night_sky_to_mkv: PASS
test_sunset: PASS
test_h265_cut_on_keyframes: PASS
test_h265_smart_cut: PASS
test_h265_smart_cut_large: PASS
test_mp4_h265_smart_cut: PASS
test_vertical_transform: PASS
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [warning]: Source height < 720p; disabling lookahead-slices
test_video_recode_codec_override: PASS
test_vorbis_passthru: PASS
test_mkv_with_video_and_audio_passthru: PASS
test_mp3_passthru: PASS
test_seeking: PASS
Tests ran in 153.6s