"Wasserzeichen" Bild bzw. Text ins Video einfügen?!

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • "Wasserzeichen" Bild bzw. Text ins Video einfügen?!

    Anzeige
    Hi,
    folgendes: Wenn ich mit OBS streame bzw. aufnehme kann ich ja einstellen das im Video z.B. oben rechts ein Text steht bzw. ein Bild ist, quasi wie ein Wasserzeichen. Da muss ich ja nur neue Szenen einfügen.
    Wenn ich jetzt mit dxtory ein Let`s Play aufnehmen möchte nimmt er ja quasi "nur" das Spiel auf. Ich möchte aber in meinen Let`s Plays ein sogenanntes "Wasserzeiche", Bild oder ähnliches haben. Wie krieg ich das dort dann rein.
    Hab im Moment nur den Windows Movie Maker zur Verfügung, kriegt man das mit dem hin?
    Wäre um jegliche Tipps dankbar :)
  • Anzeige
    Kleiner Tipp am Rande: Du kannst dir auch einfach Bandicam oder etwas Ähnliches holen, da hast du direkt ne Einstellung dazu! Ansonsten musst du das wohl im Nachhinein mit nem Videobearbeitungsprogramm machen! ^^
    Abonnieren für den Weltfrieden! xD ---> youtube.com/channel/UCv1vmMACa…7qODHw?sub_confirmation=1
  • Da du dxtory nutzt, nehm einfach nach der Aufnahme AviSynth, erstell dir dein Logo als Transparentes PNG (sprich auch das Logo durchsichtig) und dann einfach folgendes in ein AVS-Script packen:

    Quellcode

    1. video = avisource("DEINE_AUFNAHME_DATEI.avi").converttorgb32()
    2. logo = ImageSource("DEIN_LOGO.PNG", fps=30, pixel_type = "rgb32").loop()
    3. layer(video, logo, x=0, y=0)


    Das kann man dann beliebig weiterverarbeiten und hat dauerhaft ein Logo im Bild.
    ——YouTube————————————————————————————————————————————
    — Endlos-Projekte: Minecraft (SinglePlayer), Craft The World, Banished, Besiege, Sims4
    — ..Abgeschlossen: Leisure Suit Larry 6+7, Dishonored, Surface 2+3, Mirrors Edge, uvm
    — . Kurz- Projekte: The Tower, Fighting Is Magic, Euro Truck Simulator 2, uvm
    — ......Retro-Ecke: Day Of The Tentacle, Flight Of The Amazon Queen, NFS: HP2, uvm
    ————————————————————————————————————————————TbMzockt.de—
  • TbMzockt schrieb:

    Da du dxtory nutzt, nehm einfach nach der Aufnahme AviSynth, erstell dir dein Logo als Transparentes PNG (sprich auch das Logo durchsichtig) und dann einfach folgendes in ein AVS-Script packen:

    Quellcode

    1. video = avisource("DEINE_AUFNAHME_DATEI.avi").converttorgb32()
    2. logo = ImageSource("DEIN_LOGO.PNG", fps=30, pixel_type = "rgb32").loop()
    3. layer(video, logo, x=0, y=0)


    Sry ich versteh nur Bahnhof :/ !! Bin recht neu in dem ganzen...
    Was für ein Videobearbeitungsprogramm sollte man denn nutzen, was auch fürn Anfang nicht zu teuer wird?!

    Das kann man dann beliebig weiterverarbeiten und hat dauerhaft ein Logo im Bild.
  • Sony Vegas ist relativ günstig für das, was es bietet, Moviemaker würde ich eher meiden.
    ——YouTube————————————————————————————————————————————
    — Endlos-Projekte: Minecraft (SinglePlayer), Craft The World, Banished, Besiege, Sims4
    — ..Abgeschlossen: Leisure Suit Larry 6+7, Dishonored, Surface 2+3, Mirrors Edge, uvm
    — . Kurz- Projekte: The Tower, Fighting Is Magic, Euro Truck Simulator 2, uvm
    — ......Retro-Ecke: Day Of The Tentacle, Flight Of The Amazon Queen, NFS: HP2, uvm
    ————————————————————————————————————————————TbMzockt.de—
  • Ich würde dir Sony Vegas empfehlen da kannst du dann alles Schneiden und Einfügen und dann über den Frameserver mit MeGui Enkodieren :)
    Ich bin eine Signatur. Theoretisch könnte man mich dazu nutzen sinnvolles Zeug in diesem Forum zu verbreiten, jedoch ist mein Autor aufgrund seines Intelligenzquotienten nicht dazu in der Lage etwas sinnvolles zu schreiben.
  • FUNtastic schrieb:


    Hab im Moment nur den Windows Movie Maker zur Verfügung, kriegt man das mit dem hin?
    Wäre um jegliche Tipps dankbar :)


    Mit dem MovieMaker geht das nicht. Der hat kein PiP.

    Einfach,gratis und ganz brauchbar: Avidemux. Damit sollte es gehen.

    Und wenn Dir da die Quali dann irgendwann nicht mehr zusagt, dann wirst Du wohl auf MeGui umsteigen. Dann hätten wir beide den selben Weg genommen XD
    ☆:•´¯`•.♥ YouTuberinStreamerintypisches MädchenHonigkuchenpferdleise Tönegroße Klappeviel Herz ♥.•´¯`•☆
  • TbMzockt schrieb:


    Quellcode

    1. video = avisource("DEINE_AUFNAHME_DATEI.avi").converttorgb32()
    2. logo = ImageSource("DEIN_LOGO.PNG", fps=30, pixel_type = "rgb32").loop()
    3. layer(video, logo, x=0, y=0)


    Das kann man dann beliebig weiterverarbeiten und hat dauerhaft ein Logo im Bild.


    Warum konvertierst du das Video absichtlich in RGB? Dann dauert ja der Encode länger. Das sollte man nur machen, wenn bestimmte Cropelemente ungerade Auflösungen haben. Ansonsten sollte man RGB nur auf das Bild anwenden das über das Alphakanal verfügt.

    Dann wirst du auch sehen, das Layer nicht gehen wird, da nur das Bild was man einfügen will über RGB verfügt. Zudem hat Overlay den tollen Aspect das man solche Logos auch transparent machen kann.

    Aber dein Code kannste auch noch optimieren. Und zwars so:

    Quellcode

    1. video = avisource("DEINE_AUFNAHME_DATEI.avi", pixel_type="RGB32")
    2. logo = ImageSource("DEIN_LOGO.PNG", fps=30, pixel_type = "rgb32")
    3. layer(video, logo)


    Das mit dem Pixel_type konnteste nicht wissen, das ist ein Argument das so ziemlich in jeder Source angegeben werden kann um Quellmaterial gleich als RGB oder YUV einzulesen.

    Den loop() Befehl hinter ImageSource hab ich nicht verstanden was der sollte. Hat kein Zweck erfüllt. Das ist als ob du loop(0) angibst. Da das Bild aber auf das Video ständig gezeichnet wird, ist es völlig belanglos. Sinn es anzugeben wäre wenn du das entsprechende Video auf das Bild legen würdest.

    x und y Angabe auch Sinnlos, wenn sie eine 0 Angabe haben, können dann wegfallen in dem Moment. Aber zur Anschaulichung ist es gut das man es erwähnt das man da das Bild positionieren kann.

    Nachteil ist halt das das Video dabei in RGB abläuft komplett. Aber die meisten nehmen in YV12 auf, das auch viel schneller zu verarbeiten ist.

    Und dafür ist das hier am geeignesten:

    Quellcode

    1. video = avisource("DEINE_AUFNAHME_DATEI.avi")
    2. logo = ImageSource("DEIN_LOGO.PNG", pixel_type = "rgb32")
    3. logomask = logo.ShowAlpha(pixel_type="RGB32")
    4. Overlay(video, logo, 0, 0, logomask, opacity = 0.7)


    Zu einem läuft das komplette Video auf YV12, zum anderen wird nur das kleine Bild dann in RGB behandelt und wird via Overlay von RGB nach YV12 gleich konvertiert, da das Video bereits auch YV12 hat. In diesem Fall ist es sogar überflüssig die FPS des Bildes anzugeben, da die FPS des Videos genommen wird dabei.

    Damit läuft nicht nur der Encode schneller, sonder Overlay ist dazu noch in der Lage via opacity Argument das Bild transparent zu machen zusätzlich zum Alphakanal.
  • Sagaras schrieb:

    Warum konvertierst du das Video absichtlich in RGB?

    Ursprünglich hat er gemeckert als ich den Layer ohne vorherige Konvertierung drüber legen wollte und statt Stundenlang im Netz zu suchen hab ich (Programmierer-Typisch) einfach den kürzesten Weg gewählt und 'nen Convert drauf gehauen.

    Der Rest des eigentlichen Scripts woraus das ganze stammt arbeitet bis zum Overlay am Ende komplett in YV12 und der Layer ist Zeitlich nicht wirklich DAS große Problem wenn man sich mit "MSuper" und ScriptClip in der Aufnahme ausgelassene Frames rekonstruieren lässt (merkt man einzig bei harten Kontrasten, unnatürlichen Formen und wenn das Video wirklich nur auf 15fps bei der Aufnahme kommt, was zum Glück selten der Fall ist).

    Ein Dynamisches abwägen nach PSNR oder anderen Methoden ob nun ein Blend oder eben das Motion-Tracking besser ist habe ich jetzt ausgelassen, so viel Zeit wollte ich da nicht ins Script stecken, das ist nur ein Template welches ein Programm kopiert, den Dateinamen reinpackt und das ganze dann als Batch-Job encoded wird (Lagarith, Quellmaterial in 20 Minuten häppchen bevor ich es dann wirklich schneide)

    .
    .

    Sagaras schrieb:

    Den loop() Befehl hinter ImageSource hab ich nicht verstanden was der sollte.

    Ich habe ein animiertes Logo und das hat ohne "loop()" tatsächlich nach exakt 350 Frames (es hat nur 350 Frames) aufgehört sich zu bewegen und verschwand komplett aus dem Video. ;)
    ——YouTube————————————————————————————————————————————
    — Endlos-Projekte: Minecraft (SinglePlayer), Craft The World, Banished, Besiege, Sims4
    — ..Abgeschlossen: Leisure Suit Larry 6+7, Dishonored, Surface 2+3, Mirrors Edge, uvm
    — . Kurz- Projekte: The Tower, Fighting Is Magic, Euro Truck Simulator 2, uvm
    — ......Retro-Ecke: Day Of The Tentacle, Flight Of The Amazon Queen, NFS: HP2, uvm
    ————————————————————————————————————————————TbMzockt.de—
  • TbMzockt schrieb:

    Ich habe ein animiertes Logo und das hat ohne "loop()" tatsächlich nach exakt 350 Frames (es hat nur 350 Frames) aufgehört sich zu bewegen und verschwand komplett aus dem Video.

    Ein animiertes PNG ? Wenn dann kenn ich nur GIF was animiert werden kann. Aber mit ImageSource kannst du ledeglich nur 1 Bild aus der Animation laden dann. Hab ich grad probiert.
    Wäre mir auch neu das Layer ohne ApplyRange das Bild das das via ImageSource geladen wurde einfach so aufhört sich anzuzeigen auf dem Video ;D

    GIF Animationen werden für gewöhnlich mit DirectShowSource geladen oder noch besser wäre es mit dem Plugin ImageSequence zu laden.


    Und das mit dem RGB hab ich jetzt nicht aus dem Grund gesagt das sich eventuell Farben etc. ändern, sondern einfach aus dem Grund das die Berechnung einfach enorm erhöht wird dabei. Warum will man ein Video mit purer Absicht in RGB konvertieren? Aufnehmen tust du doch gar nicht mit RGB, sondern mit YV12 denk ich mal. Halt einen YUV420 Planar. Dieser ist deutlich schneller zu berechnen bei der neuen Bilderstellung als RGB Material. Du ruinierst dir damit nur die Leistung des Encodes bei MeGUI. Nur das Bild verfügt über einen Alphakanal und nur dieser muss ja raus. Das ist Leistungsfreudiger, als wenn man noch zusätzlich das Video in RGB laufen lässt.

    Auch wenn du es am Ende irgendwo wieder in YV12 konvertierst, die Berechnung läuft bereits mit RGB und wird nur am Ende wieder zu YV12 konvertiert. Sprich... du konvertierst völlig unnötig.

    Zum einen kann es Farben beeinflussen wenn man YV12 auf RGB und dann wieder in YV12 konvertieren lässt und zum anderen halt der enorme Encodeprozess.