Découper une vidéo avec FFmpeg : copier les flux ou réencoder
Choisissez la copie de flux ou le réencodage avec FFmpeg pour une démonstration SDR que vous êtes autorisé à utiliser, comprenez les choix de positionnement et de sélection des flux, puis examinez l’extrait réel. Ce guide utilise des commandes illustratives, pas des résultats d’exécution.
Supposons que vous ayez besoin d’un court extrait d’un enregistrement de démonstration produit que vous êtes autorisé à utiliser. Pour une référence interne, un début légèrement anticipé peut convenir. Pour une présentation publique, l’extrait doit parfois commencer sur un écran précis. Cette différence doit déterminer la manière de découper la vidéo.
Commencez par la copie de flux si une limite approximative est acceptable. Choisissez le réencodage lorsque les exigences de montage ou de diffusion l’imposent, puis examinez le résultat. La commande FFmpeg la plus courte ne remplace pas un critère d’acceptation clair.
Ce guide explique ce choix à l’aide de commandes complètes fournies à titre d’illustration. Elles n’ont pas été exécutées pour cet article ; aucun exemple de sortie ni résultat de lecture n’est présenté comme ayant été obtenu.
Choisir la méthode de découpe selon la précision nécessaire
La copie de flux conserve les paquets compressés, avec des limites pour la découpe
FFmpeg sépare un conteneur en flux multimédias, par exemple vidéo et audio. La copie de flux écrit les paquets compressés sélectionnés dans un conteneur de sortie sans les décoder ni les encoder. Elle ne permet pas de filtrer les flux copiés. La documentation officielle sur la copie de flux décrit ce fonctionnement.
Éviter une génération d’encodage supplémentaire ne garantit pas que la première image visible corresponde exactement au point demandé. Cela ne signifie pas non plus que les fichiers auront des octets identiques ou que tous les champs de métadonnées seront préservés. Le conteneur de sortie doit prendre en charge les flux sélectionnés.
| Exigence | Choix initial | Contrôle d’acceptation |
|---|---|---|
| Extrait interne approximatif | Envisager la copie de flux | Le début et la fin sont acceptables |
| Démonstration SDR aux limites définies avec soin | Envisager le réencodage | Vérifier les limites visuelles et sonores demandées |
| Filtrage vidéo nécessaire | Réencoder la vidéo concernée | Vérifier le résultat du filtre et la lecture |
| La destination refuse les codecs de la source | Choisir un encodage et un conteneur pris en charge | Ouvrir le résultat dans la destination |
| Des contenus sensibles doivent être exclus | Ne pas considérer une copie approximative comme une garantie | Examiner l’intégralité de l’extrait livré |
Utilisez ce tableau pour choisir un point de départ. La validation intervient ensuite, après examen du fichier. Un extrait lisible peut encore contenir des éléments que vous vouliez exclure.
Le réencodage offre davantage de contrôle, moyennant un coût
Le réencodage décode les médias et produit une nouvelle sortie encodée. Un filtre a besoin d’images décodées : le filtrage et la copie de flux ne peuvent donc pas s’appliquer au même flux. Le manuel de FFmpeg explique cette distinction.
La procédure d’encodage ci-dessous ajoute une génération avec perte et nécessite du traitement. Ses paramètres correspondent à des choix précis de diffusion. La pertinence de ce compromis pour votre enregistrement dépend du résultat recherché ; aucune des deux méthodes ne garantit la rapidité ni la compatibilité avec toutes les sources et tous les lecteurs.
Examiner la source et définir le contenu nécessaire de l’extrait
Lire l’inventaire des flux avec ffprobe
Ces exemples supposent que FFmpeg et ffprobe sont installés et que vous avez l’autorisation d’utiliser l’enregistrement. La source est un fichier local SDR H.264/AAC ordinaire qui se prolonge au-delà de l’intervalle demandé. Utilisez un interpréteur de commandes de type POSIX. L’installation et la conversion HDR ne sont pas traitées dans ce guide.
Commencez par ces commandes d’inspection :
ffmpeg -version
ffmpeg -encoders
ffprobe -v error -show_format -show_streams -of json 'demo-source.mp4'Notez la version installée et vérifiez que la liste des encodeurs comprend libx264 et aac avant d’essayer la procédure d’encodage. La documentation des codecs décrit la dépendance nécessaire à la compilation pour libx264. Changer l’extension d’un nom de fichier n’ajoute pas un encodeur manquant.
La référence de ffprobe décrit les rapports sur les conteneurs et les flux, avec une sortie exploitable par des programmes. Examinez les indices des flux et les codecs. Vérifiez la durée, le format de pixels et les informations de couleur disponibles, puis recherchez d’éventuelles pistes supplémentaires. Considérez toute information absente comme inconnue. Les commandes ci-dessus sont des étapes d’inspection proposées, et non des preuves d’exécution recueillies. Les manuels en ligne peuvent différer de votre version installée ; utilisez son aide locale pour vérifier une option inconnue.
Conserver l’original et travailler sur une copie distincte
Conservez l’original ailleurs. Placez une copie de travail autorisée nommée demo-source.mp4 dans un répertoire local temporaire et exécutez les exemples à cet endroit, avec des noms de sortie distincts.
Les deux procédures incluent -n, qui refuse d’écraser une sortie existante. Si un fichier porte déjà ce nom, examinez-le ou choisissez un autre nom. Conservez cette protection contre l’écrasement pendant que vous décidez des éléments à garder.
Notez les pistes dont l’extrait a besoin. Les procédures sélectionnent le premier flux vidéo et, s’il existe, le premier flux audio. Les autres pistes linguistiques, ainsi que les flux distincts de sous-titres, de pièces jointes et de données, ne font pas partie de cette sélection. Cela ne permet pas de déterminer si les données de sous-titrage intégrées à un flux vidéo sélectionné seront conservées ; vérifiez ce point séparément. Décidez si l’absence des éléments non sélectionnés est acceptable avant de lancer la découpe.
Créer un extrait approximatif avec la copie de flux
Définir explicitement le positionnement dans l’entrée et la durée de sortie
Cet exemple demande un début à 00:00:30 et une durée de sortie de 10 secondes :
ffmpeg -n -ss 00:00:30 -i 'demo-source.mp4' -t 10 -map 0:v:0 -map '0:a:0?' -c copy 'demo-copy.mkv'Comme -ss apparaît avant -i, il s’agit d’un positionnement dans l’entrée. La référence officielle des options explique que la plupart des formats ne permettent pas un positionnement exact. FFmpeg se place au point de positionnement précédent le plus proche ; la copie de flux conserve le segment supplémentaire situé avant la position demandée.
C’est pourquoi il faut considérer cette découpe comme approximative. Vérifiez ce qui apparaît et ce qui s’entend au début, sans supposer que l’horodatage décrit la première image affichée ou le premier échantillon audible.
Après l’entrée, -t 10 limite la durée de sortie. Cette option ne définit pas un horodatage absolu de fin et ne prouve pas quelle sera la dernière image ou le dernier échantillon audio observé. La syntaxe des durées prend en charge la notation utilisée ici. Séparer le début et la durée facilite la vérification de la demande.
Vérifier les flux réellement sélectionnés
-map 0:v:0 sélectionne le premier flux vidéo de l’entrée zéro. -map '0:a:0?' sélectionne son premier flux audio, s’il existe. Le point d’interrogation rend la sélection audio facultative, comme l’indique la documentation de sélection des flux. Les guillemets transmettent littéralement le point d’interrogation dans l’interpréteur de commandes utilisé ici ; consultez les consignes du manuel sur les guillemets et l’échappement. Cette sélection facultative exige tout de même que l’entrée zéro existe.
L’audio facultatif est une commodité, pas un critère d’acceptation. Si la présentation nécessite une narration, un extrait sans audio échoue à la vérification même si la commande se termine correctement.
-c copy copie les flux sélectionnés. MKV est le conteneur utilisé dans l’exemple ; vérifiez la prise en charge des conteneurs et le logiciel de montage prévu avant de l’adopter. Examinez ensuite le début et la fin de l’extrait réel. Déplacer -ss après -i ne suffit pas à rendre la copie de paquets précise à l’image près.
Réencoder un extrait SDR en maîtrisant sa diffusion
Utiliser l’exemple H.264 et AAC dans les limites prévues
L’alternative avec encodage demande le même intervalle et la même sélection de flux. Elle nécessite les encodeurs vérifiés précédemment et reste un exemple non exécuté :
ffmpeg -n -ss 00:00:30 -i 'demo-source.mp4' -t 10 -map 0:v:0 -map '0:a:0?' -c:v libx264 -crf 20 -preset medium -pix_fmt yuv420p -c:a aac -b:a 160k -movflags +faststart 'demo-encoded.mp4'Lors d’un transcodage avec positionnement dans l’entrée, l’option accurate_seek, activée par défaut, décode puis supprime le segment entre le point de positionnement et la position demandée. C’est la différence documentée avec la copie de flux. Elle explique le choix de la méthode, mais ne valide pas le montage obtenu. Vérifiez les premières images et la fin, y compris l’audio.
libx264 encode la vidéo en H.264. -crf 20 définit une valeur de contrôle à qualité constante, tandis que -preset medium sélectionne un préréglage d’encodage. Consultez la référence de l’encodeur pour ces réglages. Les valeurs utilisées ici sont des paramètres de départ, pas des notes de qualité ni l’affirmation qu’une combinaison convient à tous les enregistrements.
Distinguer la préparation à la lecture de la précision de découpe
-pix_fmt yuv420p demande ce format de pixels. Si un encodeur ne peut pas utiliser le format de pixels demandé, FFmpeg peut émettre un avertissement et sélectionner un autre format pris en charge ; examinez la sortie réelle, comme l’explique la référence de l’option de format de pixels. Les options audio -c:a aac -b:a 160k demandent un encodage AAC avec le débit indiqué. Ce sont des choix de diffusion, pas des instructions garantissant la préservation de toutes les propriétés de la source.
Cette procédure ne garantit pas une conversion tonale HDR correcte ni la conservation d’une profondeur de couleur élevée. La gestion de la rotation et la préservation de l’audio multicanal nécessitent également leurs propres vérifications. Comparez la qualité visible et la taille du fichier sur vos médias, et notez les ressources nécessaires au traitement si cela compte dans votre processus. Ces exemples ne reposent sur aucun test de performance.
Pour MP4, +faststart déplace les métadonnées d’index au début du fichier pour permettre une lecture progressive. La documentation du multiplexeur MOV/MP4 décrit cette passe supplémentaire. Elle n’améliore ni la précision de découpe ni la qualité de l’encodage. Ouvrez le MP4 H.264/AAC dans sa destination prévue avant de l’accepter.
Effectuer le contrôle d’acceptation de l’extrait avant de le partager
Limites : vérifier ce qui est visible et audible
Le contrôle d’acceptation de l’extrait Optijara est la liste de vérification éditoriale originale de ce guide, organisée autour de quatre axes : source, limites, flux et destination. Il ne s’agit ni d’une norme du secteur ni d’une méthodologie Optijara testée. Utilisez-le pour décider si la sortie répond à la demande.
Confirmez que vous avez utilisé la copie de travail autorisée. Lisez ou décodez le début et la fin, en vérifiant les images visibles ainsi que les points de début et d’arrêt de l’audio. Si des contenus sensibles doivent être exclus, examinez l’intégralité du fichier livré. Un aperçu autour de l’horodatage demandé ne permet pas de trancher cette question.
Le ticket 1216 de LosslessCut traite du positionnement, des images et de la cohérence des horodatages. Ces signalements justifient l’inspection de votre propre sortie. Ils ne démontrent pas l’existence d’un bogue FFmpeg actuel et universel, et ne fournissent pas de résultats de test pour ce guide.
Flux et diffusion : conserver des preuves issues du fichier réel
Inspectez la sortie que vous avez créée :
ffprobe -v error -show_format -show_streams -of json 'demo-copy.mkv'
ffprobe -v error -show_format -show_streams -of json 'demo-encoded.mp4'Exécutez uniquement l’inspection correspondant au fichier réellement créé. L’absence d’un encodeur, d’un flux requis ou d’un multiplexeur utilisable laisse cette méthode non résolue ; elle ne permet pas de la considérer comme testée avec succès. Conservez les observations qui étayent votre décision :
| Contrôle | Action à effectuer | Éléments à conserver |
|---|---|---|
| Source | Confirmer l’autorisation et la préservation de l’original | Identifiant de la source et note sur la copie de travail |
| Limites | Regarder et écouter les deux extrémités ; examiner tout le contenu si nécessaire | Intervalle demandé et notes sur le contenu observé |
| Flux | Comparer l’inventaire ffprobe aux pistes requises | Rapport réel sur les codecs, les pistes et la durée |
| Destination | Ouvrir le fichier final dans le logiciel de montage ou le lecteur prévu | Notes sur la lecture, la synchronisation, la qualité visible et la taille |
La durée du conteneur ne suffit pas à prouver que la première ou la dernière image correspond à celle souhaitée, ni que l’audio et la vidéo sont synchronisés. Laissez ouverts les contrôles non effectués et ceux qui ont échoué.
Si la copie de flux ne respecte pas les limites requises, essayez la méthode avec encodage et répétez les vérifications. Des pistes manquantes nécessitent de revoir la sélection des flux et la prise en charge du multiplexeur. Un échec de lecture nécessite de vérifier les exigences de la destination en matière de codecs et vos encodeurs disponibles ; renommer le fichier ne suffit pas.
Cet enregistrement décrit la liste de vérification. Il ne contient aucun résultat de mesure :
{"framework":"clip-acceptance-check","layers":["source","boundary","streams","destination"],"requiredChecks":["authorization","content-boundaries","tracks","playback"],"executionStatus":"illustrative_not_executed","acceptanceStatus":"unassessed"}Les erreurs des équipes lorsqu’elles copient des commandes FFmpeg
Modifier les options sans vérifier l’opération
L’emplacement des options change leur sens. Avant de déplacer -ss, vérifiez si vous souhaitez une opération sur l’entrée ou sur la sortie. De même, -t désigne une durée et -to une position d’arrêt. Le manuel indique que ces options sont mutuellement exclusives, avec priorité à -t. Choisissez-en une seule.
La sélection automatique des flux ne garantit pas l’inclusion de toutes les pistes requises. Tout sélectionner avec -map 0 ne garantit pas non plus que le multiplexeur puisse tout accepter. Les exemples présentés ici ne sélectionnent pas les flux de sous-titres distincts. La conservation ou l’exclusion des sous-titres intégrés à la vidéo sélectionnée demande une vérification séparée ; la référence de libx264 documente l’importation des sous-titres codés pris en charge. Si les sous-titres sont importants, prévoyez leur conservation ou leur livraison séparée, puis vérifiez leur synchronisation après le montage. Le guide Remotion sur la synchronisation des sous-titres et leur exportation aborde la distinction connexe entre les repères temporels des sous-titres et la sortie finale.
Considérer une fin d’exécution réussie comme une validation éditoriale
Une fin d’exécution réussie indique que le processus s’est terminé. Quelqu’un doit encore valider le contenu. Évitez de considérer -copyts, -avoid_negative_ts, des décalages ou une solution de contournement trouvée dans un ticket comme des corrections universelles de limites incorrectes.
Des tutoriels anciens, comme le guide de découpe d’OTTVerse, offrent des exemples de commandes utiles. Avant d’adopter une procédure, ajoutez les exigences relatives aux flux et les contrôles d’acceptation de votre enregistrement. Une affirmation de précision faite ailleurs ne remplace pas le visionnage de votre extrait.
Connaître les limites de cette procédure de découpe
Le HDR, les métadonnées et les médias complexes nécessitent un plan distinct
Les versions installées et les horodatages des sources peuvent différer, tout comme les multiplexeurs et les lecteurs de destination. Traitez la conversion HDR et la gestion des couleurs comme des travaux distincts. Il en va de même pour la rotation, l’audio multicanal, les langues supplémentaires, la conservation des sous-titres, les médias endommagés et les entrées réseau. Chaque cas nécessite des exigences explicites et une validation propre à la source.
Ne supposez pas qu’un remultiplexage ou un export préserve toutes les métadonnées ou les attestations de provenance intégrées. Pour les contenus créés avec l’aide de l’IA, le guide de préparation à la vérification de provenance des contenus explique pourquoi il faut vérifier les preuves après les transformations.
L’autorisation de découper localement ne règle pas la question d’une mise en ligne ultérieure. Avant d’ajouter un traitement hébergé ou une adaptation à des campagnes avec l’aide de l’IA, définissez qui peut accéder à l’enregistrement et qui valide sa réutilisation publique. Le guide des processus de contenu respectueux de la marque traite de cette limite de validation.
Aucune conversion de média, mise en ligne ni vérification de lecture n’a été effectuée pour cet article. Lorsque vous adaptez les exemples, distinguez les contrôles proposés des observations consignées. Les preuves commencent avec le fichier réel.
Points clés
- 1La copie de flux évite une génération d’encodage supplémentaire, mais ne garantit pas la limite visible demandée.
- 2Sélectionnez explicitement les flux et la durée de sortie, et documentez les pistes que la procédure omet volontairement.
- 3Le positionnement dans l’entrée se comporte différemment lors de la copie de flux et du transcodage avec positionnement précis activé par défaut.
- 4Les paramètres d’encodage H.264/AAC sont des choix de diffusion qui impliquent des compromis de qualité et de traitement, pas des garanties de compatibilité universelle.
- 5Appliquez le contrôle d’acceptation de l’extrait : source, limites, flux, destination.
- 6Les métadonnées de ffprobe et une fin d’exécution réussie ne remplacent pas le visionnage, l’écoute et les contrôles de lecture dans la destination prévue.
Conclusion
Choisissez la méthode de découpe selon le contenu nécessaire de l’extrait livré. La copie de flux peut convenir à un extrait approximatif ; le réencodage offre des réglages différents et nécessite lui aussi une vérification. Préservez la source et sélectionnez les pistes explicitement. Effectuez ensuite le contrôle d’acceptation de l’extrait sur la sortie réelle, y compris sa lecture dans la destination prévue. Définissez des exigences distinctes pour les traitements complexes de couleur et les pistes supplémentaires, et réglez les questions d’autorisation avant d’ajouter un traitement hébergé. Si la découpe s’intègre à un processus plus large de création de contenu avec l’aide de l’IA, Optijara peut aider à définir les exigences de vérification et d’intégration.
Questions fréquentes
Comment découper une vidéo avec FFmpeg sans la réencoder ?
Utilisez l’exemple complet de copie de flux avec un positionnement dans l’entrée, une durée de sortie, des flux sélectionnés et un nouveau nom de fichier. L’option -c copy évite le réencodage de ces flux, mais ne dispense pas de vérifier les limites ni la lecture. L’exemple est fourni à titre d’illustration et n’a pas été exécuté.
Pourquoi un extrait créé par copie de flux avec FFmpeg commence-t-il avant le moment demandé ?
Le positionnement dans l’entrée atteint généralement un point de positionnement antérieur. La copie de flux conserve le segment supplémentaire avant la position demandée ; le positionnement précis activé par défaut lors du transcodage le décode puis le supprime. Vérifiez la lecture réelle, car les sources et les lecteurs diffèrent.
Faut-il utiliser -t ou -to pour découper un extrait ?
Cette procédure utilise -t après l’entrée pour préciser la durée de sortie. L’option -to indique à la place une position d’arrêt. Ne les combinez pas : FFmpeg les documente comme mutuellement exclusives, avec priorité à -t.
Que signifie -map '0:a:0?' ?
Cette option sélectionne le premier flux audio de l’entrée zéro, s’il est présent. Le point d’interrogation rend cette sélection de flux facultative, et non l’entrée elle-même ; les guillemets le transmettent littéralement. Elle ne sélectionne pas les autres langues ni les flux de sous-titres distincts. Si l’audio est requis, une sortie sans audio ne satisfait pas aux critères d’acceptation.
Le réencodage ou ffprobe peuvent-ils prouver que l’extrait souhaité est prêt à être partagé ?
Non. Le réencodage et l’inspection des métadonnées ne valident ni le contenu visible, ni la synchronisation audio, ni la lecture dans la destination prévue. Examinez la sortie réelle, y compris l’intégralité de l’extrait livré lorsque l’exclusion de contenus sensibles est importante. La durée du conteneur ne prouve pas à elle seule que les limites correspondent à celles souhaitées.
Sources
- https://ffmpeg.org/ffmpeg.html
- https://ffmpeg.org/ffprobe.html
- https://ffmpeg.org/ffmpeg-formats.html
- https://ffmpeg.org/ffmpeg-codecs.html
- https://ffmpeg.org/ffmpeg-utils.html
- https://ottverse.com/trim-cut-video-using-start-endtime-reencoding-ffmpeg/
- https://github.com/mifi/lossless-cut/issues/1216
- https://www.optijara.ai/fr/blog/remotion-captions-srt-word-timing-export-guide
- https://www.optijara.ai/fr/blog/ai-provenance-watermarking-readiness-c2pa-synthid-2026
- https://www.optijara.ai/fr/blog/ai-marketing-operating-system-brand-safe-generative-ai-workflows-2026
Rédigé par
Hamza DiazHamza Diaz est le fondateur d’Optijara, où il conçoit des agents IA pratiques, des systèmes d’automatisation et des workflows Copilot pour les entreprises de services. Il écrit sur les opérations IA, la stratégie d’agents et la mise en œuvre concrète pour les équipes qui veulent des systèmes utiles plutôt que du battage médiatique.
