• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

wmv in mp3

SP

Member
... hab ein riesen problem:

ich hab nen ganzen ordner videos im wmv format und muss die tonspur als mp3 haben - ich hab gelesen dass das u.a. mit mplayer geht

mein problem is dass ich so noch nie mit mplayer gearbeitet hab und durch diese ewig lange manpage einfach nich durchsteige :oops:

wäre für jede hilfe dankbar
 

Gimpel

Guru
was für unsere programmierer hier ;)

hier ist ein script dass alle wma's in einem ordner nach mp3 konvertiert, das wma durch wmv ersetzt... evtl kennt mplayer das -ao auch bei videos...

ungetestet, da ich keinerlei wmv's auf der platte hab ;)

wmv2mp3

Code:
#!/bin/bash
#
# wmv to mp3 (was: wma to mp3)
# a script that MAYBE extracts all audio data from 
# wmv files and converts them to mp3, lol

function wmv2mp3 () {

if [ ! -f "$1" ]; then

  echo "File $1 not found!"

else

  wav=`ls "$1" | sed -e 's/.wmv/.wav/' | tr -d "*"`
  mplayer -ao pcm "${1%%.[Ww][Mm][Vv]}.wav" "$1" &&
  mv audiodump.wav "$wav" && unset wav &&
  lame -h -b 192 "${1%%.[Ww][Mm][Vv]}.wav" "${1%%.[Ww][Mm][Vv]}.mp3" &&
  rm -f "${1%%.[Ww][Mm][Vv]}.wav" ||
  echo "There was a problem with the conversion process!"

fi

}

# convert all wmv files in directory

if [ $# -eq 1 -a -d "$1" ]; then

for file in $1/*.[Ww][Mm][Vv]; do
  wmv2mp3 "$file"
done
exit

fi

# One or more wmv files were given

for file in $*; do

  wmv2mp3 "$file"

done

# Not enough information

if [ $# -lt 1 ]; then

  echo
  echo "Usage:  wmv2mp3 myfile.wmv"
  echo "        wmv2mp3 /directory/containing/wmv/files"
  echo "        wmv2mp3 myfile.wmv myfile2.wmv myfile3.wmv"
  # You have to use quotations for the arguement below.
  # Failure to do so will result in only one file being
  # converted. Namely, the first one it comes across...
  echo '        wmv2mp3 "*.wmv"'
  echo
  echo "For converting .wmv's that have spaces in the"
  echo 'name, use the directory option OR "*.wmv"'
  echo
  exit

fi

exit
 
OP
S

SP

Member
danke das skript funktioniert wunderbar :D

kannst du mir die zeile
mplayer -ao pcm "${1%%.[Ww][Mm][Vv]}.wav" "$1"

ma genauer erklären? wozu zwei pfad- bzw dateiangaben?

und könnte man zusätzlich mit ner option --novideo die videoanzeige unterbinden?
 

Gimpel

Guru
das funktioniert? *staun*

also ich habs nicht geschrieben, hab ich irgendwo mal im i-net aufgegabelt...

warum $AUTHOR da groß- und kleinschreibung angibt.. kA ..hier arbeitet er nur mit kleinen:
Code:
wav=`ls "$1" | sed -e 's/.wmv/.wav/' | tr -d "*"`

*grübel* ..oder ist sed das wurscht?

und wenn mplayer die -novideo kennt, dann schreibs in die zeile mit rein, sollte kein prob sein
Code:
mplayer -novideo -ao pcm "${1%%.[Ww][Mm][Vv]}.wav" "$1" &&
 

Gimpel

Guru
achso.. keine ahnung - übersteigt zugegebenerweise meine bash kenntnisse - egal, hauptsache funktioniert ;)
 
Oben