Cet outil est un compagnon CLI open source de Smart Media Cutter.
smartcut
peut couper des fichiers vidéo dans de nombreux formats et codecs différents avec seulement un recodage minimal autour des points de coupure (alias « coupe intelligente »).
Cela signifie que vous pouvez couper même de longs fichiers vidéo en quelques secondes !
En revanche, Smart Media Cutter est un éditeur vidéo linéaire complet avec beaucoup plus de fonctionnalités telles que : une interface graphique facile à utiliser, une édition basée sur la transcription (éditer des vidéos comme des documents texte), une coupure automatique du silence, une chronologie d'exportation vers des éditeurs comme Resolve & Premiere et un niveau gratuit généreux.
smartcut
recode uniquement autour des points de coupure, préservant la majorité de la qualité vidéo originale.Obtenez des binaires créés pour Windows et Linux à partir des versions.
Pour installer à partir des sources :
# 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 requiert les chemins d’accès aux fichiers d’entrée et de sortie comme arguments de position. Vous pouvez spécifier les segments à conserver ou à couper à l'aide des options --keep
ou --cut
.
Conserver des segments spécifiques :
smartcut.exe input.mp4 output.mp4 --keep 10,20,40,50
Cela maintient les segments de 10 à 20 et de 40 à 50.
Couper des segments spécifiques :
smartcut.exe input.mp4 output.mp4 --cut 30,40,01:00,01:10
Cela coupe les segments des années 30 à 40 et de 1m à 1m10, en gardant le reste.
Spécifiez le niveau de journalisation :
smartcut.exe input.mp4 output.mp4 --keep 10,20 --log-level info
Par défaut, toutes les pistes audio sont incluses avec les paramètres du codec passthrough. Cela peut être ajusté en modifiant AudioExportInfo
dans le script si nécessaire.
Les contributions sont les bienvenues ! Tout le code sera sous licence MIT.
Toute modification doit également fonctionner avec l'application GUI à source fermée, alors veuillez vous coordonner avec moi si vous souhaitez apporter des modifications importantes. Vous pouvez me trouver sur Discord la plupart du temps.
Nous disposons d’une bonne couverture de test pour différents formats vidéo et audio. Les tests vidéo vérifient que les valeurs des pixels sont inchangées. Lors des tests audio, il est plus difficile de vérifier si la sortie est la même que l'entrée, mais nous faisons de notre mieux en vérifiant la corrélation de l'entrée et de la sortie ainsi que la différence absolue.
Certains tests dépendent de composants de l'application GUI qui ne sont pas open source. Ces tests sont désactivés.
Le test normal ressemble à ceci :
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