IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Encodage en masse


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Par défaut Encodage en masse
    Bonjour à tous,

    J'ai environ 150 videos en mp4 que je souhaiterais encoder sans devoir a chaque retaper la ligne de commande ffmpeg.
    Je suis donc en train de créer un script qui me permet de faire ceci. Voici mon début de code:

    find -name *.mp4 | while read src
    do

    srcfile=`basename "$src"`
    srcfolder=`dirname "$src"`
    dstfile="$srcfolder"/"${srcfile%}".mpeg4

    ffmpeg -i "$srcfile" -target pal-dvd -sameq "$dstfile"


    done
    Cependant il ne marche pas car d'une part je n"arrive pas à lister les fichiers présents dans mon dossier et d'autre par à envoyer le fichier n°1 dans la boucle ffmpef puis le fichier n°2 .....

  2. #2
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    Voici quelque chose pour Bash:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/bash
     
    while read srcPath
    do
      ffmpeg -i "$srcPath" -target pal-dvd -sameq "${srcPath/%.*/.mpeg4}"
    done < $(find . -name "*.mp4")
    Je n'ai rien à convertir, donc c'est de tête et bien sûr à vérifier.

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Il est étonnant que find ne permette pas ça... man find
    -exec
    -execdir
    ...
    ?

    jmelyn :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    find . -name "*.mp4" | while read srcPath
    do
      ffmpeg -i "$srcPath" -target pal-dvd -sameq "${srcPath/%.*/.mpeg4}"
    done
    semble plus explicite : on cherche/trouve, puis on intervient sur les lignes...
    Y a-t-il un time pour me contredire, ou est-ce égal ?

    Bref, j'en reviens à ma marotte : find devrait pouvoir le faire sans utiliser de boucle...

    find|while
    ou
    for item in $(find)
    => find -exec(dir)
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    Bonjour N_BaH,

    Je préfère écrire la boucle "while read" avec le find à la fin, je les écris toujours de cette manière. Mais c'est une question de cosmétique. Pour tout mettre dans un find, c'est peut-être possible puisque qu'il n'y a qu'une seule commande, mais le triturage de l'argument $srcPath en ${srcPath/%.*/.mpeg4} n'est pas évident dans les paramètres puisque l'on a juste {}:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find . -name "*.mp4" -exec ffmpeg -i {} -target pal-dvd -sameq ??? \;
    Mais si quelqu'un a une solution, j'y porterai grande attention: je crois qu'effectivement la vitesse d'exécution serait bien meilleure.

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Bonjour,

    Bonjour jmelyn,

    bah !?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find . -name "*.mp4" -exec ffmpeg -i {} -target pal-dvd -sameq {} \;
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre émérite Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Par défaut
    bah !? bah !? bah !? (*)

    (*) Fichier source écrasé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Encodage de caracteres: eviter 81, 8D, 8F, 90, 9D ->
    Par Fladnag dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 27/04/2004, 11h17
  2. Encodage de cd en fichier mp3
    Par clovis dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 08/04/2004, 01h13
  3. [ENCODAGE][JAVA]Afficher correctement des accents
    Par kornelius dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 17/02/2004, 16h37
  4. Encodages DOS et Windows
    Par Aramis dans le forum Langage
    Réponses: 5
    Dernier message: 09/11/2003, 17h55
  5. [VB6] fonction d' encodage URL en VB
    Par jeanseb dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/01/2003, 11h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo