ffmpeg xvid codec

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
gladiator
Beiträge: 34
Registriert: 23.10.2007 12:59:32

ffmpeg xvid codec

Beitrag von gladiator » 29.01.2008 18:54:39

hi,
ich habe hir im forum gesucht und bin über diese möglichkeit videos von xvid in mp4 zu transkodieren, dass mein iPod sie abspielen kann gestolpert.

Code: Alles auswählen

ffmpeg -vcodec xvid -b 300 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ab 96 -i titel.avi -s 320*2 40 -aspect 16:9 -maxrate 450 titel.mp4
leider weiß ich nicht welche library benötige, damit ffmpeg xvid verstehen kann. weiß das jemand?

Benutzeravatar
hitch
Beiträge: 856
Registriert: 21.12.2001 23:38:24
Wohnort: Im Exil

Beitrag von hitch » 29.01.2008 20:31:50

hallo

wenn du das fertigen Paket von debian-multimedia.org benutzt, sollte es mit libxvid Support kompiliert sein.
Übrigens die Option '-vcodec' gibt den Codec an, in den gewandelt werden soll, der Inputcodec wird automatisch erkannt.
Falls das deine Probleme nicht lösen sollte, bitte ne Fehlermeldung :wink:

gruss
marcus

gladiator
Beiträge: 34
Registriert: 23.10.2007 12:59:32

Beitrag von gladiator » 30.01.2008 18:51:03

sorry aber ich verwende ubuntu weißt du was ich in meine source list eintragen muss damit ich das deb package installiren kann

oBdA
Beiträge: 46
Registriert: 21.03.2007 08:20:42

Beitrag von oBdA » 30.01.2008 19:29:50

Hallo,

was Du bei Ubuntu in die sources.list eintragen muszt kann ich Dir leider nicht sagen, aber ich denke eine beliebige Suchmaschine sollte Dir da weiterhelfen.

ABER: Soweit ich weisz musz man ffmpeg mitteilen was fuer ein Containerformat benutzt werden soll, das hast Du nicht gemacht. Vermutlich wird aufgrund des xvid-Codecs ein avi-Container genommen, der aber nicht im iPOD funktioniert.

Hier mal ein Beispiel wie ich Videos fuer den iPOD Classic fit mache:

Code: Alles auswählen

ffmpeg -i $infile -f mp4 -vcodec mpeg4 -b 400k -maxrate 768k -bufsize 256k -bf 0 -acodec aac -ab 128k -s 320x240 -pass 1 -threads 2 $outfile_pass1

ffmpeg -i $infile -f mp4 -vcodec mpeg4 -b 400k -maxrate 768k -bufsize 256k -bf 0 -acodec aac -ab 128k -s 320x240 -pass 2 -threads 2 $outfile_pass2
In der ersten Zeile kannst Du das acodec aac -ab 128k weglassen und die Ausgabe nach /dev/null umleiten.

gladiator
Beiträge: 34
Registriert: 23.10.2007 12:59:32

Beitrag von gladiator » 30.01.2008 19:49:32

oBdA hat geschrieben:Hallo,

was Du bei Ubuntu in die sources.list eintragen muszt kann ich Dir leider nicht sagen, aber ich denke eine beliebige Suchmaschine sollte Dir da weiterhelfen.

ABER: Soweit ich weisz musz man ffmpeg mitteilen was fuer ein Containerformat benutzt werden soll, das hast Du nicht gemacht. Vermutlich wird aufgrund des xvid-Codecs ein avi-Container genommen, der aber nicht im iPOD funktioniert.

Hier mal ein Beispiel wie ich Videos fuer den iPOD Classic fit mache:

Code: Alles auswählen

ffmpeg -i $infile -f mp4 -vcodec mpeg4 -b 400k -maxrate 768k -bufsize 256k -bf 0 -acodec aac -ab 128k -s 320x240 -pass 1 -threads 2 $outfile_pass1

ffmpeg -i $infile -f mp4 -vcodec mpeg4 -b 400k -maxrate 768k -bufsize 256k -bf 0 -acodec aac -ab 128k -s 320x240 -pass 2 -threads 2 $outfile_pass2
In der ersten Zeile kannst Du das acodec aac -ab 128k weglassen und die Ausgabe nach /dev/null umleiten.
demnach ist das der code für meinen ipod touch.

Code: Alles auswählen

ffmpeg -i $infile -f mp4 -vcodec mpeg4 -b 400k -maxrate 768k -bufsize 256k -bf 0 -acodec aac -ab 128k -s 320x480 -pass 1 -threads 2 $outfile_pass1

ffmpeg -i $infile -f mp4 -vcodec mpeg4 -b 400k -maxrate 768k -bufsize 256k -bf 0 -acodec aac -ab 128k -s 320x480 -pass 2 -threads 2 $outfile_pass2
aber geht das nich auch in einem schrit?

außerdem meckert der

Code: Alles auswählen

FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
  libavutil version: 1d.49.3.0
  libavcodec version: 1d.51.38.0
  libavformat version: 1d.51.10.0
  built on Jun  3 2007 20:59:25, gcc: 4.1.3 20070528 (prerelease) (Ubuntu 4.1.2-9ubuntu2)
Input #0, avi, from 'Boston Legal S03E24 - Nichts geht mehr(Trial of the Century).avi':
  Duration: 00:40:54.2, start: 0.000000, bitrate: 1259 kb/s
  Stream #0.0: Video: mpeg4, yuv420p, 624x336, 23.98 fps(r)
  Stream #0.1: Audio: mp3, 44100 Hz, stereo, 128 kb/s
  Stream #0.2: Audio: mp3, 48000 Hz, stereo, 32 kb/s
Unknown codec 'aac'

oBdA
Beiträge: 46
Registriert: 21.03.2007 08:20:42

Beitrag von oBdA » 30.01.2008 20:12:37

demnach ist das der code für meinen ipod touch.

Code: Alles auswählen

ffmpeg -i $infile -f mp4 -vcodec mpeg4 -b 400k -maxrate 768k -bufsize 256k -bf 0 -acodec aac -ab 128k -s 320x480 -pass 1 -threads 2 $outfile_pass1

ffmpeg -i $infile -f mp4 -vcodec mpeg4 -b 400k -maxrate 768k -bufsize 256k -bf 0 -acodec aac -ab 128k -s 320x480 -pass 2 -threads 2 $outfile_pass2
aber geht das nich auch in einem schrit?
In einem Schritt war das auch nicht gedacht, solte aber gehen falls Du in der ersten Zeile ein && hinzufuegst und die Zeite einfach dahinter.
außerdem meckert der

Code: Alles auswählen

FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
  libavutil version: 1d.49.3.0
  libavcodec version: 1d.51.38.0
  libavformat version: 1d.51.10.0
  built on Jun  3 2007 20:59:25, gcc: 4.1.3 20070528 (prerelease) (Ubuntu 4.1.2-9ubuntu2)
Input #0, avi, from 'Boston Legal S03E24 - Nichts geht mehr(Trial of the Century).avi':
  Duration: 00:40:54.2, start: 0.000000, bitrate: 1259 kb/s
  Stream #0.0: Video: mpeg4, yuv420p, 624x336, 23.98 fps(r)
  Stream #0.1: Audio: mp3, 44100 Hz, stereo, 128 kb/s
  Stream #0.2: Audio: mp3, 48000 Hz, stereo, 32 kb/s
Unknown codec 'aac'
Hier kennt er den codec fuer aac nicht, manchmal musz man statt aac libfaac angeben, liegt an der "Umgebung" - ich habe Debian Etch und nicht Ubuntu. Dabei koennte Dir auch ein ffmpeg -formats | grep aac weiterhelfen.

gladiator
Beiträge: 34
Registriert: 23.10.2007 12:59:32

Beitrag von gladiator » 31.01.2008 18:58:48

toll mit && oder ; sind es doch immer noch 2 schritte mir get es weniger um das eintippen sondern mer um das problem, dass ich ne alte kiste habe und ich nich ewig auf die filme warten will.


und 2. ffmpeg -formats | grep aac hab ich probirt und ich weiß immernoch nich welchen codec ich installiren muss.

hilfe

oBdA
Beiträge: 46
Registriert: 21.03.2007 08:20:42

Beitrag von oBdA » 31.01.2008 19:31:12

toll mit && oder ; sind es doch immer noch 2 schritte mir get es weniger um das eintippen sondern mer um das problem, dass ich ne alte kiste habe und ich nich ewig auf die filme warten will.
Du muszt den 2. Schritt nicht machen (deswegen ja auch die Ausgabe in eine Dateim statt nach /dev/null). Achja, Encoden dauert nun mal seine Zeit, das laest sich nicht aendern, es sei den durch schnellere Hardware.

Falls Du faac nicht installiert hast, wird dir ffmpeg -formats | grep aac das mitteilen, indem dort nichts steht (das sollte zumindest so sein). Dann solltest Du faac installieren.

gladiator
Beiträge: 34
Registriert: 23.10.2007 12:59:32

Beitrag von gladiator » 01.02.2008 17:00:18

Code: Alles auswählen

ls@ls-workstation:~/Desktop$ ffmpeg -formats | grep aac
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
  libavutil version: 1d.49.3.0
  libavcodec version: 1d.51.38.0
  libavformat version: 1d.51.10.0
  built on Jun  3 2007 20:59:25, gcc: 4.1.3 20070528 (prerelease) (Ubuntu 4.1.2-9ubuntu2)
 D  aac             ADTS AAC

Code: Alles auswählen

ffmpeg -i *.avi -f mp4 -vcodec mpeg4 -b 400k -maxrate 768k -bufsize 256k -bf 0 -acodec aac -ab 128k -s 320x240 -pass 1 -threads 2 outfile_pass1
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
  libavutil version: 1d.49.3.0
  libavcodec version: 1d.51.38.0
  libavformat version: 1d.51.10.0
  built on Jun  3 2007 20:59:25, gcc: 4.1.3 20070528 (prerelease) (Ubuntu 4.1.2-9ubuntu2)

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 29.97 (30000/1001)
Input #0, avi, from '*.avi':
  Duration: 00:06:13.0, start: 0.000000, bitrate: 985 kb/s
  Stream #0.0: Video: mpeg4, yuv420p, 720x480, 29.97 fps(r)
  Stream #0.1: Audio: mp3, 44100 Hz, stereo, 192 kb/s
Unknown codec 'aac'

oBdA
Beiträge: 46
Registriert: 21.03.2007 08:20:42

Beitrag von oBdA » 01.02.2008 18:12:29

gladiator hat geschrieben:

Code: Alles auswählen

ls@ls-workstation:~/Desktop$ ffmpeg -formats | grep aac
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
  libavutil version: 1d.49.3.0
  libavcodec version: 1d.51.38.0
  libavformat version: 1d.51.10.0
  built on Jun  3 2007 20:59:25, gcc: 4.1.3 20070528 (prerelease) (Ubuntu 4.1.2-9ubuntu2)
 D  aac             ADTS AAC
Die letzte Zeile besagt, das aac decodiert werden kann, aber nicht encodiert, dafuer muesste dort ein E stehen.

Code: Alles auswählen

ffmpeg -i *.avi -f mp4 -vcodec mpeg4 -b 400k -maxrate 768k -bufsize 256k -bf 0 -acodec aac -ab 128k -s 320x240 -pass 1 -threads 2 outfile_pass1
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
  libavutil version: 1d.49.3.0
  libavcodec version: 1d.51.38.0
  libavformat version: 1d.51.10.0
  built on Jun  3 2007 20:59:25, gcc: 4.1.3 20070528 (prerelease) (Ubuntu 4.1.2-9ubuntu2)

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 29.97 (30000/1001)
Input #0, avi, from '*.avi':
  Duration: 00:06:13.0, start: 0.000000, bitrate: 985 kb/s
  Stream #0.0: Video: mpeg4, yuv420p, 720x480, 29.97 fps(r)
  Stream #0.1: Audio: mp3, 44100 Hz, stereo, 192 kb/s
Unknown codec 'aac'
Ja, wie bereits erwaehnt, faac installieren.

bigblue
Beiträge: 11
Registriert: 28.11.2008 09:49:36

Re: ffmpeg xvid codec

Beitrag von bigblue » 17.12.2008 14:57:49

Hi.

Muss Euch leider auch noch mal mit diesem Thema quälen.

Ich habe ein debian lenny System und habe die debian-multimedia in die sources.list hinzugefügt.

Habe dann xvid und faac installiert. Bekomme trotzdem die Fehlermeldung:

Code: Alles auswählen

Unknown encoder 'xvid'
Hier noch mal ein paar ausgaben:

Code: Alles auswählen

ffmpeg -formats | grep xvid
FFmpeg version SVN-r13582, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --prefix=/usr --libdir=${prefix}/lib --shlibdir=${prefix}/lib --bindir=${prefix}/bin --incdir=${prefix}/include/ffmpeg --enable-shared --enable-libmp3lame --enable-gpl --enable-libfaad --mandir=${prefix}/share/man --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-libamr-nb --enable-libamr-wb --enable-x11grab --enable-libgsm --enable-libx264 --enable-liba52 --enable-libtheora --extra-cflags=-Wall -g -fPIC -DPIC --cc=ccache cc --enable-swscale --enable-libdc1394 --enable-nonfree --disable-mmx --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
  libavutil version: 49.7.0
  libavcodec version: 51.58.0
  libavformat version: 52.16.0
  libavdevice version: 52.0.0
  libavfilter version: 0.0.0
  built on Oct 22 2008 13:31:17, gcc: 4.3.2
  EV    libxvid         libxvidcore MPEG-4 part 2

Code: Alles auswählen

 ffmpeg -i vdrsync.mpg -vcodec xvid -acodec aac mytest.ipod.mov
FFmpeg version SVN-r13582, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --prefix=/usr --libdir=${prefix}/lib --shlibdir=${prefix}/lib --bindir=${prefix}/bin --incdir=${prefix}/include/ffmpeg --enable-shared --enable-libmp3lame --enable-gpl --enable-libfaad --mandir=${prefix}/share/man --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-libamr-nb --enable-libamr-wb --enable-x11grab --enable-libgsm --enable-libx264 --enable-liba52 --enable-libtheora --extra-cflags=-Wall -g -fPIC -DPIC --cc=ccache cc --enable-swscale --enable-libdc1394 --enable-nonfree --disable-mmx --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
  libavutil version: 49.7.0
  libavcodec version: 51.58.0
  libavformat version: 52.16.0
  libavdevice version: 52.0.0
  libavfilter version: 0.0.0
  built on Oct 22 2008 13:31:17, gcc: 4.3.2
Input #0, mpeg, from 'vdrsync.mpg':
  Duration: 01:06:58.40, start: 0.220000, bitrate: 4367 kb/s
    Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 15000 kb/s, 25.00 tb(r)
    Stream #0.1[0x1c0]: Audio: mp2, 48000 Hz, stereo, 192 kb/s
Unknown encoder 'xvid'
Danke für eure Hilfe.

*EDIT*

Habe es auch herausgefunden. Man muss jetzt die codecs mit libxvid, libxyz angeben.

Antworten