Si j'ai une vidéo, normalement de format avi, mais pourrait être n'importe lequel, et que je veux en créer une autre dans le même format mais juste une partie, de la position i secondes à f secondes dans la vidéo, quelle est la commande en une ligne pour le faire ?
Réponses
Trop de publicités?Cela peut être fait en utilisant mencoder
ou ffmpeg
.
mencoder
Disons que vous voulez découper une partie commençant à 00:00:30 dans le fichier original avec une durée de 5 secondes et qu'elle ne doit pas être réencodée (si vous souhaitez la réencoder, vous devrez remplacer copy
par les codecs audio et vidéo, pour une liste des codecs audio disponibles, entrez mencoder -oac help
, pour une liste des codecs vidéo disponibles, entrez mencoder -ovc help
), alors vous entrez :
mencoder -ss 00:30:00 -endpos 00:00:05 -oac pcm -ovc copy fichieroriginal -o nouveaufichier
Vous devrez remplacer fichieroriginal
et nouveaufichier
par les noms de fichiers réels, ce dernier est le nom du fichier qui est créé pour contenir la partie découpée.
ffmpeg
Disons que vous voulez découper une partie commençant à 00:00:30 dans le fichier original avec une durée de 5 secondes et qu'elle ne doit pas être réencodée (si vous souhaitez la réencoder, vous devrez remplacer copy
par les codecs audio et vidéo, pour une liste des codecs disponibles, entrez ffmpeg -formats -E
), alors vous entrez :
ffmpeg -ss 00:00:30 -i fichieroriginal -t 00:00:05 -vcodec copy -acodec copy nouveaufichier
Vous devrez remplacer fichieroriginal
et nouveaufichier
par les noms de fichiers réels, ce dernier est le nom du fichier qui est créé pour contenir la partie découpée.
Pour plus de références, consultez <a href="http://lazyxiong-tech.blogspot.com/2007/05/using-mencoder-to-cut-out-pieces-of.html" rel="noreferrer">http://lazyxiong-tech.blogspot.com/2007/05/using-mencoder-to-cut-out-pieces-of.html</a> et "7. Copier seulement une partie de la vidéo" dans <a href="http://segfault.in/2010/10/ffmpeg-tricks-you-should-know-about/" rel="noreferrer">http://segfault.in/2010/10/ffmpeg-tricks-you-should-know-about/</a>
Avez-vous besoin de couper la vidéo en mode réencodage ou sans mode réencodage? Vous pouvez essayer la commande suivante ci-dessous.
Synopsis: ffmpeg -i [fichier_entrée] -ss [début_secondes] -t [durée_secondes] [fichier_sortie]
utiliser FFmpeg pour couper une vidéo mp4 sans réencodage
Exemple:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -c copy couper_video.mp4
utiliser FFmpeg pour couper une vidéo mp4 avec réencodage
Exemple:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -async 1 -strict -2 couper_video.mp4
Si vous voulez couper une section depuis le début, il suffit de supprimer -t 00:00:10
de la commande
medipack est une application en ligne de commande très simple en tant qu'enveloppe sur ffmpeg
.
vous pouvez découper votre vidéo en utilisant ces commandes:
medipack trim input.mp4 -s 01:04 -e 14:08 -o output.mp4
medipack trim input.mp4 -s 01:04 -t 13:04 -o output.mp4
vous pouvez voir les options de la sous-commande de découpe comme suit:
srb@srb-pc:$ medipack trim -h
usage: medipack trim [-h] [-s START] [-e END | -t TIME] [-o OUTPUT] [inp]
positional arguments:
inp fichier vidéo d'entrée ex: input.mp4
optional arguments:
-h, --help afficher ce message d'aide et quitter
-s START, --start START
heure de début pour la découpe au format hh:mm:ss ou mm:ss
-e END, --end END heure de fin pour la découpe au format hh:mm:ss ou mm:ss
-t TIME, --time TIME durée du clip au format hh:mm:ss ou mm:ss
-o OUTPUT, --output OUTPUT
vous pourriez également explorer d'autres options en utilisant medipack -h
srb@srb-pc:$ medipack --help
usage: medipack.py [-h] [-v] {trim,crop,resize,extract} ...
positional arguments:
{trim,crop,resize,extract}
optional arguments:
-h, --help afficher ce message d'aide et quitter
-v, --version afficher le numéro de version
vous pouvez visiter https://github.com/srbcheema1/medipack et consulter des exemples dans README.
Pour être plus précis, vous pouvez : MANUELLEMENT Ouvrir le fichier dans un lecteur multimédia qui avancera image par image (potplayer mon préféré mais MPC-HC fonctionne) et lire un fichier AVISynth avec des données telles que :
DirectShowSource(("C:\Downloads\Video\Do you want him.flv"), Pixel_Type="yuy2").Crop(0,0,-0,-0)
Subtitle("C:\Downloads\Video\Do you want him.flv", font="Arial", size=24, text_color=$ff0000, align=3)
ShowFrameNumber(scroll=true, x=336, y=27, font="Arial", size=24, text_color=$ff0000)
ShowTime(x=398, y=44, font="Arial", size=24, text_color=$ff0000)
Ensuite, coupez avec le format de temps EXACT :
ffmpeg -i "Chemin\do you want him.flv" -ss 00:00:05.240 -to 00:00:08.360 -vcodec libx264 -acodec libvo_aacenc "Chemin\Do you want him1.flv"
et
ffmpeg -i "Chemin\do you want him.flv" -ss 00:00:10.240 -to 00:00:14.360 -vcodec libx264 -acodec libvo_aacenc "Chemin\Do you want him2.flv"
Si vous souhaitez joindre, créez un fichier txt avec les fichiers vidéo avec des contenus comme suit :
file 'C:\Downloads\Video\Do you want him1.flv'
file 'C:\Downloads\Video\Do you want him2.flv'
Exécutez ffmpeg
:
ffmpeg -f concat -i FileList.txt -c copy "Chemin\NouveauNom_joint.flv"
PROGRAMMATIQUEMENT J'ai écrit un programme mais je n'ai pas le niveau 10 pour le montrer, désolé