Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : (Sonstige) - Wasserzeichen in Videos nachträglich ohne encodieren einfügen



Jana-Maria
28.03.2019, 19:49
In encode hauptsächlich mit Vidcoder oder Handbrake, um Subs hardzucoren. Leider kann man da kein Wasserzeichen als Text oder Logo mit einfügen.
Muss leider feststellen das dann einfach die Vidoes geklaut werden um sie dann als eigenes zu verkaufen auf größeren Sites.
Fakto ich mach mir die Arbeit und andere bereichern sich dran auf größeren Sites.

Seh ich absolut nicht mehr ein, deshalb suiche ich eine Methode um Wasserzeichen nachträglich einzufügen ins Video, ohne neu encodieren zu müssen über aviddemux oder sonstigen Kram was nochmal ewig dauert. Formatfactory kann beim encoden gleich Wasserzeichen einfügen jedoch ist das Programm für Massenencodes von mehreren Vids unbrauchbar.

Hab https://www.visualwatermark.com/de/video-watermark/ gefunden, eignet sich super aber kostet aber und man weiß nicht was es noch alles in Infos ins Video gibt und die Testversion hat auch nen Watermark.
Sind hauptsächlich .mkv Dateien.

4nn8
29.03.2019, 02:42
Zwar nicht so komfortabel, aber ich hätte es auf der Kommandozeile mit ffmpeg (https://ffmpeg.org/) gemacht.
Die Parameter die Handbrake an ffmpeg übergibt kann man doch bestimmt einsehen. Dann müsstest du das nicht erst mühsam zusammenfummeln.
Wie man dann z.B. Bilder über die Videos legt ist hier (https://stackoverflow.com/questions/10918907/how-to-add-transparent-watermark-in-center-of-a-video-with-ffmpeg) gezeigt.
Um mehrere Videos zu encoden habe ich ein Bash-Skript:

@echo off
for /r %%i in (*.webm) do (
ffmpeg -i "%%i" -c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p -movflags +faststart "%%~ni.mp4" && del "%%i"
)
Das Skript liegt mit den zu encodierenden Videos in einem Ordner.
Bei Ausführung werden in diesem Fall alle .webm-Videos zu .mp4 encoded und die .webm gelöscht.

Was stimmt denn mit FormatFactory nicht?

Jana-Maria
29.03.2019, 05:31
https://stackoverflow.com/questions/35831770/batch-overlay-logo-to-directory-of-video-files


@echo off
for %%I in ("E:\input\*.mkv") do ffmpeg.exe -i "%%I" -i E:\input\logo.png -filter_complex "[1:v]scale=100:50 [ovrl], [0:v][ovrl]overlay=W-w-10:H-h-10[watermark]" -map "[watermark]" -map 0:a -codec:v libx264 -preset veryfast -crf 20 -codec:a copy "E:\output\%%~nI.mkv"

CMD kommt kurz, schließt sich wieder, nichts passiert.



@echo off
fffmpeg.exe -i "E:\input\*.mkv" -loop 1 -i E:\input\logo.png\
-filter_complex "[1:v][0:v]scale2ref=iw/8:-1[ovrl][0v]; \
[0v][ovrl]overlay=W-w-10:H-h-10[watermark]" \
-map "[watermark]" -map 0:a \
-codec:v libx264 -preset veryfast -crf 20 -c:a copy "E:\output\*.mkv"

wieder selbes Ergebnis, CMD kommt kurz, nichts passiert.

Formatfactory aus dem Grund nicht, es sind 3-5 Subs im Video ohne extra .srt, .ass, heißt ich müsste den Untertitel erst aus dem Video holen um es später wieder einzubrennen. Macht noch mehr Arbeit. Vidcoder und Handbrake erkennen die auch so.
Hasst mich, ch bin nicht so für Batch und co., hab lieber ne GUI vor mir.

4nn8
29.03.2019, 11:14
Mit der GUI bin ich vollkommen auf deiner Seite. Wenn ich aber nicht mal mit Adobe Premiere den Videoencoder oder den CRF-Modus einstellen kann, muss ich leider auf ffmpeg zurückgreifen.

Komisch, dass das die akzeptierte Antwort auf Stackoverflow war.
Wenn ich auch einen absoluten Pfad in der Loop angebe, funktioniert es auch nicht.
So muss die aussehen:

for /r "E:\input" %%I in ("*.mkv") do

Mit diesem Befehl geht es bei mir:

@echo off
for /r "E:\input" %%I in ("*.mkv") do (
ffmpeg -i "%%I" -i "E:\input\logo.png" -filter_complex "[1:v]scale=100:50 [ovrl], [0:v][ovrl]overlay=W-w-10:H-h-10[watermark]" -map "[watermark]" -map 0:a -codec:v libx264 -preset veryfast -crf 20 -codec:a copy "E:\output\%%~nI.mkv"
)

Wenns bei dir nicht geht:

Der Ausgangsordner muss existieren (E:\output\)
ffmpeg ist nicht im Pfad

Entweder du packst es in den Pfad ;)
Oder statt ffmpeg -i ... schreibst du "C:\Pfad\zu\ffmpeg.exe" -i ...

Jana-Maria
29.03.2019, 23:01
Danke. Funktoniert soweit, speichert die Datei auch im Output (der Ordner ist vorher leer), erstellt die Datei, allerdings kommt am Ende im Commandofenster immer.

testfile.mkv already exist overwrite? [Y/N]
Bei meheren Dateien kann sowas dann nervig werden, vorallem wenn man die Batch über Nacht laufen lässt weil SD, 720p-2160p neu encodet werden nochmal von ffmmeg.

Praktisch wäre halt irgendein Encodierprogramm wo man direkt nen Wasserzeichen reinhauen kann oder sowas wie Visualwatermark.
Falls sowas nicht gibt, leg ich halt die 30$ für ne Lizenz hin, ist ja auch nicht die Welt.

BTW: Pavtube wäre ne Alternative, allerdings gibt es das nicht cracked soweit ich es gesucht habe oder die crack Version ist voller Viren.

FFMMEG kann ja selber keine Subtitles hardcoren ansonstem könmte man es ja direkt darüber alles in einen Schritt machen.
MEncoder kann das. ist allerdings auch Commandoline und mit Verbindung mit TEncoder was mit der Gui herkommt könnte man vielleicht über nen Custumcommand ein Wasserzeichen beim Encoden einstellen.
Aber kenn mich damit halt net aus.

https://www.szenebox.org/images/_imported/2019/03/29.jpg

pythonfreak
30.03.2019, 01:07
Nimm doch AviSynth, da gibts scripts, subs kann man auch direkt hardcoden, das fertige script dann einfach an die x264.exe übergeben zum encoden...
https://github.com/Anime4000/IFME/wiki/AviSynth--Add-Watermark

4nn8
30.03.2019, 12:02
ffmpeg kann natürlich auch Subs hardcoden (https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo) ;)
Und Dateien kannst du immer überschreiben lassen, wenn du -y hinzufügst.

SzeneLink
04.04.2019, 19:51
In encode hauptsächlich mit Vidcoder oder Handbrake, um Subs hardzucoren. Leider kann man da kein Wasserzeichen als Text oder Logo mit einfügen.
Muss leider feststellen das dann einfach die Vidoes geklaut werden um sie dann als eigenes zu verkaufen auf größeren Sites.
Fakto ich mach mir die Arbeit und andere bereichern sich dran auf größeren Sites.

Seh ich absolut nicht mehr ein, deshalb suiche ich eine Methode um Wasserzeichen nachträglich einzufügen ins Video, ohne neu encodieren zu müssen über aviddemux oder sonstigen Kram was nochmal ewig dauert. Formatfactory kann beim encoden gleich Wasserzeichen einfügen jedoch ist das Programm für Massenencodes von mehreren Vids unbrauchbar.

Hab https://www.visualwatermark.com/de/video-watermark/ gefunden, eignet sich super aber kostet aber und man weiß nicht was es noch alles in Infos ins Video gibt und die Testversion hat auch nen Watermark.
Sind hauptsächlich .mkv Dateien.

Das Programm ist echt sehr gut, dakann man über ne Lizenz nachdenken, wenns keine Raubkopie gibt

Jana-Maria
04.04.2019, 22:48
Hab das Programm mittlerweile, die Lösung über Avisynth und ffmmeg einfach zu zeitaufwendig und arbeitet nicht optimal. Selbst auf Veryfast brauch ein Video teilweise das 3-5fache an Kodierzeit als Vidcoder oder Handbrake.
Und auch fehleranfällig teilweise wurden die Subs abgeschnitten etc. Kann sein das andere mit dieser Lösung leben können aber für mich ist es nichts gewesen.

SANDMAN
05.04.2019, 04:17
Du klaust doch dein zeug selber, also wozu aufregen und es so kompliziert machen :D

4nn8
05.04.2019, 08:52
Hab das Programm mittlerweile, die Lösung über Avisynth und ffmmeg einfach zu zeitaufwendig und arbeitet nicht optimal. Selbst auf Veryfast brauch ein Video teilweise das 3-5fache an Kodierzeit als Vidcoder oder Handbrake.
Und auch fehleranfällig teilweise wurden die Subs abgeschnitten etc. Kann sein das andere mit dieser Lösung leben können aber für mich ist es nichts gewesen.

Komisch. ffmpeg sollte eigentlich mittlerweile alle Threads für x264 verwenden.
Oder encodest du auf der Grafikkarte mit Handbrake?
Das geht natürlich auch (https://trac.ffmpeg.org/wiki/HWAccelIntro) mit ffmpeg :D
Nur so kann ich mir Enkodierzeit erklären.

Hier mal eine Einteilung der H.264-Encoder:

x264 (CPU) gibt dir die beste Qualität pro Bitrate.
NVENC (GPU) ist am schnellsten im Enkodieren.
Intel Quick Sync Video (hm ^^ separate CPU könnte man sagen. Haben fast alle Intel CPU's heutzutage) ist am Energieeffizientesten.


Die Qualitätsunterschiede der Encoder ist so unterschiedlich, weil verschieden viel Gehirnschmalz eingeflossen ist. So erkläre ich mir das zumindest ^^

Wenn du also schnell enkodieren willst, könntest du auch alle 3 Varianten gleichzeitig nutzen :D
Da kommt Handbrake nicht hinterher.
Aber du hättest halt unterschiedliche Qualitäten je nachdem welcher Encoder encoded.

SANDMAN
06.04.2019, 04:05
Nachträglich kann man keine Wasserzeichen einfügen, kannst auch die teuersten Tools wie Sony Vegas und co benutzen und es wird nicht gehen! Genau so wie man sich kein Butterbrot von einem Brotleib schmieren kann ohne vorher ein Stück abzuschneiden :-)

Netflixlover
06.04.2019, 13:15
Man muss neu encoden um ein Wasserzeichen einzufügen man könnte theoretisch über den mkv header was einblenden lassen aber der geht sowieso verloren, weil die Hoster sowieso reencoden (oder machen die das nicht mehr?).

Jana-Maria
06.04.2019, 18:20
@SANDMAN wie wäre es wenn man zum Thema nichts sinnvolles beizutragen hat einfach mal nichts zu schreiben. So Sätze wie du klaust ja nur selber kann man sich echt sparen.

SANDMAN
07.04.2019, 03:23
Ist dass nicht Sinnvoll wenn ich dir sage dass es nicht geht ?

4nn8
07.04.2019, 09:39
Ist dass nicht Sinnvoll wenn ich dir sage dass es nicht geht ?

Ich glaube jeder bis auf dir hat verstanden, dass der Titel unglücklich gewählt wurde und dass das erneute Enkodieren nach Handbrake fürs Wasserzeichen gemeint war.

SANDMAN
07.04.2019, 10:31
Nope! steht doch ganz klar ohne neu zu encodieren, was nicht geht. Andernfalls ist es ja ein Kinder spiel ein Watermark hard zu coden !

4nn8
07.04.2019, 12:04
Das ist eigentlich die Stelle wo du deinen Fehler eingestehst; dass du aber einen Double Down machst... Respekt!

SANDMAN
07.04.2019, 15:03
Ich muss keine Fehler eingestehen bzw. wie du um den heißen Brei reden. Musst auch Jana nicht Verteidigen, wir kennen uns schon sehr lange ;-)