ubuntuusers.de

ffmpeg .flv to .mpeg4

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

roydebatzen

Anmeldungsdatum:
17. Januar 2010

Beiträge: 93

So halló,

kurze Frage hoffentlich kurze Antwort also,

ich wollte ffmpeg nutzen um eine .flv in eine .mpeg4 datei zu konvetieren.

also habe ich im Terminal :

ffmpeg -i datei.flv test.mpeg4 eingegeben danach erkannte ich das mpeg4 auch mp4 ist und gab ein

ffmpeg -i datei.flv test.mp4 beides hat nicht funktioniert hab ich irgendwelche codecs vergessen?

Danke cu

scrawl

Anmeldungsdatum:
12. Dezember 2007

Beiträge: 1779

hab ich irgendwelche codecs vergessen?

Vermutlich. Installier mal die zusätzlichen ffmpeg-Codecs http://wiki.ubuntuusers.de/ffmpeg#Installation-der-zusaetzlichen-Codecs-aus-den-Ubuntuquellen-ab-Ubuntu-8-10

xrolly

Avatar von xrolly

Anmeldungsdatum:
26. September 2007

Beiträge: 4322

Wohnort: NRW; 51° 39′ N, 7° 21′ O

.. das Script:

  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
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
# Author: TuTUX
# This script converts FLV/RM/MPEG/... to AVI/MP4 files.
# Dependency: ffmpeg, mencoder, gstreamer...
# ToDo: you tell me.
# Distributed under the terms of GNU GPL version 2 or later
#
# You need to be running Nautilus 1.0.3+ to use scripts.
#
#!/bin/bash

newname="New file name"
title="video convert (flv/avi/mpeg/rm to avi/mpeg-4)"
titlewh="Resolution of input video"
Wide="wide"
High="height"
avi_codec="Choose output codec"
audio_codec="Choose output audio"
bit_rate="Choose the bitrate of video (700 if mp4)"
abit="mp3 bitrate"
audio="audio encode(MPEG-4 will stick to acc)"
wrong="wrong input, skipping"
warning="huh?"
wide=640
high=480
tmp=0
tmp1=0
tmp2=0
bar1=0
bar=0
bar2=0
consw="640"
#encoding functions
iftowide()
{
ffmpeg -i "$1" -target ntsc-dvd  -padtop "$((bar1))" -padbottom "$((bar2))" -s "$wide"x"$high" -aspect 4:3 -b 1152 -padcolor 000000 -acodec copy "`basename "$1"`.mpg"
}
wh()
{
wide=`gdialog --title "$titlewh" --inputbox "$Wide" 200 100 2>&1`
high=`gdialog --title "$titlewh" --inputbox "$High" 200 100 2>&1`
tmp=wide/4
tmp1=tmp*3
tmp2=tmp1-high
if [ $((tmp2%4)) -eq 0 ]; then
bar1=tmp2/2
bar2=bar1
else
bar=tmp2/2
bar1=bar+1
bar2=bar-1
fi
}

DivXmp3_encode()
{
mencoder "$1" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="$get_bitrate":mbd=2:v4mv:autoaspect -vf pp=lb -oac mp3lame -lameopts cbr:br="$get_audio" -o "`basename "$1"`.avi"
}
DivXAC_encode()
{
mencoder "$1" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate="$get_bitrate":mbd=2:v4mv:autoaspect -vf pp=lb -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384 -o  "`basename "$1"`.avi"
}
XviDmp3_encode()
{
mencoder "$1" -ovc xvid -xvidencopts bitrate="$get_bitrate":autoaspect -vf pp=lb -oac mp3lame -lameopts cbr:br="$get_audio" -o "`basename "$1"`.avi"
}
XviDAC_encode()
{
mencoder "$1" -ovc xvid -xvidencopts bitrate="$get_bitrate":autoaspect -vf pp=lb -channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384 -o  "`basename "$1"`.avi"
}
MP4_encode()
{
ffmpeg -i "$1" -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ab 160 -ar 48000 -s 640x480 -aspect 4:3 "`basename "$1"`.mp4"
}
MP4()
{
if file "$1" | grep -q "Macromedia Flash Video"; then
     get_audio="64"
     DivXmp3_encode "$1"
     MP4_encode "$1.avi"
     rm -f "$1.avi"
     elif file "$1" | grep -q "RealMedia file"; then
     get_audio="128"
     DivXmp3_encode "$1"
     MP4_encode "$1.avi"
     rm -f "$1.avi"
      else
      MP4_encode "$1"
      fi 
}
MP4w()
{
if [ "$((wide))" -gt "$consw" ] ; then
    if file "$1" | grep -q "RealMedia file"; then
     get_audio="128"
     DivXmp3_encode "$1"
     iftowide "$1.avi"
     rm -f "$1.avi"
     MP4_encode "$1.avi.mpg"
     rm -f "$1.avi.mpg"
     else
     iftowide "$1"
     MP4_encode "$1.mpg"
    rm -f "$1.mpg"
     fi
else
    if file "$1" | grep -q "Macromedia Flash Video"; then
          get_audio="64"
     DivXmp3_encode "$1"
     MP4W_encode "$1.avi"
     rm -f "$1.avi"
     elif file "$1" | grep -q "RealMedia file"; then
     get_audio="128"
     DivXmp3_encode "$1"
     MP4W_encode "$1.avi"
     rm -f "$1.avi"
      else
      MP4W_encode "$1"
      fi 
fi
}
MP4W_encode()
{
ffmpeg -i "$1" -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ab 160 -ar 48000 -padtop "$((bar1))" -padbottom "$((bar2))" -s "$wide"x"$high" -aspect 4:3 -padcolor 000000 "`basename "$1"`.mp4"
}

#General
get_codec=`zenity --title="$title" --list --radiolist --column="" --column="$avi_codec" FALSE "DivX" TRUE "XviD" FALSE "MPEG-4" FALSE "MPEG-4 from widescreen"`
get_bitrate=`zenity --title="$get_codec" --list --radiolist --column="" --column="$bit_rate" FALSE "2500" FALSE "1800" FALSE "1152" TRUE "700" FALSE "500" `
#todo if mp4 widescreen or not
case "$get_codec" in
DivX)
get_acode=`zenity --title="$audio" --list --radiolist --column="" --column="$audio_codec" FALSE "AC3 5.1" TRUE "mp3lame" `
       case "$get_acode" in
       mp3lame)
       get_audio=`zenity --title="$audio" --list --radiolist --column="" --column="$abit" FALSE "320" FALSE "192" FALSE "160" TRUE "128" FALSE "64" `
       ;;
       esac
;;
XviD)
get_acode=`zenity --title="$audio" --list --radiolist --column="" --column="$audio_codec" FALSE "AC3 5.1" TRUE "mp3lame" `
       case "$get_acode" in
       mp3lame)
       get_audio=`zenity --title="$audio" --list --radiolist --column="" --column="$abit" FALSE "320" FALSE "192" FALSE "160" TRUE "128" FALSE "64" `
       ;;
       esac
;;
"MPEG-4 from widescreen")
wide=`gdialog --title "$titlewh" --inputbox "$Wide" 200 100 2>&1`
high=`gdialog --title "$titlewh" --inputbox "$High" 200 100 2>&1`
tmp=wide/4
tmp1=tmp*3
tmp2=tmp1-high
if [ $((tmp2%4)) -eq 0 ]; then
bar1=tmp2/2
bar2=bar1
else
bar=tmp2/2
bar1=bar+1
bar2=bar-1
fi
#gdialog --title "$((bar1))" --inputbox "$((bar2))" 200 100 2>&1
;;
esac

#General
while [ "$1" ]; do
  case "$get_codec" in        
     MPEG-4)
     MP4 "$1"  
     ;;
     "MPEG-4 from widescreen")
     MP4w "$1"
     ;;
        DivX)
       case "$get_acode" in
       mp3lame)
       DivXmp3_encode "$1"
       ;;
       "AC3 5.1")
       DivXAC_encode "$1"
       ;;
       esac
     ;;
     XviD)
        case "$get_acode" in
        mp3lame)
        XviDmp3_encode "$1"
        ;;
        "AC3 5.1")
        XviDAC_encode "$1"
        ;;
        esac
     ;;
   esac
   shift
done

.. habe ich von hier: avi & mp4 converter
.. und wie du am Anfang des Scripts siehst:

This script converts FLV/RM/MPEG/... to AVI/MP4 files

.. vllt. kannste damit was anfangen 😉

roydebatzen

(Themenstarter)

Anmeldungsdatum:
17. Januar 2010

Beiträge: 93

hokhey, codecs installiert aber immer noch kein mpeg4.

also ich habe zwar ne datei mit mpeg4 format aber beim öffnen kommt "datnstrom enthält keine dateien".

beim knvertieren im terminal kommt zum schluss die aussage:

Unsupported codec for output stream #0.1

???

PLZ need help 😕

roydebatzen

(Themenstarter)

Anmeldungsdatum:
17. Januar 2010

Beiträge: 93

also bei dem skript steht glaube ich in zeile 123 was zu tun ist aber ick seh nich ganz durch!?

eishailiga

Avatar von eishailiga

Anmeldungsdatum:
31. Oktober 2006

Beiträge: 5401

Wohnort: Sauerland

Versuch es doch mal so...

ffmpeg -i "Mein Film.flv" -vcodec mpeg4 -b 1200k  -acodec libfaac -ab 128k "Mein Film.mp4"

Die Bitraten kannst du ja einstellen, je nachdem, wie die Quelle ist...

roydebatzen

(Themenstarter)

Anmeldungsdatum:
17. Januar 2010

Beiträge: 93

mhh naja hab das ganze erstmal eingestellt hab nichtmal mehr .flv to .avi hinbekommen kann also an der datei liegen???!

hab aber voerest ne andere lösung gefunden. (wens interessiert war für mein handy und ich hab nen player installiert)

Ich danke trotzdem höchst höflich

Antworten |