flv2mp3

C code posted by Oliver Heins
created at 14 Jul 23:28

Edit | Back
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
#
# flv2mp3.sh -- converts flv and mp4 to mp3.
#
# Copyright (c) 2010 Oliver Heins <heins@sopos.org>
# 
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
# (the "Software"), to deal in the Software without restriction,
# including without limitation the rights to use, copy, modify, merge,
# publish, distribute, sublicense, and/or sell copies of the Software,
# and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
# 
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
# 
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

a=0
b=0
progname="flv2mp3"
workingdir=~/dwhelper
[ -d "$workingdir/mp3" ] || mkdir -p "$workingdir/mp3"
[ -d "$workingdir/flv" ] || mkdir -p "$workingdir/flv"
for i in $workingdir/*; do
    type=$(file -b "$i")
    if [ "$type" = 'Macromedia Flash Video' -o "$type" = 'ISO Media, MPEG v4 system, version 2' ]; then
  b=$(($b+1))
  titel=$(basename "$i")
  titel=${titel%%.flv}
  titel=${titel%%.mp4}
  zenity --info --title="$progname" --text="Rippe $titel" &
  pid=$!
  sleep 1
  mplayer -quiet -osdlevel 3 -ao pcm:file=$workingdir/out.wav "$i"
  exitstatus=$?
  kill $pid
  if [ $exitstatus -eq 0 ]; then
      a=$(($a+1))
      zenity --info --title="$progname" --text="Konvertiere $titel nach Mp3" &
      pid=$!
      lame $workingdir/out.wav "$workingdir/mp3/$titel.mp3"
      mv "$i" $workingdir/flv/
      kill $pid
  else 
      zenity --error --title="$progname" --text="Fehler beim Konvertieren von $titel"
  fi
  rm $workingdir/out.wav
    fi
done
echo "a=$a b=$b"
if [ $b -gt 0 ]; then
    zenity --info --title="$progname" --text="$a von $b Dateien wurden konvertiert."
else
    zenity --error --title="$progname" --text="Es sind keine Dateien zum Konvertieren vorhanden."
fi
2.35 KB in 5 ms with coderay