Esta herramienta es una CLI de código abierto complementaria de Smart Media Cutter.
smartcut
puede cortar archivos de vídeo en muchos formatos y códecs diferentes con una grabación mínima alrededor de los puntos de corte (también conocido como "corte inteligente").
¡Esto significa que puedes cortar incluso archivos de vídeo largos en segundos!
Por el contrario, Smart Media Cutter es un editor de video lineal con todas las funciones, con muchas más características como: GUI fácil de usar, edición basada en transcripciones (editar videos como documentos de texto), corte de silencio automático, exportación de línea de tiempo a editores como Resolve y Premiere y un generoso nivel gratuito.
smartcut
solo recodifica alrededor de los puntos de corte, preservando la mayor parte de la calidad del video original.Obtenga binarios compilados para Windows y Linux a partir de las versiones.
Para instalar desde la fuente:
# 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
La CLI requiere las rutas de los archivos de entrada y salida como argumentos posicionales. Puede especificar los segmentos que desea conservar o cortar utilizando las opciones --keep
o --cut
.
Mantenga segmentos específicos :
smartcut.exe input.mp4 output.mp4 --keep 10,20,40,50
Esto mantiene los segmentos de 10 a 20 y de 40 a 50.
Cortar segmentos específicos :
smartcut.exe input.mp4 output.mp4 --cut 30,40,01:00,01:10
Se recortan los segmentos de 30s a 40s y de 1m a 1m10s, conservando el resto.
Especifique el nivel de registro :
smartcut.exe input.mp4 output.mp4 --keep 10,20 --log-level info
De forma predeterminada, todas las pistas de audio se incluyen con la configuración del códec de paso. Esto se puede ajustar modificando AudioExportInfo
en el script si es necesario.
¡Las contribuciones son bienvenidas! Todo el código tendrá la licencia MIT.
Cualquier cambio también debe funcionar con la aplicación GUI de código cerrado, así que coordine conmigo si desea realizar cambios importantes. Puedes encontrarme en discordia la mayor parte del tiempo.
Contamos con una buena cobertura de prueba para varios formatos de video y audio. Las pruebas de vídeo comprueban que los valores de píxeles no hayan cambiado. En las pruebas de audio es más difícil verificar si la salida es la misma que la entrada, pero hacemos nuestro mejor esfuerzo verificando la correlación de entrada y salida, así como la diferencia absoluta.
Algunas de las pruebas dependen de componentes de la aplicación GUI que no son de código abierto. Estas pruebas están deshabilitadas.
La ejecución de prueba normal se ve así:
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