slashCAM
Administrator
Administrator
Beiträge: 11279

Tips: AVISynth Tricks Teil 2– Wie funktioniert AVISynth?

Beitrag von slashCAM »

Tips: Tips: AVISynth Tricks Teil 2– Wie funktioniert AVISynth? von rudi - 16 Nov 2010 15:29:00
AVISynth ist ein sehr komplexer Frameserver, dem wir eine größere Artikelserie widmen wollen. Im zweiten Teil wollen wir einmal kurz und einfach beschreiben, wie AVISynth grundsätzlich funktioniert.
zum ganzen Artikel



tommyb
Beiträge: 4921

Re: Tips: AVISynth Tricks Teil 2– Wie funktioniert AVISynth?

Beitrag von tommyb »

AVCHD lässt sich weitaus besser mittels "ffmpegsource2" importieren. Dabei werden die fehleranfälligen DirectShowFilter umgangen und der Stream nativ ausgelesen.

Arbeitet man hingegen mit DS-Filtern, ist oftmals das Seeking nicht Framegenau und es können extreme Decodingfehler entstehen die erst ab dem nächsten Keyframe wieder "weggehen".

FFmpegsource2 gibt es hier:

http://code.google.com/p/ffmpegsource/

Syntax ist z.B:

Code: Alles auswählen

ffvideosource("blabla.m2ts")



rudi
Administrator
Administrator
Beiträge: 1557

Re: Tips: AVISynth Tricks Teil 2– Wie funktioniert AVISynth?

Beitrag von rudi »

tommyb hat geschrieben:AVCHD lässt sich weitaus besser mittels "ffmpegsource2" importieren. Dabei werden die fehleranfälligen DirectShowFilter umgangen und der Stream nativ ausgelesen.
Super, Danke für den Hinweis, werde ich sicherlich an der einen oder anderen Stelle einbauen.

Hast du Erfahrungen wie es mit der Performance aussieht? Laut Webseite klingt das zwar gut für den Import (Index sei Dank), aber wohl auf Kosten der Performance (FFMS2 does not provide you with a good solution for realtime playback, since it needs to index the input file before you can retreive frames or audio samples.)

Außerdem klingt es so, als ob es auf Multiprozessor-Systemen vieleicht mit Multi-Threaded Funktionen Probleme gibt (FFMS2's video frame and audio sample retrieval functions are not threadsafe; you may only have one request going at a time.)



lofi
Beiträge: 186

Also doch nur Intermediate oder Nativ

Beitrag von lofi »

Wenn beide Postings stimmen, bleibt für mich am Ende doch nur
das Umkodieren in ein Intermediate-Format oder der native
AVCHD-Import im NLE, so es den hat. Eure AVISynth-Reihe
hatte in mir den Wunsch aufkommen lassen, per Frame-Server
für den Proxy-Schnitt Material in halber Aulösung an Premiere zu schicken und für's Rendern im Frame-Server einfach nur die Auflösung wieder aufs Original zu ändern. Das hätte den Charme gehabt, völlig ohne Intermediate-Dateien auszukommen.

Mein Problem ist die AVCHD-Performance mit meinem Premiere CS4 auf meinem 2*2,5 GHz-Notebook (Edius-User weghören).
Deshalb werde ich es bei meinem nächsten Projekt dann doch mit
Proxy-Schnitt in Premiere (siehe http://help.adobe.com/en_US/PremierePro ... 7f74a.html) versuchen. Das bedeutet aber, daß ich das Material
zweimal ins Intermediate (bei mir Canopus HQ) kodieren muß, einmal in höchster
Qualität für das Rendern am Ende und einmal in reduzierter Auflösung für den Schnitt. Zusätzlich werde ich für den Schnitt noch das Previw-Renderformat herunter-tunen (siehe http://forums.adobe.com/thread/390600?tstart=0).

Zum Thema zurück:
Wofür ist das Ganze dann gut, wenn es die beschriebenen Macken mit DirectShowSource gibt ?



tommyb
Beiträge: 4921

Re: Tips: AVISynth Tricks Teil 2– Wie funktioniert AVISynth?

Beitrag von tommyb »

ffmpegsource2 ist wesentlich stabiler als DirectShowSource - zumindest was die Bildfehler-rate betrifft, denn die ist bei ffmpegsource2 nicht vorhanden - DS hingegen ist ziemlich fehleranfällig weil hier eben viele verschiedene Decoder genutzt werden können (ffdshow mit ffmpeg, ffdshow mit libavcodec, andere Decoder, etc.).


Performance-mäßig ist nur das indizieren am Anfang ein Problem - d.h. beim Laden in z.B. VirtualDub wird eine Index-Datei erstellt. Diese wird allerdings nur ein einziges Mal erstellt und im Ordner der Quelldatei abgelegt. Lädt man das ganze später nochmal in VirtualDub, wird direkt auf den Index zugegriffen.

Das Decoding selbst läuft Single-Threaded ziemlich gut und vorallem in Echtzeit mit z.B. 1080p25 (auf Core i7 860). Es gibt nebenbei noch einen Entwicklungszweig der Multithreaded arbeitet - hier schafft man dann auch noch 1080p50 ohne Probleme.

Die MT-Version vom Plugin ist nach meinen Erfahrungen recht stabil, aufgrund der besonderen Herausforderung von Multithreading verzichte ich derzeit noch auf den Produktiven Einsatz dieser Version.

Wenn man sowieso das Script mit komplexen Plugins vollhaut, ist es prinzipiell egal ob das Decoding mit 25 oder 50 oder 80,9fps läuft, wenn die gesamte Geschwindigkeit irgendwo bei 3fps liegt.



Wie schnell decodiert wird, kann man übrigens so rauskriegen:

Code: Alles auswählen

ffvideosource("datei.mp4")
assumefps(1000)
Dieses Script wirft man in VirtualDub und drückt dann F5. Es wird dann einfach abgespielt. Abhängig von der Leistung des gesamten Systems kommt man auf eine bestimmte Bildrate. Theoretisch wären 1000 fps drin - aber das ist natürlich nicht möglich. Die Decoding-Geschnwindigkeit richtet sich nämlich bei diesem Verfahren rein nach der festgelegten FPS-Rate im Videostream - ergo kann man nur mit dem Script oben richtiges Benchmarking des Plugins machen.



tommyb
Beiträge: 4921

Re: Tips: AVISynth Tricks Teil 2– Wie funktioniert AVISynth?

Beitrag von tommyb »

@lofi
Avisynth ist primär nicht unbedingt als ein Zwischenschritt für die Erstellung von Proxy-Dateien gedacht, weil es zum einen von den meisten Programmen nicht unterstützt wird, zum anderen muss da Decoding nicht in Echtzeit ablaufen (dafür ist Avisynth ursprünglich auch nicht ausgelegt gewesen).



Aaaaaber:

Wenn man einen haufen AVCHD-Files hat, kann man sich mit ein wenig "Basteln" z.B. eine Batch Datei erstellen die mittels Avisynth und ffmpeg besser verarbeitbare Intermediate-Dateien erstellen kann - völlig automatisiert.

Zwar kann ffmpeg AVCHD Files auch direkt importieren, aber hier gibt es eine hohe Fehleranfälligkeit weil ffmpeg recht selten gepflegt wird und auch eine etwas niedrigere Geschwindigkeit beim Decoding hat. Avisynth-Files jedoch arbeiten problemlos mit ffmpeg.



Markus_Krippner
Beiträge: 279

Re: Tips: AVISynth Tricks Teil 2– Wie funktioniert AVISynth?

Beitrag von Markus_Krippner »

Hab mir etz auch mal Avisynth gesaugt.

Leider passiert hier bei mir GARNIX, wenn ich versuche, eine Script-Datei in einem Player zu öffnen. Egal, welcher Player.

Woran könnte das liegen ?

..markus :-)
"Alles Vernünftige ist einfach, alles Komplizierte ist überflüssig" (Michail Kalaschnikow)



tommyb
Beiträge: 4921

Re: Tips: AVISynth Tricks Teil 2– Wie funktioniert AVISynth?

Beitrag von tommyb »

Du musst es in VirtualDub ziehen.

Nur wenige Player (z.B. MediaPlayer Classic) können Avisynth-Scripte abspielen.



 Aktuelle Beiträge [alle Foren]
 
» UHD in Linux auslesen?
von Lehmeier - Mo 18:27
» Suche den lens mount adapter für den smallrig bmpcc4k cage mit villtrox ef-m2
von MrMeeseeks - Mo 11:16
» AJA Bridge Live 12G-4 und IP25-R erklärt: High End Streaming und neuer 2110 Converter
von slashCAM - Mo 9:45
» !!BIETE!! 3x Godox SL-60W in Silent Version mit Noctua Lüfter!
von klusterdegenerierung - Mo 0:54
» DJI Mini 5 Pro wiegt über 250g - bleibt aber trotzdem in der Dronenklasse C0
von TomStg - Mo 0:43
» Z-Cam - Firmware-Problem
von micha2305 - So 23:06
» Was passiert, wenn der Berg bröckelt? Klimawandelfolgen in den Alpen, Teil 3
von berlin123 - So 18:06
» Bis zu 60 Euro Rabatt für die slashCam-Community beim Equipment-Kauf
von slashCAM - So 15:02
» Blackmagic bringt neue kostenlose Trainingsbücher für DaVinci Resolve 20
von stip - So 14:33
» Lionsgate und Runway - die KI-Revolution in Hollywood stockt
von iasi - So 10:07
» 19 Jahre alt und keinen Plan wie ich in die Branche komme
von Bluboy - So 4:07
» !!BIETE!! GTX 1080 & GTX 970
von klusterdegenerierung - Sa 22:51
» Nikon deaktiviert Authenticity Service für Z6 III
von cantsin - Sa 14:12
» DJI Osmo Nano ist da - zweiteilige Mini-Actioncam kostet ab 279 Euro
von Jörg - Sa 10:13
» Nikon ZR - bald externes SSD-Recording durch Firmware-Update?
von iasi - Sa 9:23
» GoPro stellt neue 360-Grad-Kamera MAX2, Lifestyle-Kamera LIT HERO und einen KI-Gimbal vor
von medienonkel - Fr 22:54
» elevate.io - Gemeinsamer Videoschnitt im Browser in Echtzeit
von MarcusG - Fr 22:14
» MFT oder FT Objektive auf m39 oder m42 oder t-mount?
von Onfire - Fr 16:50
» Panasonic kündigt Supertele-Zoom LUMIX S 100-500mm F5-7.1 an
von slashCAM - Fr 10:30
» Avatar: Fire and Ash
von 7River - Do 22:57
» Licht how to:
von Darth Schneider - Do 19:47
» EIZO ColorEdge Flaggschiff Monitor CG3100X und CG2400SV erklärt
von slashCAM - Do 14:48
» Neues OWC Thunderbolt-5-Dock erreicht bis zu 2.500 MB/s übers Netzwerk
von slashCAM - Do 10:24
» diashow - wie lange jedes bild?
von wabu - Do 9:59
» Endlich mal wieder originelle Ansätze im Kino
von cantsin - Do 0:19
» Blackmagic DaVinci Resolve 20.2.1 bringt Verbesserung fürs Editing und mehr
von Jott - Mi 19:50
» LETsDOK Dokumentarfilmtage 2025 bringt über 70 Dokus in Kinos und TV
von slashCAM - Mi 16:30
» Stabileye
von Phil999 - Di 14:30
» Neuer Atomos Ninja TX, Shinobi 7RX + neuer Reference Monitor erklärt
von MarcusG - Di 14:20
» Atomos Sun Dragon - 5-Farben-HDR-LED-Lichtstreifen mit CRI99 Lichtgüte
von Asjaman - Di 8:59
» !!BIETE!! ZEAPON MICRO 2 Slider 54cm bis 5KG
von klusterdegenerierung - Mo 23:40
» !!BIETE!! ZEAPON Easylock 2 Tisch Stativ für MICRO 2 Slider
von klusterdegenerierung - Mo 20:23
» !!BIETE!! ZEAPON Motor für MICRO 2 Slider
von klusterdegenerierung - Mo 20:22
» !!BIETE!! TILTA Nucleus Nano I
von klusterdegenerierung - Mo 17:10
» ALEXA 35 Update: ARRICORE für Xtreme & neue Features für alle Modelle
von slashCAM - Mo 15:18