Beiträge von Sagaras

    @Achon Ich dachte da mehr an ein Mathematisches Beispiel, da du ja auch von Abständen in deinen Lexikonbeitrag geredet hast. Halt um den Unterschied von dem du geschrieben hast mit Zahlen auszudrücken. Weil ich mit Zahlen ja nun doch mehr anfangen kann. ^^

    Also... Wenn du deine Aufnahme mit [lexicon]DXTory[/lexicon] oder [lexicon]Afterburner[/lexicon] oder was weiß ich gamacht hast, hast du ein Rohvideo in Form einer AVI, [lexicon]MP4[/lexicon] oder was weiß ich. Darin enthalten sind oftmals für Gewöhnlich alle Audiospuren die mit der Videoaufnahmesoftware mit aufgenommen wurden. Sprich bei [lexicon]DXTory[/lexicon] z.B. Spur 1 Ingame und Spur 2 [lexicon]Mikrofon[/lexicon].


    Diese Aufnahme samt den Ton kann man bereits in den [lexicon]SSM[/lexicon] laden. Und nur wenn das Video über Tonspuren verfügt kann man den Ton an die Videolänge anpassen. Es findet keine Synchronisation im Sinne von Delayverschiebungen statt, sondern der Rest vom Sound. Sprich die letzten Millisekunden die zuviel sind oder zu wenig werden entsprechend entfernt oder mit Stille ausgefüllt und zwars auf die Länge der neuen Videolänge die aus der neuen FPS resultiert.


    Du ziehst also deine Rohaufnahme in den [lexicon]SSM[/lexicon], stellst alles fein ein und kannst dann das AVS Skript speichern das nur das Video behandelt und du kannst die Audiospuren exportieren und wie eben erklärt die Länge damit angleichen gleich. Gespeichert wird es dann als [lexicon]WAV[/lexicon]. Stereo für die Ingame Soundspur und Mono für die Mikrofonsoundspur.


    Wenn du mit dem [lexicon]SSM[/lexicon] fertig bist, sollteste eine AVS Datei haben und mindestens (wenn du mit [lexicon]Fraps[/lexicon] aufgenommen haben solltest) eine Audiospur oder halt mehrere (wenn du mit Programmen wie [lexicon]DXTory[/lexicon] aufgenommen hast)


    Bei Audio erfolgt dann die der Audiomix in [lexicon]Audacity[/lexicon] und natürlich Lautstärkeanpassung und sonstige Filter zur Verbesserung etc. Ist alles fertig wird der Mix aus Ingame und [lexicon]Mikrofon[/lexicon] als eine [lexicon]WAV[/lexicon] exportiert. Diese exportierte [lexicon]WAV[/lexicon] ist dann dein Audio was zur AVS Datei gehört dann.


    Dann kommt [lexicon]MeGUI[/lexicon]. In [lexicon]MeGUI[/lexicon] fügst du nun die von [lexicon]SSM[/lexicon] erstellte AVS Datei rein per Drag & Drop und darunter die Exportierte zusammengemixte [lexicon]WAV[/lexicon] aus [lexicon]Audacity[/lexicon]. Stellst dann die [lexicon]Encoder[/lexicon] für Audio und Video entsprechend ein (Muss ledeglich eigentlich nur einmal getan werden) und drückst auf Autoencode ganz unten rechts in [lexicon]MeGUI[/lexicon].


    Dort stellst du oben das Format auf [lexicon]MKV[/lexicon] und wählst etwas weiter unten "No Target Size" aus und drückst auf Queue. Und dann sollte er dir eine fix und fertige [lexicon]MKV[/lexicon] erzeugen die dein mit [lexicon]x264[/lexicon] encodiertes Video und den dazugehörigen Sound beinhalten sollte. Diese [lexicon]MKV[/lexicon] ist dann Uploadfertig.

    @Achon Könnteste mir in deinen Lexikon Eintrag oder mir einfach mal so ein Beispiel nennen für eine [lexicon]digitale FPS[/lexicon] und eine analoge FPS. Weil das einzige was ich kenne sind Analoge Videos und Digitale Videos. Eine Quelle würde mir auch schon reichen. Weil ich find jetzt nix dazu so auf Anhieb im Netz.


    Auch nicht schlecht. :)


    Na ja, kann man nichts machen.


    AVS Datei (Ohne Ton) + externe Audiodatei
    oder
    AVS Datei (Mit Ton)


    via den MPC HC oder Virtual Dub wiedergeben lassen. Somit hast du eine Vorschau samt Ton. Und bei VDub sogar eine Frameanzeige in der Statusbar die du dann auch wieder für die Schnitte verwenden kannst.


    Bei VDub muss der Ton in der AVS sein. Sprich das Skript muss den Audioanteil mit laden.


    Bei MPC HC gibt es die Alternative die AVS und den Ton so zu laden das der Ton extern geladen werden kann.


    Beispiel:
    C:\Test.AVS
    C:\Test.[lexicon]WAV[/lexicon]


    Die Test.AVS wird via MPC HC geöffnet und dieser läd automatisch die externe gleichnamige Tonspur mit.


    Das kann man entsprechend auch erweitern.
    C:\Test.AVS
    C:\Test.Spur1.[lexicon]WAV[/lexicon]
    C:\Test.Spur2.[lexicon]WAV[/lexicon]


    Hier wird im MPC HC die AVS mit 2 seperaten Tonspuren geöffnet die man dann wählen kann. Die Namen sind dann Spur1 und Spur2 bei der Auswahl im MPC.


    Gleiches gilt für externe Untertitel.



    Edit:
    @MaxxPuzzles Wenn du mit 1800 [lexicon]encodieren[/lexicon] tust für [lexicon]Arma 3[/lexicon] ist das schon ok. Den [lexicon]CRF[/lexicon] würde ich vllt. zwischen 20 bis 23 setzen dafür. Mach ruhig mal 23 und schau mal wie es dann wird. Auf Slow würde ich das Preset aber belassen dann.

    Im [lexicon]SSM[/lexicon] (Auf das Wort klicken und ganz unten im verlinken Thread) kannst du sowas mit ins Video künstlich erzeugen lassen. Besser wäre es aber dies vom Spiel erzeugen zu lassen, da es dann auch um einiges schneller bei der Encodierung geht und nicht noch Künstlich berechnet werden muss für das Video.


    [lexicon]Motion Blur[/lexicon] <- Auf das Wort klicken.


    Die 25 FPS dienen nicht nur für einen schnelleren Encode, sondern halt wie schon gesagt kommen sie der Qualität zugute.


    Auch wie du bereits erkannt hast wird bei einem 30 FPS Video gegenüber dem 25 FPS Video das Bild flüssiger ablaufen. Dafür aber hast du ja dann aber ein sehr leichtes [lexicon]Motion Blur[/lexicon], damit das nicht sonderlich auffällt bei Bewegungen.


    Der Unterschied von 30 FPS zu 25 FPS sind jeweils für ein [lexicon]Frame[/lexicon]/Bild folgende Zeiten:
    1 [lexicon]Frame[/lexicon] / 25 FPS = 0,040Sek = 40ms
    1 [lexicon]Frame[/lexicon] / 30 FPS = 0,033¯Sek = 33¯ms


    Wie du siehst liegt die differenz bei etwa 7ms
    Bei 25 FPS wird jeweils 1 [lexicon]Frame[/lexicon] 40ms angezeigt bis es zum Bildwechsel kommt.
    Das sind in einer Sekunde halt 25 Frames/Bilder. Und in einer Minute haste 1500 Frames/Bilder im Video.
    Anders als bei 30 FPS. Dort haste mehr Frames. Dort kommste auf die Minute auf genau 1800 Frames. Sprich 300 Bilder mehr pro Minute.


    Das mal halt so am Rande wegen deiner FPS Geschichte. Wenn du dir BluRays oder DVDs holst wird kaum eines dieser Sachen mehr als 30FPS haben. Höstens bei 3D Videos (Weiß ich jetzt nicht dort)
    Auf jedenfall haben alle Filme entweder NTSC Frameraten von 23.976 oder 29.97. Das sind spezielle Werte die eigentlich für Fernseher und spezielle Videogeräte gedacht wurden. Solche Werte sind wie gesagt bei Let's Player nur dann Interessant wenn es um Emulatoren oder Konsolenaufnahmen handelt. Erst dann sind solche Krummen Sachen von Bedeutung. Ansonsten haben wir auch BluRays und DVDs die wie auch die meisten Sender in PAL senden. Sprich mit 25 FPS.


    Und YT ist nun mal nicht für Spiele ausgelegt, sondern vielmehr für Realfilme. Spiele haben ihre eigenen Videospezifischen Merkmale. Spielaufnahmen sind halt nicht mit Aufnahmen einer Videokamera zu vergleichen. Es gibt Spiele wie [lexicon]Arma 3[/lexicon] z.B. die sehr Komplexes Videomaterial darstellen. Man wird es vllt komisch finden, aber [lexicon]Minecraft[/lexicon] zählt auch zu den komplexen Videomaterialien die man haben kann. Entsprechend dafür muss auch verfahren werden, sofern man kein endgültiges matschiges oder blockiges Bild haben möchte. Sprich eine bewusste und feinfühlige Nachbearbeitung ist dort gefragt.

    Wenn du kein Auge für soetwas hast wie Qualitäten unterscheiden zu können, ist das schlecht.
    Die 25 FPS sollen genrell nur für YT Qualitätsrelevant sein. Weil YT codiert hochgeldene Videos Bitratenbasierend
    und daher können sich durch Verringerung der FPS die Frames reduziert
    werden, damit diese sich mehr [lexicon]Bitrate[/lexicon] auf YT teilen können. Der Effekt
    ist das jedes Bild minimal mehr Qualität bekommt. Und 25 FPS ist noch zu verkraften.

    • Ichhab in deinem Post vorher gelesen das du gerne versuchen würdest mit 50FPS aufzunehmen? Wenn ja, so wird dir das von keinem Vorteil sein für YT. Denn generell YT würde es wieder auf 30 FPS limitieren. Sprich YT würde dir die entsprechenden Frames/Bilder aus dem Video entfernen die zuviel sind.
    • [lexicon]MeGUI[/lexicon] wird das Video schon entsprechend richtig laden, glaub mir. Das Teil ist weniger Fehlerhaft als dein Vegas. An deiner Stelle würde ich mal deine ganzen Einstellungen in Vegas überprüfen. Denn wenn du mit 30 FPS aufnimmst und es kommt in [lexicon]MeGUI[/lexicon] mit 29.97 an, so wird es vermutlich schon in Vegas falsch ausgegeben werden. Aber ist ja dein Ghosting das du fabrizierst ;D


      Andersherum (sofern ich das falsch verstanden habe) genau der gleiche Effekt in Grün. Da wäre halt die Frage warum man mit 29.97 aufnimmt? Und warum es [lexicon]MeGUI[/lexicon] mit 30 einlesen tut wenn du es aus Vegas exportierst. Einziger plausibler Grund ist wie ich schon bereits sagte falsche Einstellungen für das Video in Vegas.

    • 25FPS sollte in Kombination mit [lexicon]Motion Blur[/lexicon] angewendet werden, sodass der Effekt entsteht eine flüssige Bewegung zu haben. Auch das Bild wird dadurch viel komprimierbarer und trägt zur besseren Qualität bei.
    • Du gehst von Dingen aus die nicht gehen. Sprich du willst Qualität, machst aber dafür keine klaren Kompromisse. Du setzt vorraus das eine Software nach deinen Erwartungen bereits so eingestellt ist und so funktioniert wie du es willst. Oder das es dir jemand vorgibt. Da wirste nicht viel Glück mit haben ehrlich gesagt.
      Das ist selbst in jeder Fabrik so. Mehr Qualität = Mehr Zeit. Weniger Qulität = weniger Zeit. Dann kommt es auch auf den Arbeiter an. Ist der Arbeiter zuverlässig genug kann er mehr produzieren als andere Arbeiter und mit gleicher Qualität.


      Was ich damit sagen will ist das es ledeglich von deiner Hardware, deinen Encode Settings und deiner Videobearbeitung abhängt wie schnell etwas encodiert wird.

    Eigentlich ist es nur die Geduld die bei vielen fehlt. Vor allem wird munter drauf
    losgehauen mit der ganzen Aufnahme und Bearbeitungstechnik, obwohl man hätte sich vorher genauer damit auseinander setzen sollen.


    Zumal du mit hoher Wahrscheinlichkeit noch nicht verstanden hast warum es eigentlich 29.97 und 30 FPS gibt.


    Die 29.97 FPS ist ein NTSC Wert für Videos die auf einem Fernseher abgespielt werden sollen. [lexicon]Sony Vegas[/lexicon] ist ja nicht nur für YT, sondern man kann damit auch sowas wie DVDs machen die man eventuell auf ein NTSC Fernseher abspielt. Die Wiedergabe sieht entsprechnd auch anders aus.


    Auf YT total uninteressant und gerade bei Aufnahmen die auf dem PC stattfinden sind NTSC Werte unnötig und können zu Asynchronitäten führen aufgrund dessen das man PAL Software nutzt bei uns. Sprich mit Ganzzahligen Werten arbeitet.


    Ich würde gerne mal sehen wie du die Frames berechnest wenn du solch krummen FPS nimmst.


    Hier mal ein Beispiel:
    29.970‾ FPS * 60Sek = 1798,201798‾ Frames


    Und es gibt keine halben Frames. Nur ganze. Oder hast du schon mal ein Video gesehen wo nur 1/4 des Bildes zu sehen ist? Ich nicht. Sprich bei meinem Beispiel da, wird die FPS abgerundet auf exakt 1798 Frames, da es wie gesagt keine halben Frames geben darf.


    Anders aber bei ganzen Frames:
    30FPS * 60Sek = 1800 Frames
    25FPS * 60Sek = 1500 Frames


    Wie du siehst lässt sich bei sowas viel besser mit arbeiten.


    Darum auch mit einer geraden FPS aufnehmen und nicht mit krummen. Keine Ahnung wo ihr diese Krummen Sachen immer her habt. Anscheinend wissen viele nicht wofür das gut sein soll.


    Du willst auf YT deine Videos noch weiter schärfen, obwohl du auf die Gefahr hinläufst von YT danach nur noch Matsch zu bekommen, weil YT die Schärfe als Detail anrechnet und entsprechend nur eine bestimmte [lexicon]Bitrate[/lexicon] auf das Video vergibt? Also wenn du so deine Videos produzierst, dann kann ich dir auch gerne eine sehr verschwenderische Einstellung für den [lexicon]x264[/lexicon] [lexicon]Encoder[/lexicon] geben dafür.


    Bei YT halt nix schärfen zusätzlich. Lieber etwas Bluring reintuhen, damit es besser komprimiert werden kann und die Freigegebene [lexicon]Bitrate[/lexicon] seitens YT das Bild nicht verhaut.

    und jetzt habe ich nur noch mit "videos doesn´t match", aber die sollte man ja finden können.


    Das bedeutet das die Clips nicht übereinstimmen. Jetzt musst du eines der Clips den anderen angleichen, sodass beide Identisch sind.


    ChangeFPS - Für die FPS Angleichung
    Resizer - Für die Größenangleichung
    SSRC - Für die Sampleratenangleichung
    ConvertAudioTo16bit() - Audio Bit Angleichung in 16 Bit


    Das hier kannste nehmen für eine Mono to Stereo Angleichung oder umgekehrt

    Code
    Function StereoChannel(clip audio) {
    Try { return audio.GetChannel(1,2) }
    Catch (Error_2) { Return audio.GetChannel(1,1) }
    }
    Function MonoChannel(clip audio) {
    Try { return Mixaudio(audio.GetChannel(1),audio.GetChannel(2)) }
    Catch (Error_1) { Return audio.GetChannel(1) }
    }


    Und Farbraum musste mal schauen. Ansonsten Standardfilter fürs Ändern: ConvertToRGB24() oder ConvertToYV12() oder ConvertToYUY2() etc...

    [lexicon]avisynth[/lexicon].nl/index.php/Fade


    doch hat es. Er geht sonst von 24fps aus. edit: achso weiter unten steht bei videostream ignoriert. Naja gut das mag sein.^^


    Für Audio interessant und durchaus dann verfügbar. Bei Videos halt nicht. Aber steht ja da.


    Zitat

    Der Parameter fps ist optional, default = 24,0, und bietet eine Referenz für num_frames nur in Audio-Clips (kein Video). Es wird ignoriert, wenn ein Videostream vorhanden ist.


    Bedeutet das es für Videos total Sinnbefreit ist.

    Und der Filter FadeIO2 ist auch falsch angegeben. Das Ding hat kein FPS Argument.


    Sondern besteht ledeglich aus (Clip Video, int frames, int color)


    Das Video Clip wird über die Vererbung von AVISource schon gesetzt. Standardfarbe ist immer Schwarz, wenn diese nicht angegeben wird. Sprich $000000
    Und die Frames geben an wie lange das Faden dauern soll. Wirken tuhen die Fadeelemente des Standard [lexicon]AVISynth[/lexicon] nur am Anfang des Clips und am Ende des Clips. Wird danach getrimt, wirste nicht mal sehen das da gefadet wird.


    MPEG2Source erfordert glaub ich auch ein Plugin wenn ich mich nicht irre. Aber mit L-Smash kannste das sehr gut laden und das sollte sogar in [lexicon]MeGUI[/lexicon] mit dabei sein.


    LoadPlugin("D:\[lexicon]MeGUI[/lexicon]\tools\lsmash\LSMASHSource.dll")
    LWLibavVideoSource("D:\Test.mpg")
    AudioDub(LWLibavAudioSource("D:\Test.mpg"))

    mpg mit AVISource? Ich hau dich ;D Das Ding heißt AVISource... AVI , nicht MPG ;D


    Introvideo muss mit Videofertig zusammengesetzt werden.


    Das Return kommt raus. Was haben denn alle mit ihren Return am Ende? xD


    Es heißt am Ende einfach nur noch Introvideo++Videofertig.


    Setzt aber Vorraus das beide Clips die gleiche Audioeigenschaften und Videoeigenschaften haben.


    Sprich: Gleiche [lexicon]Auflösung[/lexicon], gleiche FPS, gleiche Kanalanzahl bei Audio, Abtastrate bei Audio, Bitanzahl. Farbraum des Videos. Stimmt eines davon nicht, kannste die nicht zusammensetzen und müsstest eines dieser Clips dem anderen erst angleichen.


    Und für MPG gibt es MPEG2Source bzw. DGIndex oder aber auch was vllt einfacher wäre wenn du L-Smash nehmen würdest dafür um sowas zu laden. Aber nicht AVISource.


    Und was zum Geier ist ne MVP bei dir?

    Naja ich denke der Unterschied hängt teilweise damit zusammen das das Video extrem klein ist, da in einem Point&Click Adventure nicht viel Bewegung im Bild ist, somit könnte das schon einigermaßen passen.


    200MB Video und 800MB Audio? Definitiv passt das absolut nicht. Auch wenn das Video gut komprimiert sein sollte. Das müsste ja dann bei dir unter aller Sau sein, sollte es [lexicon]Lossless[/lexicon] sein und nur 200MB haben.


    Wenn du allerdings das Video encodiert hast und Audio nicht, dann ist das Verhältnis trotzdem noch ziemlich extrem. Daher bitte mal ne [lexicon]Mediainfo[/lexicon] von beiden Files.


    Was habt ihr denn so Durchschnittlich für eine Dateigröße (Sound) bei einem 15-20 Minuten Video?


    Kann man sich ausrechnen bei [lexicon]PCM[/lexicon] [lexicon]WAV[/lexicon]:
    (44100Hz * (16Bit / 8 )) * 2(Stereo) * 1200(20 Minuten) = 211680000 Byte = ca. 201,87 MB


    Ansonsten hier mal wo extrem übertrieben wurde:
    (96000Hz * (32Bit / 8 )) * 8(7.1 Sound) * 1200Sek(20 Minuten) = 3686400000 Byte = ca. 3,4 GB


    Bei Stereo mit den gleichen Einstellungen sieht es so aus:
    (96000Hz * (32Bit / 8 )) * 2(Stereo) * 1200Sek(20 Minuten) = 921600000 Byte = ca. 878,90 MB


    Also 800 MB bei 20 Minuten lässt letztere Einstellung vermuten.

    Ich frage mich da dennoch ob bei einem Video das nur 200mb groß ist, eine Soundfile von 800mb nicht trotzdem etwas unverhältnismäßig ist.


    Ist in der Tat extrem unterschiedlich. Eine [lexicon]Mediainfo[/lexicon] der beiden Files würde uns Aufschluss geben darüber wie die Datein aussehen. (Bitte in Textansicht bei [lexicon]Mediainfo[/lexicon])


    Da ich die Scripts bislang bei bedarf ohnehin manuell mache, kannst du mir vllt noch sagen wie ich die Filter Multithreaded laufen lassen kann?


    Dafür brauchste [lexicon]AVISynth[/lexicon] 2.6 MT. Auf jedenfall eine MT Funktion. Der [lexicon]SSM[/lexicon] hat diese mit dabei. Allerdings wird vorrausgesetzt das [lexicon]AVISynth[/lexicon] vorher schon installiert wurde. entweder du installierst dir die 2.58 Version oder 2.6 Version von [lexicon]AVISynth[/lexicon] 32Bit.
    Und in [lexicon]MeGUI[/lexicon] musst du in der Option irgendwo das abschalten das er das portable [lexicon]AVISynth[/lexicon] von [lexicon]MeGUI[/lexicon] nutzt, sondern das Globale was du installiert hast. Wenn du dann [lexicon]SSM[/lexicon] installierst mit [lexicon]AVISynth[/lexicon] MT, kannste die MT Version nutzen und kannst dann deine Multithreaded Befehle da laufen lassen.


    Dankeschön Ich habe das mit dem [lexicon]Rendern[/lexicon] jetzt soweit hinbekommen, nur mein Video hat jetzt 2 schwarze Balken oben und unten und ich weiß nicht wie ich die in [lexicon]Sony Vegas[/lexicon] wegbekomme oder in irgendeinem anderen Programm Außerdem lässt sich die Audio nicht mit dem Video verknüpfen, wenn ich das [lexicon]muxen[/lexicon] möchte erstellt sich zwar einen neue Datei aber ohne Ton..


    Im [lexicon]SSM[/lexicon] kannste über die Crop Funktion die schwarzen Ränder entfernen lassen.
    Außerdem wird dir [lexicon]SSM[/lexicon] Audio und Video separieren. Einmal den Notenbutton um Sound zu extrahieren und einmal den Diskettenbutton um das Skript zu speichern. Audio musste schauen wieviele Spuren du in deinen Rohaufnahmen drin hast. Dann brauchste das Beispielsweise nur in [lexicon]Audacity[/lexicon] mischen lassen (Sprich Spur1 Gamesound und Spur2 Mikrofonsound) und lässt es als [lexicon]WAV[/lexicon] exportieren. Dann fügste alles in [lexicon]MeGUI[/lexicon] rein. Also die neue Audiodatei von [lexicon]Audacity[/lexicon] + den Skript vom [lexicon]SSM[/lexicon] und kannst es dann über AutoEncode und "No TargetSize" zusammschustern lassen mit Queue. Dann sollte erst Audio encodet werden, dann Video und dann sollte alles in eine [lexicon]MKV[/lexicon]/[lexicon]MP4[/lexicon] gemuxxt werden und Bereit fürs hochladen.

    Wenn Blödheit und dieses 0 Bock haben zusammentrifft, dann hilft noch nicht mal dieses Video von dir :D


    Die Sache ist doch die: Videos wollen se alle machen, weil die meisten irgendwelche Leute nacheifern wollen. Aber sich mit der Sache mal zu beschäftigen und zu probieren machen immer weniger hab ich das Gefühl.


    Man gibt doch nicht zig Euronen aus für ein Programm, wo man selbst nicht mal rumprobiert. Ich meine... man kann doch nix kaputt machen mit nem Videobearbeitungsprogramm.


    Statt aber selbst zu probieren, brauchen immer mehr Leute irgendwelche Tutorials.


    Also meiner kleinen 4 jährigen Cousine würde ich dein Tutorial empfehlen. Aber sonst... ja. Ich sag ja nicht das es schlecht ist, es ist einfach zu wenig. Zu wenig in dem Sinne das man selbst drauf kommen kann.


    Weiß nicht, wenn man mehrere Videospuren hat, dann sollte doch klar sein das die übereinanderliegen dann, oder nicht? Währe die logischste Schlussfolgerung nur ^^


    Und kein Mensch ist dumm, höstens zu faul, zu bequem und zu unbeholfen. Aber niemals dumm. Jedem Hinterwälter könnte ich [lexicon]AVISynth[/lexicon] beibringen, wenn er es will. Wollen aber viele nicht, aus bequemlichkeit herraus schon.


    Naja, jedem das seine.


    Vor allem... du findest Facecams nervig, machst aber extra ein Tutorial darüber? Warum? ^^ Macht es Sinn für dich oder anderen, wenn du nicht weißt was man da noch machen kann mit dieser Möglichkeit? ^^


    Und nein, du hast hier keinen Beleidigt und ich hege auch kein Groll gegen das Video an sich. Ich fands halt einfach zu mager ausgefallen und man hätte mehr reinpacken können. ^^


    Ich mag auch keine Facecams, aber die Funktion Bild in Bild ist ja nicht nur für Facecams, sondern man kann nebenbei auch andere Sachen mit einblenden lassen. Statische Bilder, Verziehrte Rahmen usw.


    Die Materie kann man immer weiter ausbauen, wenn man es verstanden hat. Aber wie gesagt... nur Drag&Drop... ist zu wenig. Das bekommen 4 jährige auch noch hin, wenn man es ihnen zeigt.
    Dein Puplikum für dieses Tut, sollte doch aber schon die 15+ jährigen ansprechen, oder?


    Ich meine, dann hättest du noch zusätzlich zeigen müssen wie man das Prog installiert und richtig startet. Weil wenn User nicht mal Spuren mit Videos per Drag&Drop füllen können, dann werden se sicher nicht mal das Programm installiert bekommen ^^


    Ich finds desshalb etwas Fail das Tutorial nur diese eine Sache da zu zeigen. Hätteste dich damit beschäftigt, hätteste noch mehr zeigen können was das angeht ^^ Garantiert.

    Natürlich kann man vieles selbst herausfinden, aber hast du schon mal auf Gutefrage.net geschaut? Da werden auch Dinge gefraft, die man mit Google ganz einfach herausfinden könnte. Nur googeln die Leute es nicht, weil sie zu faul sind und alles einfach erklärt bekommen wollen! Und genau für diese Leute ist das Video gedacht und nicht für Superprofis, wie du sicherlich einer bist, Sagaras


    Jeder Mensch hätte das von alleine herrausbekommen, weil das eine einfache Drag&Drop Sache ist. Die, die es nicht herrausgefunden hätten, könnten nur Kinder sein unter 14 Jahren oder Leute die denken das ein PC das gleiche ist wie eine Konsole ^^


    Außerdem... Nobody ist Perfect. Selbst ich mache Fehler. Wäre ja schlimm wenn ich keine machen würde ^^ Aber ich finde das dein Tut zu kurz und mit zu wenig ausgestattet hast. Ich meine... du erklärst wirklich nur eine Drag&Drop Geschichte. 2 oder 3 Klicks die man mit der Maus macht. Das ist einfach viel zu wenig. Hättest es weiter ausbauen sollen. z.B. das du das Facecambild animiert hättest, das sich von Links nach Rechts bewegt. Oder hättest noch erklärt wie man einem Facecamvideo einen [lexicon]Alphakanal[/lexicon] gibt um bestimmte Farben darauf transparent zu machen. Das wäre interessanter zusätzlich noch gewesen und hätte nach mehr ausgesehen.


    Und wenn sich dein Video ein "Superprofi" anschaut, dann fragt er sich wozu das gut sein soll. ^^
    Weil das halt eine Geschichte ist die selbst der letzte Hinterweltler herrausbekommen hätte ^^ Ist wirklich so. Die, die es nicht herrausbekommen hätten, sind wirklich meist Menschen die denken das ein PC das gleiche ist wie eine Konsole. Es wird nix hinterfragt bei diesen Leuten, es muss nur laufen bei denen. Aber dann denke ich sind diese Leute falsch bei [lexicon]Let's Play[/lexicon]'s. Weil dieses Hobby den Kernpunkt nicht nur beim Spielen hat und Kommentieren, sondern das A und O auch bei der Videobearbeitung liegt. Und gerade das wollen viele nicht verstehen oder sie glauben bereits das sie es verstehen. Aus der Tatsache herraus zu zeigen das sie wer sind. Und dann kommen se irgendwann ins Forum und fragen Sachen wie: "Facecamaufnahme sieht nicht aus wie ich aufgenommen habe" oder "Warum ist meine Facecamaufnahme so asynchron zum Spiel"


    Sachen halt wo FPS Konvertiert werden und zu Ghosting Effekten führen oder FPS die zum Spiel einfach nicht passen und von der [lexicon]NLE[/lexicon] korrigiert werden um anzugleichen.


    Ein einfaches hinzufügen ohne zu wissen wie die Quelldatein sind, kann durchaus nach hinten losgehen. Sowas sollte man erwähnen dann.


    Zu 1.:
    Du hast natürlich völlig Recht, globale Variablen gehören nicht in schönen Code rein. Hab ich wohl beim zusammenschustern der Funktion nicht so drauf geachtet
    Wäre es zur generellen Flexibilität dann nicht besser, in der Funktion die Webcam noch gar nicht zu resizen und über das Grundvideo zu legen sondern nur jenes zu laden, schneiden, den Rahmen rumzusetzen und dann als separaten Clip zurückzuliefern? Dann kann man damit später alles machen was man möchte. Oder wie hattest du das gemeint?


    Deine Function einfach mal abändern damit diese Flexiebler wird. Die FPS Global zu setzen ist schon ganz ok soweit, aber du solltest wissen das egal welches Video du mit Overlay auf die Grundfläche draufzeichnest, die FPS der Grundfläche genommen wird.


    Beispiel:


    v1 = 30FPS
    v2 = 25FPS


    v = Overlay(v1,v2)


    Hier würde v gleich 30 FPS haben. v2 wird automatisch gechanged, da es die FPS des Videos von v1 bekommt.


    So könnteste dir ein Filter sparen für die FPS und müsstest diese nicht mal Global deklarieren.


    Breite und Höhe hätte ich der Funktion zugeordnet als weiteres Argument, so das man selbst bestimmten kann wie groß das sein soll.


    Damit hätteste keine Globalen Variablen mehr und alles wäre Flexiebler schon ohne auf Statische Werte zurückgreifen zu müssen die vorher mit Global deklariert wurden.


    Zu 2.:
    Ich hatte das bis jetzt nur verwendet um die Asynchronität, die zwischen dem Einschalten der Webcam und der Aufnahme des Games o.ä. entsteht, auszugleichen. Daher ist mir der Fehler auch noch nicht aufgefallen. Wenn man davon ausgeht, dass Anfang und Ende sowieso rausgeschnitten werden, sollte das auch kein Problem darstellen. Nichtsdestotrotz ist es natürlich deutlich besser, das Ganze mit ApplyRange umzusetzen.


    Ich gebe dir mal ein paar Ideen mit für das Problem was du hast, weil es eigentlich gesehen nur ein Verschieben ist der Spur:


    Wenn Webcamvideo größer ist als Grundvideo:
    v1 = Grundvideo
    v2 = Webcam <- Videos am beisten schon beim Laden resizen und versuchen anzugleichen
    Anfangsframe = 10 <- Das ist bei dir int [lexicon]frame[/lexicon]


    Code
    v2 = v2.Trim(Anfangsframe, v1.framecount)
    Overlay(v1, v2, v2.width - 20, v2.height - 20, opacity = 0.7)


    Damit würde die Facecam am Anfang etwas geschnitten werden und nur so lang sein wie die Grundaufnahme


    Wenn die Webcamaufnahme allerdings zu kurz ist, weil man vllt mehrere einfügen will, dann wäre es gut es mit ApplyRange auszustatten.


    Code
    v2 = v2.Trim(Anfangsframe, v1.framecount)
    ApplyRange(v1, 0, v2.framecount, "Overlay", v2, v2.width - 20, v2.height - 20)


    Mit dem letzten hier, hätteste zwei Fliegen mit einer Klappe. Wenn ein Video nur 50 Frames z.B. hat und ich sage Trim(0, 500) oder ähnliches, kann er ja nicht da schneiden wo nix ist. In dem Sinne hat das Video weiterhin nur 50 Frames. Und das geschieht in der ersten Codezeile hier schon. Bei ApplyRange verwende ich nur noch das was mir gegeben ist. Wenn v2 nun länger sein sollte am Ende, wird was weggeschnitten damit es zum Grundvideo gleich ist und wenn es zu kurz ist, wird der Fehler nicht angezeigt mit einer schwarzen Fläche dank Apply Range.
    So ist man in der Lage die Webcamaufnahme nach links hin zu verschieben. Wie eine Videospur in einer [lexicon]NLE[/lexicon] halt.

    Ich steuer mal einfach die Funktion für [lexicon]AVISynth[/lexicon] bei, die ich für Webcam-Overlays nutze. Die Lädt einfach das Webcam-Video, verschiebt es um die angegebenen Frames, sodass alles synchron ist und fügt nen Webcam-Rahmen ein. Zu guter Letzt wird es halt in das Video eingefügt.


    2 Mängel würde ich deinen Skript geben.

    • Die Variablen webcam_breite, webcam_hoehe und fps müssen laut deinen Skript global deklariert werden
    • Ich hab mal ein Test gemacht, wo die Webcamaufnahme kürzer ist als die Aufnahme wo sie drauf kommen soll.


      Aufgerufen hab ich es so:


      AddWebcam(v, "Video.avi", 2500)


      Die Webcam sollte 2500 Frames vorne weg nehmen. Manko an der Sache aber: Am Ende bleibt da wo die Webcam Aufnahme ist bis zum Schluss des Grundvideos ein schwarzes leeres Webcam Kästchen.

    Also durch Punkt 1 ist das ganze nicht mehr Flexibel wenn du das so machst. Ich könnte ja jetzt nicht wenn ich meine Webcam eine andere Größe geben möchte irgendwann innerhalb der Aufnahme es ändern, da die Variablen ja innerhalb in der Funktion Global deklariert werden müssen. Keine schöne Lösung. Für fps ist das vllt noch gut oder für die Grundzielgröße, aber niemals für Objekte die man auf dieser Grundfläche zeichnen möchte. Diese sollten Flexibel bleiben.


    Bei Punkt 2 ist es eher ein Schönheitsfehler. Auch hätte ich es vllt nicht so gelöst wie du jetzt, weil praktisch gesehen weiß [lexicon]AVISynth[/lexicon] alle Infos zu den geladenen Datein. Bedeutet das die komplette Framelänge abgefragt werden kann. Das heißt das du perfekt schneiden kannst indem du beide Videos in betracht ziehst. So hätteste z.B. auch diesen Schöhnheitsfehler vermieden den ich aufgelistet habe.


    Tipp: Statte dein Overlay wo du die Webcam einfügst mit ApplyRange aus.


    Das ganze sieht dann in der letzten Zeile so aus:


    clip0 = ApplyRange(clip0, 0, w0.framecount, "Overlay", w0, 20, 20).ConvertToYV12()


    Dann wird Overlay nur so lange angewendet, wie die Webcam an Frames besitzt. Danach ist die Webcam weg, sollte das Grundvideo weitergehen.

    Eigentlich würde ich am liebsten gar nix schreiben.


    Aber ich erkläre mal mit einfachen Worten das was du im Video über 2 Minuten erklärst:


    2 Videos auf eine einzelne seperate Spur ziehen und jeweils die Facecam Spur positionieren.


    Kann jede [lexicon]NLE[/lexicon]. Und ich würde auch sagen das es jeder noch zu Unwissende Mensch es schaffen würde 2 Videospuren zu nutzen durch blankes Drag&Drop Verfahren ^^


    Das ganze als Tutorial noch zu verfassen... weiß nicht ob das vllt ne gute Idee war. Hätteste noch so um die 100 andere kleine Tricks gezeigt die man mit dem Programm noch machen kann, so hätteste auf jedenfall ein Tutorial machen können nur für diese [lexicon]NLE[/lexicon] die du nutzt.


    Aber so, ist es einfach zu wenig und überflüssig. Sorry. Aber das war zu wenig um es nicht selbst herausfinden zu können.


    Wäre es basierend auf eine Skriptsprache wie [lexicon]AVISynth[/lexicon], dann wäre ein Tutorial für sowas interessanter, weil da muss man schon mehr können als nur Drag&Drop.

    Heute zeige und gebe ich einen recht brauchbaren [lexicon]AVISynth[/lexicon] Effekt. Ihr kennt ja bislang (wenn überhaupt) nur den regulären Fadein und Fadeout Effekt.


    Heute gebe ich euch eine andere Form der Überblende. Die sogenannte Seitenblende.


    Das Prinzip beruht auf den bereits vorhandenen Beitrag mit dem dynamischen und statischen Alphakanal


    Aussehen würde der Übergangseffekt so (Von links nach rechts sich aufbauend):



    Downloaden und testen könnt ihr es hier: Alphablend.7z (279KB)


    Weitere Informationen in der Info.txt und den dazugehörigen AVS Files.


    Benutzung dieses Effekts ist ganz einfach:

    Code
    Import(D:\Alphablend\Alphablend v2.0.avs")
    v1 = AVISource("Video_1.avi").AssumeFPS(30, 1)
    v2 = AVISource("Video_2.avi").AssumeFPS(30, 1)
    alphablend(v1, v2, $0000FF, 20, $00FF00, 20, "D:\Alphablend\Alpha Effects\Pic_left_to_right.avs")


    Da die Übergangs Effekte auf 2 Farben basieren die dann einfach ausgetauscht werden, hab ich die Möglichkeit geboten jedem selbst Effekte mit [lexicon]AVISynth[/lexicon] zu gestalten. Entweder mit [lexicon]Gimp[/lexicon] Bilder erstellen und diese nutzen oder einfach via Skript selbst welche basteln.


    Es muss nur von einer Farbe zur anderen gewechselt werden.


    Viel Spaß damit.