Lister et récupérer la durée de médias

Pour faciliter la facturation de transcodages j’ai besoin d’extraire la liste des fichiers traités ainsi que la durée des fichiers.

Le tout doit être inscrit dans un fichier compatible .csv pour la comptabilité.

Après avoir trouvé un .bat sur StackOverflow.com qui affiche la durée en seconde, je l’ai adapté pour l’afficher en minutes et ajouter les marqueurs “;” nécessaires au CSV :

@echo off
>liste.csv (
    for %%F in (*.mpg *.mp4 *.mkv *.avi *.m4a *.mxf *.mov *.ts) do (
        for /f "tokens=2-5 delims=:., " %%a in (
            'ffmpeg -i "%%F" 2^>^&1 ^| find "Duration:"'
        ) do (
            set /p =%%~nxF^;<nul
            setlocal enableDelayedExpansion
            set /a "duration=1%%a*60 + 1%%b - 6100"
            echo !duration!:%%c
            endlocal
        )
    )
)
pause

Le fichier .bat est à executer dans le repertoire où ce situe les médias à lister.

identicon

CrazyPanda

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *