Comment recadrer (le temps n'est pas l'image) un fichier vidéo MP4

17

Je recherche une application pour m'aider à couper les bits de début et de fin d'un fichier mp4 de manière efficace et sans perte .

Par exemple, y a-t-il quelque chose qui me permet de trouver une image clé et de copier le lot entre celle-ci et une autre image clé, sans avoir besoin de ré-encoder le lot (lent et avec perte), et sans perdre la synchronisation AV?

Par mp4, je veux dire vidéo H264 + audio AAC dans un conteneur MP4

Avant h264 jours, Avidemux était un excellent outil pour cela, car vous pouvez réutiliser les flux encodés d'origine, ce qui signifie aucune perte et ne prendre que quelques secondes pour créer la version découpée, mais cela est sans espoir avec h264 - l'ouverture d'un vous offre deux options: utiliser le mode sans échec (qui perd massivement la synchronisation AV) ou utilisez le mode dangereux qui le plante immédiatement.

AFAIK, Openshot, Kdenlive, Pitivi etc. feront tout cela en décodant et en recodant (lentement et avec perte).

Cela semble simple (montrant probablement mon manque de connaissances ici!), Alors je me demandais si je manquais quelque chose.

artfulrobot
la source
Si vous devez couper la fin de la vidéo, veuillez voir la réponse que j'ai donnée sur un autre sujet: askubuntu.com/questions/412558/…
v010dya
2
superuser.com/questions/377343/… se rapporte bien et propose une solution similaire à celle ci-dessous mais ajoute quelques bonnes informations.
pbhj

Réponses:

24

ffmpeg

ffmpeg -i source.mp4 -ss 00:00:00 -t 00:00:00 -vcodec copy -acodec copy splice.mp4

Cela prendra source.mp4 et, en utilisant les mêmes codecs audio et vidéo et sans dégrader la qualité, prendra-t temps après -ss heure de début vidéo et produira votre splice.mp4

Veuillez noter que le timing est très sensible au formatage (ci-dessus est un exemple de formatage). De plus, dans certaines distributions, ffmpega été remplacé par avconv. Exécutez simplement la commande ci-dessus et remplacez le mot ffmpeg par avconv pour résoudre ce problème.

Une autre excellente source d'informations sur ce sujet. (Merci @pbhj)

EarthmeLon
la source
3
Brillant. Notez que vous ne pouvez pas abréger l' -ssargument, c'est- 9:00à- dire que pendant 9 minutes doit être exprimé car 00:09:00sinon il est silencieusement ignoré. Je pense que cette réponse devrait également être mise à jour pour être utilisée avconv, selon l'avertissement de ffmpeg. Merci.
artfulrobot du
Remarque: cet avertissement reflète simplement que vous avez installé avconv plutôt que ffmpeg, donc votre exécutable ffmpeg n'est en fait qu'un wrapper autour d'avconv et ce wrapper pourrait être obsolète bientôt. Si ffmpeg était installé mais pas avconv, vous n'obtiendrez pas cet avertissement. Il n'est pas destiné à signifier que ffmpeg lui-même est obsolète (bien que les versions récentes d'Ubuntu aient choisi d'installer avconv par défaut plutôt que ffmpeg).
thomasrutter
5

Dans Ubuntu 16.04, l'équivalent de ffmpegest la commandeavconv

Pour l'installer exécutez:

sudo apt-get install libav-tools

Exemple de ligne de commande pour recadrer une vidéo par heure:

avconv -i originalFile.ogv -ss 00:00:00 -t 00:00:10 -vcodec copy -acodec copy croppedFile.ogv
AlejandroVD
la source
Non disponible dans les versions ultérieures d'Ubuntu.
lolmaus - Andrey Mikhaylov