#1 Le 19/11/2024, à 11:02
- Crestey
[Résolu] Script pour convertir lot de fichiers TS
Bonjour,
J'ai transféré mes photos et vidéos de mon compte google photo avec TakeOut.
Un partie des Vidéos est en format TS. Il sont de la forme PXL_20241005_120628078.TS.mp4 et sont alors illisibles avec VLC ou Parole.
Je peux les convertir en format mp4 avec la ligne de commande ffmpeg -i in.TS.mp4 -c:v libx264 -c:a copy out.mp4
Je voudrais appliquer cette ligne de commande à tous les fichiers TS (contenant la chaîne de caractère "TS").
Et les renommer de toto.TS.mp4 en toto.mp4
Je ne suis pas très fort en script. Pourriez-vous me guider un peu.
Amicalement Dominique
Dernière modification par Crestey (Le 19/11/2024, à 13:02)
Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.
Hors ligne
#2 Le 19/11/2024, à 11:11
- O_20_100_O
Re : [Résolu] Script pour convertir lot de fichiers TS
Pourriez-vous me guider un peu.
Une façon de commencer serait de décomposer ce que tu veux faire en étapes élémentaires et de l'écrire en français.
Tu fais comme si l'ordinateur pouvait te comprendre et tu lui expliques point par point ce qu'il doit faire.
Hors ligne
#3 Le 19/11/2024, à 11:38
- Crestey
Re : [Résolu] Script pour convertir lot de fichiers TS
Merci O_20_100_O,
Ce que je souhaite peut se traduire comme suit :
Pour tous les fichiers contenus dans /home/crestey/vidéos qui sont de la forme XXX.TS.mp4
exécuter la commande ffmpeg -i XXX.TS.mp4 -c:v libx264 -c:a copy XXX.mp4 et ensuite effacer XXX.TS.mp4
Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.
Hors ligne
#4 Le 19/11/2024, à 11:39
- geole
Re : [Résolu] Script pour convertir lot de fichiers TS
Bonjour
Dans avidemux, tu trouveras un script de traitement de masse que tu devras adapter pour mettre ta commande.
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
Hors ligne
#5 Le 19/11/2024, à 11:42
- Crestey
Re : [Résolu] Script pour convertir lot de fichiers TS
Merci geole, je pense que ça va en effet faire l'affaire. Je reviens mettre ici la commande que j'aurai pu établir. Amicalement Dominique
Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.
Hors ligne
#6 Le 19/11/2024, à 11:58
- Tawal
Re : [Résolu] Script pour convertir lot de fichiers TS
Hello,
Voici un script bash qui correspond à ta demande :
#!/bin/bash
rep="/chemin/du/répertoire/fichiers/TS"
for f in "$rep"/*.TS.mp4
do
out="${f//.TS/}"
ffmpeg -i "$f" -c:v libx264 -c:a copy "$out"
# rm "$f" # Ligne à dé-commenter pour effacer les anciens fichiers TS - Essaie d'abord sans effacer
done
Edit:
Plus simple.
Dernière modification par Tawal (Le 19/11/2024, à 12:02)
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
#7 Le 19/11/2024, à 12:02
- nany
Re : [Résolu] Script pour convertir lot de fichiers TS
Bonjour,
Pour tous les fichiers contenus dans /home/crestey/vidéos qui sont de la forme XXX.TS.mp4
exécuter la commande ffmpeg -i XXX.TS.mp4 -c:v libx264 -c:a copy XXX.mp4 et ensuite effacer XXX.TS.mp4
Traduction en shell :
for file in /home/crestey/vidéos/*.TS.mp4 ; do ffmpeg -i "$file" -c:v libx264 -c:a copy "${file/.TS/}" && rm -v "$file" ; done
En ligne
#8 Le 19/11/2024, à 12:13
- kamaris
Re : [Résolu] Script pour convertir lot de fichiers TS
Un partie des Vidéos est en format TS. Il sont de la forme PXL_20241005_120628078.TS.mp4 et sont alors illisibles avec VLC ou Parole.
C'est étonnant, il te manquerait pas juste un codec pour pouvoir les lire ? VLC au moins devrait y arriver.
Hors ligne
#9 Le 19/11/2024, à 13:01
- Crestey
Re : [Résolu] Script pour convertir lot de fichiers TS
@tawal
j'ai essayé tes 2 scripts mais j'ai eu les 2 messages d'erreurs suivant
crestey@crestey-Pegatron:~/TS$ sh TS
TS: 7: [[: not found
TS: 7: [[: not found
TS: 7: [[: not found
TS: 7: [[: not found
TS: 7: [[: not found
crestey@crestey-Pegatron:~/TS$ sh TS
TS: 7: Bad substitution
crestey@crestey-Pegatron:~/TS$
@nany ça marche impeccable !
@kamaris en demandant à chatGPT la réponse est
VLC est un lecteur multimédia très polyvalent qui prend en charge une grande variété de formats audio et vidéo.
Il intègre des codecs nécessaires pour lire les fichiers TS, sans avoir besoin de codecs externes.
Mais chez moi ça ne marche pas. Donc je ne comprends pas. Je suis preneur si tu as une idée.
@geole avant d'avoir reçu toutes ces réponses, j'ai fait des essais, mais qui n'ont pas marché car je suis assez nul en script. J'y serais arrivé mais ça m'aurait pris pas mal de temps
Merci à tous
Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.
Hors ligne
#10 Le 02/12/2024, à 00:07
- Crestey
Re : [Résolu] Script pour convertir lot de fichiers TS
Bonsoir,
Je complète ce fil avec la ligne de commande qui étend ce traitement à tous les fichiers *.TS.mp4 d'un répertoire donné (ici /home/crestey/vidéo), et de tous ses sous-répertoires.
find /home/crestey/vidéo -name "*.TS.mp4" | while read file ; do ffmpeg -i "$file" -c:v libx264 -c:a copy "${file/.TS/}" && rm -v "$file" ; done
Amicalement Dominique
Dernière modification par Crestey (Le 02/12/2024, à 00:09)
Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.
Hors ligne
#11 Le 02/12/2024, à 00:22
- Watael
Re : [Résolu] Script pour convertir lot de fichiers TS
non, non.
find ... -print0 | while read -d '' file; do ... ; done
par précaution.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#12 Le 02/12/2024, à 05:21
- nany
Re : [Résolu] Script pour convertir lot de fichiers TS
Bonjour,
Et pourquoi pas utiliser l’action -exec de find ?
En ligne
#13 Le 02/12/2024, à 09:50
- Crestey
Re : [Résolu] Script pour convertir lot de fichiers TS
Bonjour,
@Watael Merci pour le conseil. Mais malheureusement, je suis tellement nul en script que je ne comprends pas du tout ce conseil. Tu peux essayer de m'expliquer, mais la difficulté sera de te mettre au niveau du profane que je suis
@nany C'est un peu pareil. "Pourquoi pas ?" Et bien, je suis tellement nul que j'en sais rien . Mais je reste preneur de tes suggestions aussi car toujours prêt à apprendre.
Amicalement Dominique
Dernière modification par Crestey (Le 02/12/2024, à 09:51)
Merci à tous.
Sous Ubuntu/XFCE depuis 2013. Ça fonctionne vraiment très bien.
Hors ligne
#14 Le 02/12/2024, à 10:54
- Watael
Re : [Résolu] Script pour convertir lot de fichiers TS
les noms de fichiers peuvent contenir tous les caractères (même des retours chariot \n et \r) sauf / et \0 (NULL).
cela fait que le nom de fichier mon\nnom\nde\nfichier' sera lu par une boucle while (parce que cette commande lit des lignes) :
mon
nom
de
fichier
en terminant chaque nom de fichier par un caractère NULL (\0) avec -print0, on peut indiquer un caractère de délimitation (-d) sûr à read.
@nany: bien sûr, -exec, si les commandes sont simples.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne