FFmpeg Audio/Video konvertieren

rambo

Mitglied
Hallo,

ich benutze für einen Upload-Service FFmpeg, damit man Audio oder Video auch als andere Dateitypen downloaden kann. Leider funktioniert das nicht so auf anhieb. Anscheindend brauche ich irgendwelche Codecs.

Also:

Code:
ffmpeg -i source.flv -vcode VIDEOCODEC -acodec AUDIOCODEC destinationfile.avi

Code:
homeserver:~# ffmpeg -i test.flv -sameq  test1.wmv
FFmpeg version r11872+debian_0.svn20080206-18+lenny1, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-libfaad --enable-pp --enable-swscaler --enable-x11grab --prefix=/usr --enable-libgsm --enable-libtheora --enable-libvorbis --enable-pthreads --disable-strip --enable-libdc1394 --disable-armv5te --disable-armv6 --disable-altivec --disable-vis --enable-shared --disable-static
  libavutil version: 49.6.0
  libavcodec version: 51.50.0
  libavformat version: 52.7.0
  libavdevice version: 52.0.0
  built on Jan 28 2010 20:57:25, gcc: 4.3.2

Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001)
Input #0, flv, from 'test.flv':
  Duration: 00:00:11.8, start: 0.000000, bitrate: N/A
    Stream #0.0: Video: flv, yuv420p, 320x240 [PAR 0:1 DAR 0:1], 29.97 tb(r)
Output #0, asf, to 'test1.wmv':
    Stream #0.0: Video: 0x0000, yuv420p, 320x240 [PAR 0:1 DAR 0:1], q=2-31, 200 kb/s, 29.97 tb(c)
Stream mapping:
  Stream #0.0 -> #0.0
Unsupported codec for output stream #0.0

Ich habe nur keine Ahnung, wie diese Codecs heißen. Ich habe schon vergeblich bei Google versuch sie zu finden.


Edit:
Mein System ist:
Debian Lenny

Ich habe FFmpeg mit "apt-get install ffmpeg" installiert.

Gruß
Max
 
Zuletzt bearbeitet:
Hallo!

Code:
ffmpeg -i source.flv -vcode VIDEOCODEC -acodec AUDIOCODEC destinationfile.avi
Es heisst -vcodec. ;)

Code:
homeserver:~# ffmpeg -i test.flv -sameq  test1.wmv
Für *.wmv gibt es wmv1 und wmv2 (zumindest bei mir --> wmv3 ist bei mir nur ein Decoder).
Welche Codecs Dir zur Verfügung stehen verrät Dir "ffmpeg -formats" im Abschnitt "Codecs".
Wichtig ist dass an der zweiten Stelle der jeweiligen Zeile ein "E" (Encoder) steht (wichitg für das Zielformat).
Die dritte Stelle verrät Dir ob es ein Audiocodec (A) oder Videocodec (V) ist.
Die erste Stelle verrät Dir ob es auch einen Decoder (D) gibt (wichtig für das Quellformat).
Nach der vierten bis sechsten Stelle darfst Du mich nicht fragen (so sehr habe ich mich mit ffmpeg auch noch nicht befasst ;)).

Gruss Dr Dau
 
Hi, danke für die Antwort.

Folgendes habe ich ausprobiert:
Code:
ffmpeg -i flashfile.flv -vcodec wmv2 -acodec wma2 test1.wmv

Das funktionier wunderbar. Nur weiß ich jetzt nicht welches Audiocodec ich für welches Videocodec brauche. Und ich kann nirgends ein Codec für AVI finden, da die Codecs anscheinend nicht immer genauso heißen, wie der Dateityp.

MfG
Max
 
Hi.
Nur weiß ich jetzt nicht welches Audiocodec ich für welches Videocodec brauche. Und ich kann nirgends ein Codec für AVI finden, da die Codecs anscheinend nicht immer genauso heißen, wie der Dateityp.
AVI ist (genau wie auch WMV oder MKV) ein Kontainerformat.

D.h. darin können sich ein oder mehrere Audio bzw. Videostreams befinden, die dann ein bestimmtes Format haben (also kodiert sind).

Du mußt also für die Zieldatei nur eine bestimmte Kodierung wählen, z.B. mp3 als Audio und xvid also Videocodec. Oder du kopierst einfach nur die Stream vom .flv ins avi ohne zu transkodieren.

Gruß
 
Bei:
Code:
ffmpeg -i flashfile.flv -vcodec xvid -acodec mp3 test1.avi

Kommt:
Code:
Stream #0.0: Video: flv, yuv420p, 320x240 [PAR 0:1 DAR 0:1], 29.97 tb(r)
Unknown encoder 'xvid'

Nun dachte ich mir, dass ich mal xvid installiere, das habe ich dann auch... Es funktiniert aber komischerweise immer noch nicht. Muss man das xvid vielleicht irgendwie in FFmpeg "einbinden"?
 
Ich kenne diesen Befehl ;)

Ähhmm, ich wollte eigentlich nur wissen, wie man das in FFmpeg "einbaut"....
 
indem du aus der Liste die entsprechende Zeile für xvid raussuchst und bei VIDEOCODEC einsetzt .. das gleiche für den Audiocodec.
 
Ich kenne diesen Befehl ;)
Dann wende ihn doch auch mal an. ;)

Ähhmm, ich wollte eigentlich nur wissen, wie man das in FFmpeg "einbaut"....
Der Codec ist in FFmpeg schon enthalten..... da brauchst Du also nichts "einbauen" oder extra installieren.

Tipp 1: xvid und mp3 wird in der Codec-Liste nicht exakt so geschrieben, sondern stellt dort nur einen Teil des Codec-Namen dar.
Tipp 2: gehe die Codec-Liste mal von oben nach unten aufmerksam durch..... dann wirst Du über die notwendigen Codecs automatisch stolpern.
Tipp 3: ich habe mir die Ausgabe von "ffmpeg -formats" (Codec-Liste) und "ffmpeg -h" (Hilfeseite) in eine Textdatei umgeleitet (lässt sich dann z.B. wunderbar ausdrucken und neben die Tastatur legen ;)).
 
Hmm, irgendwie steh ich auf dem Schlauch :D

Code:
Codecs:
 D V    4xm
 D V D  8bps
 D V    VMware video
 D V D  aasc
 DEA    ac3
 D A    adpcm_4xm
 DEA    adpcm_adx
 D A    adpcm_ct
 D A    adpcm_ea
 D A    adpcm_ea_r1
 D A    adpcm_ea_r2
 D A    adpcm_ea_r3
 D A    adpcm_ea_xas
 D A    adpcm_ima_amv
 D A    adpcm_ima_dk3
 D A    adpcm_ima_dk4
 D A    adpcm_ima_ea_eacs
 D A    adpcm_ima_ea_sead
 D A    adpcm_ima_qt
 D A    adpcm_ima_smjpeg
 DEA    adpcm_ima_wav
 D A    adpcm_ima_ws
 DEA    adpcm_ms
 D A    adpcm_sbpro_2
 D A    adpcm_sbpro_3
 D A    adpcm_sbpro_4
 DEA    adpcm_swf
 D A    adpcm_thp
 D A    adpcm_xa
 DEA    adpcm_yamaha
 D A    alac
 D V    amv
 D A    ape
 DEV D  asv1
 DEV D  asv2
 D A    atrac 3
 D V D  avs
 D V    bethsoftvid
 DEV    bmp
 D V D  c93
 D V D  camstudio
 D V D  camtasia
 D V D  cavs
 D V D  cinepak
 D V D  cljr
 D A    cook
 D V D  cyuv
 D A    dca
 DEV D  dnxhd
 D A    dsicinaudio
 D V D  dsicinvideo
 DES    dvbsub
 DES    dvdsub
 DEV D  dvvideo
 D V    dxa
 DEV D  ffv1
 DEVSD  ffvhuff
 DEA    flac
 DEV D  flashsv
 D V D  flic
 DEVSD  flv
 D V D  fraps
 DEA    g726
 DEV    gif
 D V D  h261
 D VSDT h263
 D VSD  h263i
 D V DT h264
 DEVSD  huffyuv
 D V D  idcinvideo
 D A    imc
 D V D  indeo2
 D V    indeo3
 D A    interplay_dpcm
 D V D  interplayvideo
 DEV D  jpegls
 D V    kmvc
 D A    libfaad
 DEA    libgsm
 DEA    libgsm_ms
  EV    libtheora
  EA    libvorbis
  EV    ljpeg
 D V D  loco
 D A    mace3
 D A    mace6
 D V D  mdec
 DEV D  mjpeg
 D V D  mjpegb
 D V D  mmvideo
 DEA    mp2
 D A    mp3
 D A    mp3adu
 D A    mp3on4
 D A    mpc sv7
 D A    mpc sv8
 DEVSDT mpeg1video
 D VSDT mpeg2video
 D VSDT mpeg4
 D A    mpeg4aac
 D VSDT mpegvideo
 D VSD  msmpeg4
 D VSD  msmpeg4v1
 D VSD  msmpeg4v2
 D V D  msrle
 D V D  msvideo1
 D V D  mszh
 D A    nellymoser
 D V D  nuv
 DEV    pam
 DEV    pbm
 DEA    pcm_alaw
 DEA    pcm_mulaw
 DEA    pcm_s16be
 DEA    pcm_s16le
 D A    pcm_s16le_planar
 DEA    pcm_s24be
 DEA    pcm_s24daud
 DEA    pcm_s24le
 DEA    pcm_s32be
 DEA    pcm_s32le
 DEA    pcm_s8
 DEA    pcm_u16be
 DEA    pcm_u16le
 DEA    pcm_u24be
 DEA    pcm_u24le
 DEA    pcm_u32be
 DEA    pcm_u32le
 DEA    pcm_u8
 DEA    pcm_zork
 D V    pcx
 DEV    pgm
 DEV    pgmyuv
 DEV    png
 DEV    ppm
 D V    ptx
 D A    qdm2
 D V D  qdraw
 D V D  qpeg
 DEV D  qtrle
 DEV    rawvideo
 D A    real_144
 D A    real_288
 DEA    roq_dpcm
 DEV D  roqvideo
 D V D  rpza
 DEV D  rv10
 DEV D  rv20
 DEV    sgi
 D A    shorten
 D A    smackaud
 D V    smackvid
 D V D  smc
 DEV    snow
 D A    sol_dpcm
 DEA    sonic
  EA    sonicls
 D V D  sp5x
 D V    sunrast
 DEV D  svq1
 D VSD  svq3
 DEV    targa
 D V    theora
 D V D  thp
 D V D  tiertexseqvideo
 DEV    tiff
 D V D  truemotion1
 D V D  truemotion2
 D A    truespeech
 D A    tta
 D V    txd
 D V D  ultimotion
 D V    vb
 D V    vc1
 D V D  vcr1
 D A    vmdaudio
 D V D  vmdvideo
 DEA    vorbis
 D V    vp3
 D V D  vp5
 D V D  vp6
 D V D  vp6a
 D V D  vp6f
 D V D  vqavideo
 D A    wavpack
 DEA    wmav1
 DEA    wmav2
 DEVSD  wmv1
 DEVSD  wmv2
 D V    wmv3
 D V D  wnv1
 D A    ws_snd1
 D A    xan_dpcm
 D V D  xan_wc3
 D V D  xl
 D S    xsub
 DEV D  zlib
 DEV    zmbv

Strg+F "xvid" -> Keine Treffer, also kann es nicht in einem Codecnamen enthalten sein. Aber "mp3" ist direkt enthalten.
 
Zurück