SMPTE VC-1 Decoder in FFmpeg

3. April 2007

Wenn man *.wmv-Videos mit ffmpeg umkonvertieren will, funktioniert dies leider nur mit WMV1-Videos. Bei 3, 6 und 9 wird die Umwandlung mit Fehler abgebrochen. Hilfe schafft hier die VC1-Libary, welche man per Hand kompilieren und in die Installation von ffmpeg mit einfügen muss.

  • Den Sourcecode von ffmpeg herunterladen (z. B. per apt-get source ffmpeg).
  • Die Datei “VC1_reference_decoder_release6.zip” herunteladen
  • Im ffmpeg-Sourcecode Verzeichnis im Ordner “libavcodec” das Verzeichnis “libvc1″ anlegen
  • Alle *.c und *.h Dateien von “VC1_reference_decoder_release6/decoder/” nach “libavcodec/libvc1/” kopieren
  • Alle *.c und *.h Dateien von “VC1_reference_decoder_release6/shared/” nach “libavcodec/libvc1/ kopieren
  • Die Datei Makefile in “libavcodec/libvc1/” speichern
  • In das Verzeichnis “libvc1″ wechseln und make ausführen
  • In das ffmpeg-Wurzelverzeichnis wechseln
  • Die Datei smpte-vc1.c in Das Verzeichnis “libavcode” speichern
  • Die Datei “libavcodec/vc9.c” bearbeiten und #if 0 an den Anfang, sowie #endif an das Ende von wmv3_decoder AVCodec structure; sezten, damit dieser sich nicht in die quere mit dem neuen kommt.
  • Die Datei “libavcode/Makefile” bearbeiten und smpte-vc1.o an das Ende der OBJS Liste setzten
  • Die “Makefile”-Datei im ffmpeg Verzeichnis bearbeiten und “-L./libavcodec/libvc1 -lvc1″ (ohne Anführungszeichen) an FFLIBS anhängen
  • Nachfolgende, unten aufgeführte Befehle ausführen:

./configure --enable-gpl --enable-pp --enable-vorbis --enable-libogg --enable-theora \
--enable-a52 --enable-dts --enable-dc1394 --enable-libgsm --enable-mp3lame --enable-faad \
--enable-faac --enable-xvid --enable-x264 --enable-pthreads --disable-debug --prefix=/usr

Danach noch

make
sudo checkinstall --pkgversion=3:0.cvs20050918 --pkgrelease=5.ubuntu1.1

Nun sollte es möglich sein, sämtliche wmv-Videos zu konvertieren. Ein kleiner Hinweis jedoch noch: Die Konvertierung dauert sehr lange.

Diese Anleitung basiert auf der englisch sprachigen Anleitung von Multimedia.cx.

{ 1 Trackback }

Schreib einen Kommentar

Previous post:

Next post: