Gibt es einen Videotyp für die Vektoranimation?

Gibt es einen vektorbasierten Videotyp, vorzugsweise Open Source, damit ein animierter Clip mit "Regeln" anstelle von Pixelkomprimierung erstellt werden kann?

Dies würde ein verlustfreies auflösungsunabhängiges Video bedeuten. Wenn es existiert - ein Link zu den Spezifikationen wäre hilfreich.

Schauen Sie sich Vectorly Video Vectorization an .

Antworten (6)

Es gab eine, aber sie wurde nicht mehr verwendet und wird nicht mehr sehr oft verwendet, hauptsächlich aufgrund des Mangels an mobiler Unterstützung, aber auch aufgrund von Sicherheitsproblemen, die dadurch verursacht wurden. Es hieß Flash.

:) Deshalb ist es auf meinem Computer deaktiviert! Trotzdem danke. Ich wusste nicht, dass es vektorbasiert ist. Ich nehme an, der Video-Codec (falls das in diesem Fall der richtige Begriff ist) ist flv. Richtig?
OK. Ich sehe jetzt, dass es SWF ist. Da ich wusste, dass Flash vektorbasiert ist, habe ich jetzt festgestellt, dass es mehr gibt, wie EVA und XARA. Danke.
Es ist auch erwähnenswert, dass ich in meiner Antwort halb sarkastisch und halb ernst war. Es ist wirklich kein Videoformat. Video ist per Definition ziemlich genau ein Raster, es gibt jedoch abspielbare Animationsformate, von denen Shockwave Flash (jetzt bekannt als Flash) das am häufigsten verwendete ist. Wie Sie festgestellt haben, ist Flash-Video eine andere Sache und eine Form von Rastervideo, das für die Einbettung in eine Flash-Animation entwickelt wurde (die tatsächlich so gewachsen ist, dass ein vollständiges Skriptsystem in ihrer Ausführung zulässig ist).
Mit Ruffle können Sie weiterhin Flash-Animationen in HTML5 einbetten .

Die University of Bath veröffentlichte vor ein paar Jahren ein Papier, das einen vektorbasierten Video-Codec demonstrierte , mit einer Pressemitteilung, in der gefragt wurde: „ Stirbt das Pixel? “. Seltsamerweise ist das Pixel seitdem nicht gestorben, tatsächlich gibt es noch mehr von ihnen als früher.

Man könnte argumentieren, dass die meisten Video-Codecs tatsächlich Vektoren verwenden: DCT (oder ähnliches) - das in so ziemlich jedem Video-Codec verwendet wird - basiert auf der Idee, dass Sie jedes Signal perfekt als Summe mehrerer Kosinuswellen darstellen können. oder mit anderen Worten als ein Bündel von Vektoren, die zusammengefügt werden.

Das heißt aber nicht, dass Sie einen DV-Film in Standardauflösung ohne Schärfeverlust auf 4K skalieren können. Der Grund dafür ist, dass, obwohl ein DCT-codiertes Bild im Wesentlichen aus einer Reihe mathematischer Funktionen besteht und daher auflösungsunabhängig ist, das Signal, das sie codieren, in der Bandbreite auf die ursprünglich erfassten Daten begrenzt ist; Die Kamera ist ein Tiefpassfilter, der jedes Detail herausfiltert, das feiner ist als die Auflösung des Sensors (es ist wahrscheinlich genauer zu sagen, dass jedes Detail feiner ist als die Nyquist-Grenze des Sensors ~ = 1/2 der Auflösung). Mit anderen Worten, kein Codec kann Informationen kodieren, die überhaupt nicht vorhanden waren.

Also kann nicht einmal der Codec der University of Bath das tun , was sie in Filmen tun, wo Sie eine unscharfe Sicherheitskameraaufnahme mit niedriger Auflösung unendlich verbessern können, bis es aussieht, als käme es aus einer Hasselblad.

Flash-Animation ist, wie AJ ​​Henderson erwähnt, ein reines vektorbasiertes Format, aber nur für Inhalte, die als Vektoren erstellt wurden, und nicht zu verwechseln mit Flash-Video (flv-Container), einem Rasterformat, bei dem die Pixel mit Sorenson Spark codiert werden oder VP6 oder das gute alte h.264 (das DCT verwendet).

Danke. Da ich mich auf das Erstellen von Animationen mit Vektoren beziehe, würde es perfekt passen, obwohl es, wie Sie gesagt haben, möglicherweise kein Ersatz für andere Codecs für Videos ist, die von einer Kamera aufgenommen wurden. Jetzt frage ich mich, ob es praktisch ist, meinen eigenen Code zu schreiben, um einen Satz von Koordinaten (usw.) in ein Video umzuwandeln. Im Gegensatz zur Verwendung von Software von Drittanbietern.
Klingt so, als sollten Sie lernen, wie man das HTML5-Canvas-Element verwendet.
Das ist ein ziemlich guter Punkt in Bezug auf die Tatsache, dass die meisten Bewegungsschätzungen wirklich vektorbasiert sind, wenn auch nicht wirklich in dem Kontext, auf den sich das OP bezieht, da es nicht unbegrenzt skalieren kann. Das Zeug aus Bath ist aber ziemlich beeindruckend. Sehr schöne Kantenerkennung und Wegfindung von dem, was ich anhand der Probe erkennen konnte.
Nicht nur Bewegungsschätzung. DCT ist Intra-Frame, es wird in vielen Codecs verwendet, sogar im JPEG-Bildcodec.

SVG unterstützt Animationen mit JavaScript und dem animierten Element. Das bedeutet jedoch, dass Sie einen Browser oder einen integrierbaren Renderer wie WebKit verwenden, um es zu rendern.

Ältere Spiele verwendeten oft ihre eigenen Vektoranimationsformate. Sie könnten sich die Asset-Formate ansehen, die von Open-Source-Implementierungen alter Spiele-Engines wie ScummVM und Sarien unterstützt werden. Es gibt einige Asset-Extraktoren und -Editoren, aber ich bin mir nicht sicher, ob es eigenständige Viewer gibt, daher müssen Sie den Animationscode möglicherweise selbst extrahieren, wenn Sie diesen Weg gehen möchten.

Darf ich fragen, was dein Endziel ist? Ich mag Vektorgrafiken aus demselben Grund, aus dem ich MODs und Chip-Musik mag; Die neueren Formate sind riesig und CPU-hungrig, und ehrlich gesagt fühlt es sich wie Betrug an, verglichen mit dem, was auf einem PC mit 640 KB RAM oder sogar einem Commodore 64 erreicht werden könnte.

Ein Link von dieser Antwort zu "Gibt es eine Möglichkeit, SWF in das SVG-Format zu konvertieren?" at Stack Overflow kann im zukünftigen Macromedia Flash (SWF) to SVG Converter nützlich sein . "Animationen sollen in den nächsten Versionen implementiert werden."

Hier einige Recherchen zu diesem Thema:

Auflösungsunabhängige 2D-Cartoon-Videokonvertierung https://www.researchgate.net/publication/305390110_Resolution_Independent_2D_Cartoon_Video_Conversion

Videovektorisierung durch tetraedrisches Remeshing http://wangchuan.github.io/archive/research/videovec/paper.pdf

Videocodec für klassische Zeichentrickanimationen mit hardwarebeschleunigter Wiedergabe http://dcgi.felk.cvut.cz/publications/2005/sykora-isvc-vccca

Ich erinnere mich, dass ich diesen letzten gelesen habe, als ich vor ein paar Jahren viele Zeichentrickfilme und Animes online angeschaut habe. Die Videoauflösung, die Sie bei vielen Streaming-Portalen erhalten, 480p (oder sogar 720p), wird diesen schönen Umrisszeichnungen bei der Betrachtung auf Full-HD/4k-Displays einfach nicht gerecht.

IIRC, die Autoren dieses Artikels haben damals sogar Downloads von Beispielvideodateien und ihrem Player bereitgestellt (als Proof of Concept), aber ich kann sie jetzt nicht finden.

Ein Problem bei regel-/berechnungsbasierten Animationen (Vektorgrafiken; in Echtzeit gerenderte Spiele, Flash ...) ist, dass es schwer vorherzusagen ist, ob die Maschine, die das Video abspielt, in der Lage sein wird, die Dinge schnell genug zu rendern. Dieses Performance-Problem kann man aber auch mit den üblichen Video-Codecs haben. Einige billige Laptops, die ich besaß, konnten Full-HD/4K-Videos nicht mit der für die Wiedergabe erforderlichen Geschwindigkeit dekodieren ...

Bei vektor-/berechnungsbasierten Grafiken ist das Problem jedoch noch schlimmer: Es gibt möglicherweise keine Begrenzung der Rechenleistung, die Sie möglicherweise zum Rendern eines Frames benötigen. Denken Sie darüber nach: CGI-Filme könnten nur als Code und Assets verteilt werden, mit denen sie erstellt wurden, und Ihr Computer könnte sie mit jeder Bildrate und Auflösung rendern. Das Problem ist, dass diese Filme dafür nicht konzipiert wurden. Das Berechnen eines Frames kann auf Ihrem Computer Stunden dauern, ganz zu schweigen davon, dass Sie wahrscheinlich nicht einmal genug Festplattenspeicher haben, um alle Assets in voller Auflösung zu speichern, die ihre Renderfarm verwendet.

Computer von heute sind jedoch möglicherweise in der Lage, Toy Story in Echtzeit zu spielen. Wenn Sie ein High-End-Gaming-Rig haben, sind die Echtzeit-Zwischensequenzen für Ingame-Grafiken natürlich auch eine Art auflösungsunabhängiges Video.

Vielen Dank an mich aus der Vergangenheit, dass Sie dies aufgeschrieben haben. Ich dachte, ich würde nie wieder einen Videocodec für klassische Zeichentrickanimationen mit hardwarebeschleunigter Wiedergabe finden dcgi.felk.cvut.cz/publications/2005/sykora-isvc-vccca ...
Guter Punkt zum Echtzeit-Rendering. Ich frage mich, ob jemand Filme mit Tools wie Unity erstellt und sie als ausführbare Dateien liefert.

Es gibt einen vektorbasierten Codec, den ich verwendet habe - aber er kann nicht außerhalb der Bearbeitung leben.

Flash exportiert ein SWF-Dateiformat, das die Bewegungsvektorinformationen beibehält, wenn es in After Effects angewendet wird (weiß nicht, ob es in Premier funktioniert. Funktioniert NICHT in Final Cut). Wenn diese Dateien in AE importiert werden, behalten sie ihre Auflösung unabhängig von Skalierung oder Zoom bei. Alle anderen Funktionen, die auf Formebenen anwendbar sind, gelten auch für SWF-Dateien.

Fast alle anderen visuellen Anwendungen erkennen das SWF-Format nicht, daher sind seine Einsatzmöglichkeiten sehr begrenzt. Aber der Codec existiert.

GameMaker Studio unterstützt SWF/Vektorgrafiken und Animationen. aber das ist natürlich für Videospiele. Aber ich bin mir sicher, dass Sie mit der Funktionsweise von Gamemaker Ihre eigenen bootfähigen Videos damit erstellen können.