În materialul anterior (http://stressat.blogspot.com/2011/09/watermarks.html ) am arătat cum se pot ”marca” imagini cu text sau altă imagine/ logo, hai să vedem pe scurt cum se pot marca fișiere video.
1- Marcare cu text
Ne vom folosi de mencoder,parte a pachetului mplayer în unele distribuții Linux, sau instalat independent în alte distribuții.
În primul rând vom crea un fișier numit watermark.srt (da, da, da, pur și simplu tratăm textul pe care vrem să-l încărcăm pe video ca pe o subtitrare!) și adăugăm în el ceva de genul:
1
00:00:0,000 --> 01:50:10,000
Text de afișat pe video
În cazul meu fișierul conține textul:
1
00:00:0,000 --> 01:50:10,000
Stressat.blogspot.com
Dacă dorim ca textul să se modifice pe parcursul rulării filmulețului nostru vom scrie în watermark.srt mai multe linii, cam așa ceva:
Ok, am rezolvat cu textul care va urma să fie ”marcat”, adăugat, încorporat în fișierul video. Presupunem că avem deja acel fișier, putem lua un videoclip, un filmuleț, o captură de ecran, sau orice altceva. Eu am folosit o captură de ecran luată cu ffmpeg în konsole (puteți să vă inspirați din comanda mea pentru a vă realiza propriile capturi video, este marcată în consolă chiar la începutul materialului video). Pentru simplificare atât fișierul video, cât și watermark.srt se află în același director ~ (în caz contrar punem calea corectă către acestea...).
Deschidem o consolă/ terminal și dăm comanda:
mencoder sursă -o rezultat -ovc xvid -xvidencopts fixed_quant=3 -oac copy -sub "watermark.srt" -font "arial.ttf" -subpos 99
sursă = fișierul video inițial;
rezultat = fișierul video cu watermark, denumit după plac;
-sub =opțiune pentru subtitrare (fișierul watermark.srt);
-font = fontul folosit, se poate alege altul;
-subpos = poziția textului pe ecran, o putem modifica (80, 90, 95...).
Pentru mine comanda a fost:
Rezultatul ”muncii” mele se poate vedea aici, cu mențiunea că nu are sonor ”mulțumită” regulilor privind drepturile de autor; vă recomand să urmăriți clipul fullscreen la 720p pentru o calitate cât mai bună:
Pentru altă dimensiune a fontului modificați parametrul fixed_quant=3, înlocuind cifra 3 cu alta, 1 de exemplu pentru font mai mic.
Dacă preferați un text de altă culoare, puteți seta acest lucru în comandă adăugând parametrii -ass -ass-color culoare. Detalii despre codul culorilor puteți găsi aici: http://stressat.blogspot.com/2011/07/mplayer.html .De exemplu pentru scris verde -ass -ass-color fff0000, deci comanda va fi:
mencoder captura.avi -o captura-watermark1.avi -ovc xvid -xvidencopts fixed_quant=1 -oac copy -sub "watermark1.srt" -font "verdana.ttf" -ass -ass-color fff0000 -subpos 99
Rezultatul:
Sursă: http://technoslab.blogspot.com/2011/04/video-watermarking-using-php-and.html
2- Marcare cu logo/ imagine
Din materialul referitor la marcarea imaginilor ( http://stressat.blogspot.com/2011/09/watermarks.html ) știți cum se crează un logo, o mică imagine ce urmează să fie adăugată la o imagine sau fișier video. Deasemenea presupunem că aveți deja un fișier video (captură ecran, videoclip, filmuleț, etc).Deci vom trece direct la marcarea unui fișier video.
Ne vom folosi de ffmpeg, pachet care trebuie instalat. În funcție de distribuția folosită este posibil să trebuiască instalat separat și pachetul libavfilter...
Deschidem o consolă și dăm comanda
ffmpeg -i sursă.avi -vf "movie=watermark.png [wm]; [in][wm] poziție-logo [out]" -s 1290x960 -sameq rezultat.avi
Unde:
- sursă = fișier video inițial;
- watermark.png = nume logo;
- poziție-logo = locul unde vrem amplasat logo-ul;
- s 1290x980 = frame size, pentru monitorul meu asta e rezoluția;
- sameq = fără compresie, aceiași calitate;
- rezultat = fișierul video după adăugare logo.
Poziție logo:
- colțul stânga sus: overlay=10:10
- colțul stânga jos: overlay=10:main_h-overlay_h-10
- colțul dreapta sus: overlay=main_w-overlay_w-10:10
- colțul dreapta jos: overlay=main_w-overlay_w-10:main_h-overlay_h-10
Un exemplu concret, dorim să adăugăm fișierului video captura.avi, un logo numit watermark.png, în colțul din stânga jos:
ffmpeg -i captura.avi -vf "movie=watermark.png [wm]; [in][wm] overlay=10:main_h-overlay_h-10 [out]" -s 1280x960 -sameq captura+watermark.avi
Atenție, comanda este dată pe o singură linie, lipsa spațiului face să apară așa, puteți lua comanda cu copy- paste și înlocui ce nu e bine!
Iată ce iese:
În primul rând trebuie ca fișierul video pe care vrem să-l folosim ca logo să aibă o dimensiune acceptabilă, astfel încât să nu acopere complet sau prea mult din imaginea sursă, cea care trebuie marcată cu logo. Evident, vom folosi tot ffmpeg:
ffmpeg -i video-1.mpeg -s lățimexînălțime -sameq video-2.mpeg
Deci dacă dorim să redimensionăm un fișier video la 320x200 pixeli vom da comanda:
ffmpeg -i sursă.avi -s cga -sameq rezultat.avi
Acum că am rezolvat cu dimensiunea fișierului logo, tot ce mai rămâne de făcut este să-l ”suprapunem” pe fișierul video sursă, EXACT în același mod cum adăugăm o imagine... :D
ffmpeg -i video1.avi -vf "movie=video-logo.avi [wm]; [in][wm] overlay=10:main_h-overlay_h-10 [out]" -s 1280x960 -sameq rezultat.avi
Exemplu concret:
Rezultat:
Vizualizați acest filmuleț full screen, alegeți 720p, priviți cu atenție colțul din stânga jos, puteți observa că imaginea- logo este la rândul ei marcată cu un mic fișier video cu artificii (și c-o imagine în plus...), dar având o durată scurtă, rulează numai câteva secunde...
Sursă: http://www.idude.net/index.php/how-to-watermark-a-video-using-ffmpeg/
1- Marcare cu text
Ne vom folosi de mencoder,parte a pachetului mplayer în unele distribuții Linux, sau instalat independent în alte distribuții.
În primul rând vom crea un fișier numit watermark.srt (da, da, da, pur și simplu tratăm textul pe care vrem să-l încărcăm pe video ca pe o subtitrare!) și adăugăm în el ceva de genul:
1
00:00:0,000 --> 01:50:10,000
Text de afișat pe video
În cazul meu fișierul conține textul:
1
00:00:0,000 --> 01:50:10,000
Stressat.blogspot.com
Dacă dorim ca textul să se modifice pe parcursul rulării filmulețului nostru vom scrie în watermark.srt mai multe linii, cam așa ceva:
1
00:00:0,000 --> 00:00:20,000
Text1
2
00:00:21,000 --> 00:20:30,000
Text2
00:00:0,000 --> 00:00:20,000
Text1
2
00:00:21,000 --> 00:20:30,000
Text2
3
00:20:31,000 --> 01:20:30,000
Text3 Ok, am rezolvat cu textul care va urma să fie ”marcat”, adăugat, încorporat în fișierul video. Presupunem că avem deja acel fișier, putem lua un videoclip, un filmuleț, o captură de ecran, sau orice altceva. Eu am folosit o captură de ecran luată cu ffmpeg în konsole (puteți să vă inspirați din comanda mea pentru a vă realiza propriile capturi video, este marcată în consolă chiar la începutul materialului video). Pentru simplificare atât fișierul video, cât și watermark.srt se află în același director ~ (în caz contrar punem calea corectă către acestea...).
Deschidem o consolă/ terminal și dăm comanda:
mencoder sursă -o rezultat -ovc xvid -xvidencopts fixed_quant=3 -oac copy -sub "watermark.srt" -font "arial.ttf" -subpos 99
sursă = fișierul video inițial;
rezultat = fișierul video cu watermark, denumit după plac;
-sub =opțiune pentru subtitrare (fișierul watermark.srt);
-font = fontul folosit, se poate alege altul;
-subpos = poziția textului pe ecran, o putem modifica (80, 90, 95...).
Pentru mine comanda a fost:
mencoder videotop.avi -o videotop-watermark.avi -ovc xvid -xvidencopts fixed_quant=3 -oac copy -sub "watermark.srt" -font "arial.ttf" -subpos 99
Rezultatul ”muncii” mele se poate vedea aici, cu mențiunea că nu are sonor ”mulțumită” regulilor privind drepturile de autor; vă recomand să urmăriți clipul fullscreen la 720p pentru o calitate cât mai bună:
Pentru altă dimensiune a fontului modificați parametrul fixed_quant=3, înlocuind cifra 3 cu alta, 1 de exemplu pentru font mai mic.
Dacă preferați un text de altă culoare, puteți seta acest lucru în comandă adăugând parametrii -ass -ass-color culoare. Detalii despre codul culorilor puteți găsi aici: http://stressat.blogspot.com/2011/07/mplayer.html .De exemplu pentru scris verde -ass -ass-color fff0000, deci comanda va fi:
mencoder captura.avi -o captura-watermark1.avi -ovc xvid -xvidencopts fixed_quant=1 -oac copy -sub "watermark1.srt" -font "verdana.ttf" -ass -ass-color fff0000 -subpos 99
Rezultatul:
Sursă: http://technoslab.blogspot.com/2011/04/video-watermarking-using-php-and.html
2- Marcare cu logo/ imagine
Din materialul referitor la marcarea imaginilor ( http://stressat.blogspot.com/2011/09/watermarks.html ) știți cum se crează un logo, o mică imagine ce urmează să fie adăugată la o imagine sau fișier video. Deasemenea presupunem că aveți deja un fișier video (captură ecran, videoclip, filmuleț, etc).Deci vom trece direct la marcarea unui fișier video.
Ne vom folosi de ffmpeg, pachet care trebuie instalat. În funcție de distribuția folosită este posibil să trebuiască instalat separat și pachetul libavfilter...
Deschidem o consolă și dăm comanda
:
ffmpeg -i sursă.avi -vf "movie=watermark.png [wm]; [in][wm] poziție-logo [out]" -s 1290x960 -sameq rezultat.avi
Unde:
- sursă = fișier video inițial;
- watermark.png = nume logo;
- poziție-logo = locul unde vrem amplasat logo-ul;
- s 1290x980 = frame size, pentru monitorul meu asta e rezoluția;
- sameq = fără compresie, aceiași calitate;
- rezultat = fișierul video după adăugare logo.
Poziție logo:
- colțul stânga sus: overlay=10:10
- colțul stânga jos: overlay=10:main_h-overlay_h-10
- colțul dreapta sus: overlay=main_w-overlay_w-10:10
- colțul dreapta jos: overlay=main_w-overlay_w-10:main_h-overlay_h-10
Un exemplu concret, dorim să adăugăm fișierului video captura.avi, un logo numit watermark.png, în colțul din stânga jos:
ffmpeg -i captura.avi -vf "movie=watermark.png [wm]; [in][wm] overlay=10:main_h-overlay_h-10 [out]" -s 1280x960 -sameq captura+watermark.avi
Atenție, comanda este dată pe o singură linie, lipsa spațiului face să apară așa, puteți lua comanda cu copy- paste și înlocui ce nu e bine!
Iată ce iese:
3- Marcare cu alt fișier video
Hai să explorăm posibilitățile ffmpeg, de ce n-am putea marca un video cu alt video???În primul rând trebuie ca fișierul video pe care vrem să-l folosim ca logo să aibă o dimensiune acceptabilă, astfel încât să nu acopere complet sau prea mult din imaginea sursă, cea care trebuie marcată cu logo. Evident, vom folosi tot ffmpeg:
ffmpeg -i video-1.mpeg -s lățimexînălțime -sameq video-2.mpeg
ffmpeg -i fireworks.mpeg -s 200x150 -sameq fire.mpeg
Sunt atribuite deja valori standard pentru dimensiuni (sqcif= 128x96, qcif= 176x144, etc, dacă dați într-o consolă comanda man ffmpeg veți afla toate valorile).Deci dacă dorim să redimensionăm un fișier video la 320x200 pixeli vom da comanda:
ffmpeg -i sursă.avi -s cga -sameq rezultat.avi
Acum că am rezolvat cu dimensiunea fișierului logo, tot ce mai rămâne de făcut este să-l ”suprapunem” pe fișierul video sursă, EXACT în același mod cum adăugăm o imagine... :D
ffmpeg -i video1.avi -vf "movie=video-logo.avi [wm]; [in][wm] overlay=10:main_h-overlay_h-10 [out]" -s 1280x960 -sameq rezultat.avi
Exemplu concret:
ffmpeg -i captura1.avi -vf "movie=capt-1.mpeg [wm]; [in][wm] overlay=10:main_h-overlay_h-10 [out]" -s 1280x960 -sameq capt-wat-new.avi
Rezultat:
Vizualizați acest filmuleț full screen, alegeți 720p, priviți cu atenție colțul din stânga jos, puteți observa că imaginea- logo este la rândul ei marcată cu un mic fișier video cu artificii (și c-o imagine în plus...), dar având o durată scurtă, rulează numai câteva secunde...
Sursă: http://www.idude.net/index.php/how-to-watermark-a-video-using-ffmpeg/
Niciun comentariu:
Trimiteți un comentariu