Comment supprimer toutes les métadonnées de tous les formats via FFmpeg?
Je peux simplement définir des métadonnées spéciales pour chaque format par homme ffmpeg . Une option ou une méthode pour effacer toutes les métadonnées et supprimer les médias de toutes les métadonnées disponibles sur ffmpeg?
-metadata key=value
Set a metadata key/value pair.
For example, for setting the title in the output file:
ffmpeg -i in.avi -metadata title="my title" out.flv
mov
oump4
fichiers, la date de création est un champ entier dans l'en-tête du film et les en-têtes de piste (exprimés en secondes depuis 1904). Bien que vous puissiez le définir sur 0 ou sur une autre valeur fixe, il n'y a aucun moyen de le supprimer tout en conservant un fichiermov
ou validemp4
.-metadata creation_time=2012-12-17T21:30:00
(UTC).-metadata title="Some Value"
. Ou, pour un fichier, quelque chose comme ça pour un fichier MP4:ffmpeg -i "$file" -map_metadata -1 -c copy -metadata title="$file" "${file%%*.mp4}-new.mp4
Ma solution pour supprimer les métadonnées, les chapitres, pour changer l'heure de création et le titre. De cette façon, tout métacontenu doit être différent du fichier d'origine:
la source
REMARQUE: j'ai depuis mis à jour
ffmpeg
(j'avais auparavant la version obsolète deavconv
des référentiels Ubuntu).Maintenant, @ slhck
-map_metadata -1
fonctionne parfaitement.Je recommande la solution de @ slhck car elle est moins typée et à jour. Je laisse ceci ici à toute personne utilisant une version obsolète.
La façon la plus simple de le faire est de définir l'
-map_metadata
utilisation d'un des flux d'entrée, plutôt que d'utiliser des métadonnées globales. 99% du temps, cela devrait fonctionner. REMARQUE: j'utilise avconv, car il se trouve dans les référentiels Ubuntu 12.04; ce sera probablement compatible avec ffmpeg, car leur syntaxe est toujours dans mon expérience.Cela prendra les métadonnées du premier flux de données (normalement le flux vidéo) et les utilisera pour remplacer les métadonnées globales du fichier conteneur. Cela fonctionne car la plupart du temps, les flux de données ne contiennent aucune métadonnée significative; cependant, ils le font parfois, et vous voulez vous débarrasser complètement de ces métadonnées. Malheureusement, la seule façon de penser à cela est d'utiliser un tuyau et deux processus avconv.
Cela profite du fait que les fichiers WAV ne peuvent pas contenir de métadonnées (puisque le format a été créé avant que les balises de métadonnées n'existent).
Ces deux méthodes ont effacé toutes les métadonnées d'un fichier sur lequel je viens de les tester - tout ce qui a
exiftool
été rapporté était les informations du codec, et avprobe ne m'a signalé aucune métadonnée. L'utilisation d'un tuyau pour cela est assez moche, et la première méthode fonctionnera dans 99% des cas, donc cela devrait être préféré.la source