Polecenie:
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv
produkuje film z obrazem "watermarklogo.png" w lewym górnym rogu. Wywołanie tego polecenia z innego programu powinno być dość proste.
Złamanie to w dół po trochu, żeby go zrozumieć:
ffmpeg
jest program będziesz używać do dodawania znaku wodnego.
-i
służy do określania plików wejściowych.
inputvideo.avi
to plik wejściowy określony przez -i
.
służy do określenia filtra wideo. W tym przypadku jest to wszystko w cudzysłowach.
movie=watermarklogo.png
załaduje plik, którego chcesz użyć jako znaku wodnego. Tutaj ładujemy plik jako źródło wideo (przy użyciu movie
) niezależnie od tego, czy plik jest plikiem wideo. W tym przypadku jest to obraz.
[watermark]
oznacza właśnie załadowany plik. Ta etykieta zostanie wykorzystana w pozostałej części kodu.
[in]
i [out]
odnoszą się do strumienia wejściowego i strumienia wyjściowego wideo.
overlay
jest używany zaraz po etykiecie [watermark]
, aby się do niej odnosił. W tym prostym przypadku umieszczamy overlay
pod 10:10
. Oznacza to, że znak wodny zostanie przesunięty o 10 pikseli od góry i od lewej strony. Jeśli chcesz uzyskać prawy dolny róg, użyjesz overlay=main_w-overlay_w-10:main_h-overlay_h-10
, gdzie main_w
jest szerokością strumienia wejściowego, overlay_h
jest wysokością pliku nakładki i tak dalej.
Wreszcie, outputvideo.flv
jest wyraźnie plikiem, do którego chcesz zapisać wyniki.
Dodatkowe informacje:
znalazłem tej informacji za pośrednictwem the site Dmitry had mentioned w komentarzach. Alex wspomniał, że ta strona może być zbyt skomplikowana dla kogoś, kto jest nowy w takich rzeczach.Jednak nigdy nie robiłem czegoś takiego iw ciągu kilku minut miałem wyniki, które według mnie są poszukiwane.
Uwaga: miałem kłopoty moment, kiedy uzyskiwanie błąd:
error while opening encoder for output stream #0.1
Jeśli masz ten sam problem, prawdopodobnie trzeba ręcznie ustawić częstotliwość próbkowania z wykorzystaniem parametru -ar (np -ar 22050).
Przykład kodu można łatwo zmodyfikować, aby zastosować dowolny filtr. Jaki jest problem? Przykłady użycia nakładek i filtrów filmowych można znaleźć w [Jak znak wodny wideo za pomocą FFmpeg] (http://www.idude.net/index.php/how-to-watermark-a-video-using-ffmpeg). –
Problem z tym przykładem polega na tym, że jest on przeciążony (2 filtry, wykres filtru itd.). Dla kogoś, kto jest nowy i chce dowiedzieć się, jak zastosować jeden AVFilter, jest to mylące, ponieważ nie wyjaśnia, co jest absolutnie niezbędne, aby zacząć. –