WebM = (VP8/Theora + Vorbis + Matroska) erste Erfahrungen,... ?

  • Ich hab mir nun auch mal den Spaß gemacht, die Recodierung mit x264 und ivfenc miteinander zu vergleichen. Dazu hab ich mir die PNGs der Blender-Filme heruntergeladen. Da aber das Lesen der PNGs als Videoquelle schon mal das langsamste an der Verarbeitung ist, habe ich mir für eine webtaugliche Bildfläche eine Zwischendatei erzeugt - mit x264 und ziemlich geringer Kompression (genügt mir als hinreichend genaues "Original").

    Nun passierte etwas merkwürdiges: Das Original-AviSynth-Skript, welches ImageSource benutzt und die PNGs skaliert ausgibt, läuft als Videoquelle mit ivfenc durch. Verwende ich aber DGDecNV (hier im Büro mit einer GeForce 9600 läuft das; zu Hause mit einer 6800 GS verwende ich halt DGAVCDecDI), dann bekomme ich für jeden der beiden Durchläufe eine Windows-Meldung über den Absturz des Encoders - danach läuft aber die Encodierung durch, und das Ergebnis ist auch ordentlich.

    Hängt das eventuell zusammen mit "Programmen, die das AviSynth-Skript nur kurz öffnen und gleich wieder schließen"? Da gab's doch mal ein problem mit DGDecNV und der CUDA-Initialisierung?

  • Gut, hätte ich nicht erwartet, ich halte SDKs sonst lediglich für Quelltexte ... aber in der vpx-vp8-debug-src-x86-win32mt-vs8-v0.9.2.zip waren auch Debug-Builds für Win32 dabei.

    Die dort enthaltene ifvenc.exe verarbeitet aber keine AviSynth-Skripte.

  • hier mal ein Beispiel mit ffmpeg welches ich mit Nic seiner Version nutze:

    Code
    ffmpeg -v -10 -r 25.000 -i "D:\sx264\testclips\rawAVCvideo.264" -threads 8 -vsync 0 -an -r 25 -pix_fmt yuv420p -f yuv4mpegpipe - | ivfenc --yv12 ...


    (Anzahl der Threads und der output&input framerate solltest Du noch anpassen)

    Cu Selur

  • Hilft nicht so wirklich...

    Was bedeutet eigentlich der Parameter "-10"?!

  • Zitat

    =LigH

    Offtopic

    Wird in Windows Version von ffmpeg postproc nicht aktiviert?
    --enable-postproc enable GPLed postprocessing support


    FFmpeg version SVN-r25124, Copyright (c) 2000-2010 the FFmpeg developers
    built on Sep 15 2010 16:34:19 with gcc 4.4.3
    configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --enable-x11grab --enable-libdc1394 --enable-libgsm --enable-libx264 --enable-libspeex --enable-runtime-cpudetect --disable-vdpau
    libavutil 50.27. 0 / 50.27. 0
    libavcore 0. 9. 0 / 0. 9. 0
    libavcodec 52.89. 0 / 52.89. 0
    libavformat 52.78. 5 / 52.78. 5
    libavdevice 52. 2. 2 / 52. 2. 2
    libavfilter 1.39. 0 / 1.39. 0
    libswscale 0.11. 0 / 0.11. 0
    libpostproc 51. 2. 0 / 51. 2. 0

  • Kommt drauf an, wo du sie her hast. Die hier müsste vom arrozcru-Autobuild sein. Aber das Postprocessing sollte erst mal mein kleinstes Problem hier sein. ;)

    Also ich verstehe die Ausgabe noch nicht so ganz hinsichtlich Fehlerursachen. Allerdings ist die Dokumentation von ivfenc auch relativ dürftig. Vielleicht hab ich übersehen, welche Quellformate exakt unterstützt werden. Vielleicht muss ich statt yuv4mpeg eher rohes YV12 und zusätzlich -width und -height verwenden?

    Die nächsten Tage bin ich fernab von Testmöglichkeiten.

  • Das hier ist ein Linux Build.
    Ich hole mir immer per svn ffmpeg und Vp8/X264 per git.
    Kompiliere zuerst vp8, dann X264. Konfiguriere dann ffmpeg, u.a. mit --enable-libx264 --enable-libvpx, kompiliere und baue ein Paket (debian). Dann installiere ich. Das ganze läuft in einem Script ab. Sobald sich eine Veränderung bei vp8 und x264 per git ergibt, setzt der ganze Vorgang ein...danach wird Mplayer und VLC kompiliert. So halte ich mein System ziemlich aktuell.....

    Allerdings habe ich noch nie um in webm/vp8 zu wandeln, ffmpeg verlassen, bzw nach ivfenc übergeben, wie hier weiter oben aufgeführt....wahrscheinlich mangels Kenntnisse...ich dachte das geht automatisch. :(

  • Da ich eben nicht Linux verwende, sondern Windows, bin ich durch Frameserving via AviSynth halt verwöhnt. Und Programme, die nicht AviSynth-Skripte als Quelle nutzen können, erschweren dann eben die Nutzung für mich schon recht deutlich.

    Ich wünschte, jemand könnte mal versuchen, ivfenc aus dem VP8-SDK mit aktueller libvpx 0.9.2 und Nics AviSynth-Modifikation (Sourcen sind im Archiv von Juni enthalten) für Win32 lauffähig zu compilieren...

  • Avisynth ist leider unter Linux nicht native verfügbar.
    Du sagtest eben..

    Zitat

    Vielleicht muss ich statt yuv4mpeg eher rohes YV12

    Ich habe gerade bei v0.9.2-16-g9100073 geschaut, da steht unter Encoder Global Options :

    encoder Global Options:
    --yv12 Input file is YV12
    --i420 Input file is I420 (default)

    Dann scheint dein Gedanke zu y12 richtig zu sein, oder?

  • Es gibt jetzt wohl auch einen VP8-VfW-Codec:

    http://www.optimasc.com/products/vp8vfw/index.html

    Leider nichts neues von Nic, oder anderen Quellen eines ivfenc mit libvpx 0.9.2 und AviSynth-Unterstützung.

    Und auch ffmpeg oder mencoder bleiben von der Funktionalität her etwas eingeschränkt, von bekannten Problemen (Multiplexer-Fehler, Übergrößen) ganz zu schweigen.

  • Die libvpx Version 0.9.5 (Aylesbury) wurde veröffentlicht. Natürlich mit beeindruckenden Geschwindigkeits- und Qualitätsverbesserungen.

    http://code.google.com/p/webm/downloads/list

    ivfenc/ifvdec wurden umbenannt in vpxenc/vpxdec und erzeugen nun standardmäßig still *.webm; immer noch wird nur Y4M (YUV for MPEG) oder rohes YV12/I420 erwartet, keine Unterstützung von AVI oder gar AVS.

    Außerdem ist die Ausgabe des Hilfetextes völlig bescheuert: Überschriften gehen an stderr (2>), Parameter an stdout (>). Fröhliches Mischen.

  • hab mit der Version auch das "Error reading Y4M frame data" wenn sie mit ffmpeg füttere,.. jemand schon eine Erfahrung mit der neuen Version?
    (Vermutung: scheint so als ob der pipe-Input immer noch nicht geht,..)

    => ist wohl ein bekanntest und im git gefixtes Problem (https://review.webmproject.org/#change,1071)

    Baut jemand vpxenc direkt von den Sourcen als Windows binary?

    Cu Selur

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!