Transcoder AAC en OGG

Mise à jour

Suite au commentaire judicieux de Garion, j'ai modifié mon script en utilisant ffmpeg:

#!/bin/bash

delete_file=true
list_files=true
file_to_convert=""
quality=3
type=m4a

function usage {
    echo "aac2ogg transcodes .m4a files into vorbis files"
    echo "Usage:"
    echo "    aac2ogg [-k] [-h] [-f <file>] [-q <num>] [-t <type>]"
    echo "Options:"
    echo "    -h        Shows this help page"
    echo "    -k        Keep the original files"
    echo "    -f <file> Transcode the specified file only"
    echo "    -q <num>  Transcoding quality (default 3)"
    echo "    -t <type> Type of files to transcode (default m4a)"
}

# Attrappage des options
while getopts "khrf:q:t:" opt
do
    case "$opt" in
        k)  delete_file=false;;
        h)  usage;;
        f)  list_files=false
            file_to_convert=$OPTARG;;
        q)  quality=$OPTARG;;
        t)  list_files=true;
            type=$OPTARG;;
        ?)  echo "Unknown option: $opt";;
    esac
done

if $list_files
then
    for file in *.$type
    do
        echo "Transcoding $file"
        ffmpeg -loglevel panic -i "$file" -vn -sn -acodec libvorbis -aq $quality -ac 2 "${file%.*}.ogg"

        if $delete_file
        then
            rm "$file"
        fi
    done
else
    echo "Transcoding $file_to_convert"
    ffmpeg -i "$file_to_convert" -vn -sn -acodec libvorbis -aq $quality -ac 2 "${file_to_convert%.*}.ogg"

    if $delete_file
    then
        rm "$file_to_convert"
    fi
fi
/// 

!!!Article original

On tombe quelquefois sur des fichiers .m4a, qui ne peuvent être lus directement par nos lecteurs favoris. J'ai donc écrit un petit script bash pour les transcoder en OGG.

Il vous faudra pour cela installer mplayer et vorbis-tools. Dans le cas de debian, exécutez les commandes suivantes:

  1. aptitude install mplayer-nogui vorbis-tools
##########MACRO#1#
  1. !/bin/bash

delete_file=true

if $# -gt 0 then

   if $1 == "-k"
   then
       delete_file=false
   fi

fi

for file in *.m4a do

   echo "Transcoding $file"
   mplayer -really-quiet -ao pcm "$file" -ao pcm:file="convert.wav"
   oggenc -Q -o "${file%m4a}ogg" convert.wav
   if $delete_file
   then
       rm "$file"
   fi

done rm convert.wav ///

Attention, je n'ai testé ce script que pour bash, il ne marchera peut être pas avec d'autres shells.

Pour l'utiliser, rendez vous dans le dossier contenant les fichiers à convertir et lancez le script. Si vous souhaitez garder les fichiers originaux, ajoutez l'option -k.

Pour ceux d'entre vous qui se poseraient la question, je met ce script trivial dans le domaine public.

Vus : 959
Publié par Etenil : 58