Tips en Trucs 2026

Watermerken aan video's toevoegen met FFmpeg

Watermerken toevoegen aan video’s is een essentiële techniek voor contentmakers. Of je nu een YouTuber bent die zijn content wil watermerken, een bedrijf dat promotioneel materiaal wil aanvullen met een logo, of een filmmaker die productiecredieten wil toevoegen, FFmpeg biedt krachtige hulpmiddelen om zowel afbeeldingen als tekst als watermerk aan video’s toe te voegen.

ffmpeg

Er zijn twee hoofdtypen watermerken die je aan een video kunt toevoegen:

FFmpeg installeren

FFmpeg is beschikbaar in de officiële pakketbronnen van de meeste grote Linux-distributies. Je kunt het in Debian installeren met de apt-opdracht:

dany@pindabook:~$ sudo apt install ffmpeg
[sudo] wachtwoord voor dany:  
Installeren:                               
 ffmpeg

Installeren van vereisten:
 libavdevice61  libcdio-cdda2t64  libcdio-paranoia2t64

Voorgestelde pakketten:
 ffmpeg-doc

Samenvatting:
 Opwaarderen: 0, Installeren: 4, Verwijderen: 0, Niet opwaarderen: 0
 Downloadgrootte: 2.164 kB
 Benodigde ruimte: 3.165 kB / 248 GB beschikbaar

Doorgaan? [J/n]  
Ophalen:1 http://deb.debian.org/debian trixie/main amd64 libcdio-cdda2t64 amd64 10.2+2.0.2-1+b1 [17,7 kB]
Ophalen:2 http://deb.debian.org/debian trixie/main amd64 libcdio-paranoia2t64 amd64 10.2+2.0.2-1+b1 [17,4 kB]
Ophalen:3 http://deb.debian.org/debian trixie/main amd64 libavdevice61 amd64 7:7.1.5-0+deb13u1 [127 kB]
Ophalen:4 http://deb.debian.org/debian trixie/main amd64 ffmpeg amd64 7:7.1.5-0+deb13u1 [2.002 kB]
2.164 kB opgehaald in 0s (16,2 MB/s)
Voorheen niet geselecteerd pakket libcdio-cdda2t64:amd64 wordt geselecteerd.
(Database wordt ingelezen ... 204241 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../libcdio-cdda2t64_10.2+2.0.2-1+b1_amd64.deb wordt voorbereid...
Bezig met uitpakken van libcdio-cdda2t64:amd64 (10.2+2.0.2-1+b1) ...
Voorheen niet geselecteerd pakket libcdio-paranoia2t64:amd64 wordt geselecteerd.
Uitpakken van .../libcdio-paranoia2t64_10.2+2.0.2-1+b1_amd64.deb wordt voorbereid...
Bezig met uitpakken van libcdio-paranoia2t64:amd64 (10.2+2.0.2-1+b1) ...
Voorheen niet geselecteerd pakket libavdevice61:amd64 wordt geselecteerd.
Uitpakken van .../libavdevice61_7%3a7.1.5-0+deb13u1_amd64.deb wordt voorbereid...
Bezig met uitpakken van libavdevice61:amd64 (7:7.1.5-0+deb13u1) ...
Voorheen niet geselecteerd pakket ffmpeg wordt geselecteerd.
Uitpakken van .../ffmpeg_7%3a7.1.5-0+deb13u1_amd64.deb wordt voorbereid...
Bezig met uitpakken van ffmpeg (7:7.1.5-0+deb13u1) ...
Instellen van libcdio-cdda2t64:amd64 (10.2+2.0.2-1+b1) ...
Instellen van libcdio-paranoia2t64:amd64 (10.2+2.0.2-1+b1) ...
Instellen van libavdevice61:amd64 (7:7.1.5-0+deb13u1) ...
Instellen van ffmpeg (7:7.1.5-0+deb13u1) ...
Bezig met afhandelen van triggers voor man-db (2.13.1-1) ...
Bezig met afhandelen van triggers voor libc-bin (2.41-12+deb13u3) ...

Testmateriaal

Als testmateriaal gebruiken we in deze tip een video die je kunt downloaden van Wikimedia: Adult Monarch butterflies Flying and sipping nectar van Dennis.insect.filmer, met de volgende licentie CC BY-SA 4.0.

Als afbeelding gebruiken we een PindaNet logo met transparante achtergrond: pinda.png.

Watermerken toevoegen

Om een watermerk aan een video toe te voegen, gebruik je een overlay-filter:

dany@pindabook:~$ ffmpeg -i Video\'s/Monarchs_flying_and_sipping.webm -i Afbeeldingen/pinda.png -filter_complex "overlay=10:10" Video\'s/output.mp4
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
 built with gcc 14 (Debian 14.2.0-19)
 configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enabl
e-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enab
le-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libt
heora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enab
le-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enabl
e-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg
--enable-libjxl --enable-shared
 libavutil      59. 39.100 / 59. 39.100
 libavcodec     61. 19.101 / 61. 19.101
 libavformat    61.  7.103 / 61.  7.103
 libavdevice    61.  3.100 / 61.  3.100
 libavfilter    10.  5.100 / 10.  5.100
 libswscale      8.  3.100 /  8.  3.100
 libswresample   5.  3.100 /  5.  3.100
 libpostproc    58.  3.100 / 58.  3.100
Input #0, matroska,webm, from 'Video's/Monarchs_flying_and_sipping.webm':
 Metadata:
   creation_time   : 2024-01-17T10:21:37.000000Z
   ENCODER         : Lavf60.16.100
 Duration: 00:03:53.27, start: 0.000000, bitrate: 377 kb/s
 Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
     Metadata:
       DURATION        : 00:03:53.274000000
Input #1, png_pipe, from 'Afbeeldingen/pinda.png':
 Duration: N/A, bitrate: N/A
 Stream #1:0: Video: png, pal8(pc, gbr/bt709/iec61966-2-1), 126x181 [SAR 2835:2835 DAR 126:181], 25 fps, 25 tbr, 25 tbn
Stream mapping:
 Stream #0:0 (vp9) -> overlay
 Stream #1:0 (png) -> overlay
 overlay:default -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[libx264 @ 0x559060c357c0] using SAR=1/1
[libx264 @ 0x559060c357c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x559060c357c0] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x559060c357c0] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mix
ed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyram
id=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'Video's/output.mp4':
 Metadata:
   encoder         : Lavf61.7.103
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 15360 tbn
     Metadata:
       encoder         : Lavc61.19.101 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/mp4 @ 0x559060c6b4c0] video:140182KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.056028%
frame= 6997 fps= 72 q=-1.0 Lsize=  140261KiB time=00:03:53.20 bitrate=4927.2kbits/s speed=2.41x     
[libx264 @ 0x559060c357c0] frame I:37    Avg QP:20.65  size:161691
[libx264 @ 0x559060c357c0] frame P:2590  Avg QP:23.80  size: 40810
[libx264 @ 0x559060c357c0] frame B:4370  Avg QP:27.43  size:  7292
[libx264 @ 0x559060c357c0] consecutive B-frames: 12.6%  9.0%  9.9% 68.5%
[libx264 @ 0x559060c357c0] mb I  I16..4:  7.2% 74.7% 18.1%
[libx264 @ 0x559060c357c0] mb P  I16..4:  2.3% 10.5%  1.2%  P16..4: 39.4% 12.6%  5.4%  0.0%  0.0%    skip:28.5%
[libx264 @ 0x559060c357c0] mb B  I16..4:  0.2%  0.7%  0.1%  B16..8: 34.9%  2.3%  0.4%  direct: 0.9%  skip:60.5%  L0:49.9% L1:45.0% BI: 5.1%
[libx264 @ 0x559060c357c0] 8x8 transform intra:74.6% inter:75.2%
[libx264 @ 0x559060c357c0] coded y,uvDC,uvAC intra: 60.1% 58.8% 17.6% inter: 10.0% 7.9% 0.2%
[libx264 @ 0x559060c357c0] i16 v,h,dc,p: 21% 26%  6% 48%
[libx264 @ 0x559060c357c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 24% 13%  5%  7%  6%  9%  6%  8%
[libx264 @ 0x559060c357c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 21% 11%  5% 10%  9%  9%  6%  6%
[libx264 @ 0x559060c357c0] i8c dc,h,v,p: 51% 21% 18% 10%
[libx264 @ 0x559060c357c0] Weighted P-Frames: Y:0.4% UV:0.0%
[libx264 @ 0x559060c357c0] ref P L0: 59.5% 14.9% 17.1%  8.5%  0.0%
[libx264 @ 0x559060c357c0] ref B L0: 90.2%  7.4%  2.3%
[libx264 @ 0x559060c357c0] ref B L1: 96.4%  3.6%
[libx264 @ 0x559060c357c0] kb/s:4922.98

Een overzicht van de gebruikte opties:

FFMPEG

Je kunt de positie van het watermerk aanpassen met behulp van verschillende opties voor het plaatsen van het watermerk: voor rechtsonder in de hoek gebruik je:

dany@pindabook:~$ ffmpeg -i Video\'s/Monarchs_flying_and_sipping.webm -i Afbeeldingen/pinda.png -filter_complex "overlay=main_w-overlay_w-10:main_h-overlay_h-10" Video\'s/output.mp4
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
 built with gcc 14 (Debian 14.2.0-19)
 configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enabl
e-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enab
le-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libt
heora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enab
le-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enabl
e-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg
--enable-libjxl --enable-shared
 libavutil      59. 39.100 / 59. 39.100
 libavcodec     61. 19.101 / 61. 19.101
 libavformat    61.  7.103 / 61.  7.103
 libavdevice    61.  3.100 / 61.  3.100
 libavfilter    10.  5.100 / 10.  5.100
 libswscale      8.  3.100 /  8.  3.100
 libswresample   5.  3.100 /  5.  3.100
 libpostproc    58.  3.100 / 58.  3.100
Input #0, matroska,webm, from 'Video's/Monarchs_flying_and_sipping.webm':
 Metadata:
   creation_time   : 2024-01-17T10:21:37.000000Z
   ENCODER         : Lavf60.16.100
 Duration: 00:03:53.27, start: 0.000000, bitrate: 377 kb/s
 Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
     Metadata:
       DURATION        : 00:03:53.274000000
Input #1, png_pipe, from 'Afbeeldingen/pinda.png':
 Duration: N/A, bitrate: N/A
 Stream #1:0: Video: png, pal8(pc, gbr/bt709/iec61966-2-1), 126x181 [SAR 2835:2835 DAR 126:181], 25 fps, 25 tbr, 25 tbn

File 'Video's/output.mp4' already exists. Overwrite? [y/N]  

Daar het doel videobestand reeds bestaat, krijg je de vraag of je dit wilt overschrijven. Het standaard antwoord is Neen, in onze test mag dat gerust en laat ik het bestaande videobestand overschrijven door y te typen gevolgd door Return.

File 'Video's/output.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
 Stream #0:0 (vp9) -> overlay
 Stream #1:0 (png) -> overlay
 overlay:default -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[libx264 @ 0x55f215307800] using SAR=1/1
[libx264 @ 0x55f215307800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x55f215307800] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x55f215307800] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mix
ed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyram
id=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
 Metadata:
   encoder         : Lavf61.7.103
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 15360 tbn
     Metadata:
       encoder         : Lavc61.19.101 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/mp4 @ 0x55f21533d500] video:139628KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.056251%
frame= 6997 fps= 72 q=-1.0 Lsize=  139706KiB time=00:03:53.20 bitrate=4907.7kbits/s speed= 2.4x     
[libx264 @ 0x55f215307800] frame I:37    Avg QP:20.66  size:162062
[libx264 @ 0x55f215307800] frame P:2606  Avg QP:23.79  size: 40553
[libx264 @ 0x55f215307800] frame B:4354  Avg QP:27.33  size:  7189
[libx264 @ 0x55f215307800] consecutive B-frames: 12.9%  9.1%  9.4% 68.5%
[libx264 @ 0x55f215307800] mb I  I16..4:  7.1% 74.8% 18.0%
[libx264 @ 0x55f215307800] mb P  I16..4:  2.3% 10.4%  1.2%  P16..4: 39.4% 12.6%  5.4%  0.0%  0.0%    skip:28.6%
[libx264 @ 0x55f215307800] mb B  I16..4:  0.2%  0.7%  0.1%  B16..8: 34.8%  2.3%  0.4%  direct: 0.9%  skip:60.7%  L0:49.9% L1:45.0% BI: 5.1%
[libx264 @ 0x55f215307800] 8x8 transform intra:74.6% inter:75.1%
[libx264 @ 0x55f215307800] coded y,uvDC,uvAC intra: 60.0% 58.7% 17.6% inter: 10.0% 7.9% 0.1%
[libx264 @ 0x55f215307800] i16 v,h,dc,p: 20% 26%  6% 48%
[libx264 @ 0x55f215307800] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 24% 13%  5%  7%  6%  9%  6%  8%
[libx264 @ 0x55f215307800] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 21% 11%  5% 10%  9%  9%  6%  6%
[libx264 @ 0x55f215307800] i8c dc,h,v,p: 51% 21% 18% 10%
[libx264 @ 0x55f215307800] Weighted P-Frames: Y:0.3% UV:0.0%
[libx264 @ 0x55f215307800] ref P L0: 59.6% 14.9% 17.0%  8.5%  0.0%
[libx264 @ 0x55f215307800] ref B L0: 90.3%  7.4%  2.3%
[libx264 @ 0x55f215307800] ref B L1: 96.3%  3.7%
[libx264 @ 0x55f215307800] kb/s:4903.51

FFMPEG

Voor een gecentreerd watermerk:

dany@pindabook:~$ ffmpeg -i Video\'s/Monarchs_flying_and_sipping.webm -i Afbeeldingen/pinda.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" Video\'s/output.mp4
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
 built with gcc 14 (Debian 14.2.0-19)
 configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enabl
e-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enab
le-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libt
heora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enab
le-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enabl
e-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg
--enable-libjxl --enable-shared
 libavutil      59. 39.100 / 59. 39.100
 libavcodec     61. 19.101 / 61. 19.101
 libavformat    61.  7.103 / 61.  7.103
 libavdevice    61.  3.100 / 61.  3.100
 libavfilter    10.  5.100 / 10.  5.100
 libswscale      8.  3.100 /  8.  3.100
 libswresample   5.  3.100 /  5.  3.100
 libpostproc    58.  3.100 / 58.  3.100
Input #0, matroska,webm, from 'Video's/Monarchs_flying_and_sipping.webm':
 Metadata:
   creation_time   : 2024-01-17T10:21:37.000000Z
   ENCODER         : Lavf60.16.100
 Duration: 00:03:53.27, start: 0.000000, bitrate: 377 kb/s
 Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
     Metadata:
       DURATION        : 00:03:53.274000000
Input #1, png_pipe, from 'Afbeeldingen/pinda.png':
 Duration: N/A, bitrate: N/A
 Stream #1:0: Video: png, pal8(pc, gbr/bt709/iec61966-2-1), 126x181 [SAR 2835:2835 DAR 126:181], 25 fps, 25 tbr, 25 tbn
File 'Video's/output.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
 Stream #0:0 (vp9) -> overlay
 Stream #1:0 (png) -> overlay
 overlay:default -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[libx264 @ 0x5608a68c3800] using SAR=1/1
[libx264 @ 0x5608a68c3800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x5608a68c3800] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x5608a68c3800] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mix
ed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyram
id=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'Video's/output.mp4':
 Metadata:
   encoder         : Lavf61.7.103
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 15360 tbn
     Metadata:
       encoder         : Lavc61.19.101 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/mp4 @ 0x5608a68f9500] video:140378KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.056070%
frame= 6997 fps= 77 q=-1.0 Lsize=  140457KiB time=00:03:53.20 bitrate=4934.0kbits/s speed=2.57x     
[libx264 @ 0x5608a68c3800] frame I:38    Avg QP:20.76  size:159096
[libx264 @ 0x5608a68c3800] frame P:2582  Avg QP:23.80  size: 40856
[libx264 @ 0x5608a68c3800] frame B:4377  Avg QP:27.37  size:  7359
[libx264 @ 0x5608a68c3800] consecutive B-frames: 12.5%  9.1%  9.5% 68.9%
[libx264 @ 0x5608a68c3800] mb I  I16..4:  7.1% 75.3% 17.6%
[libx264 @ 0x5608a68c3800] mb P  I16..4:  2.3% 10.5%  1.2%  P16..4: 39.6% 12.6%  5.4%  0.0%  0.0%    skip:28.4%
[libx264 @ 0x5608a68c3800] mb B  I16..4:  0.2%  0.7%  0.1%  B16..8: 34.8%  2.3%  0.4%  direct: 0.9%  skip:60.6%  L0:49.9% L1:45.1% BI: 5.0%
[libx264 @ 0x5608a68c3800] 8x8 transform intra:74.7% inter:75.1%
[libx264 @ 0x5608a68c3800] coded y,uvDC,uvAC intra: 60.0% 58.7% 17.7% inter: 10.0% 7.9% 0.2%
[libx264 @ 0x5608a68c3800] i16 v,h,dc,p: 20% 26%  6% 48%
[libx264 @ 0x5608a68c3800] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 24% 13%  5%  7%  6%  9%  6%  7%
[libx264 @ 0x5608a68c3800] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 21% 11%  5% 10%  9%  9%  6%  6%
[libx264 @ 0x5608a68c3800] i8c dc,h,v,p: 51% 21% 18% 10%
[libx264 @ 0x5608a68c3800] Weighted P-Frames: Y:0.4% UV:0.0%
[libx264 @ 0x5608a68c3800] ref P L0: 59.5% 14.9% 17.1%  8.5%  0.0%
[libx264 @ 0x5608a68c3800] ref B L0: 90.2%  7.5%  2.3%
[libx264 @ 0x5608a68c3800] ref B L1: 96.3%  3.7%
[libx264 @ 0x5608a68c3800] kb/s:4929.85

FFMPEG

Om een tekstwatermerk toe te voegen, gebruik je het drawtext filter. Dit is vooral handig voor het toevoegen van auteursrechtvermeldingen of tijdstempels:

dany@pindabook:~$ ffmpeg -i Video\'s/Monarchs_flying_and_sipping.webm -vf "drawtext=text='Creatice Commons ShareAlike 4.0':fontcolor=white:fontsize=48:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=h-th-10" Video\'s/output.mp4
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
 built with gcc 14 (Debian 14.2.0-19)
 configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enabl
e-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enab
le-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libt
heora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enab
le-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enabl
e-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg
--enable-libjxl --enable-shared
 libavutil      59. 39.100 / 59. 39.100
 libavcodec     61. 19.101 / 61. 19.101
 libavformat    61.  7.103 / 61.  7.103
 libavdevice    61.  3.100 / 61.  3.100
 libavfilter    10.  5.100 / 10.  5.100
 libswscale      8.  3.100 /  8.  3.100
 libswresample   5.  3.100 /  5.  3.100
 libpostproc    58.  3.100 / 58.  3.100
Input #0, matroska,webm, from 'Video's/Monarchs_flying_and_sipping.webm':
 Metadata:
   creation_time   : 2024-01-17T10:21:37.000000Z
   ENCODER         : Lavf60.16.100
 Duration: 00:03:53.27, start: 0.000000, bitrate: 377 kb/s
 Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
     Metadata:
       DURATION        : 00:03:53.274000000
File 'Video's/output.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
 Stream #0:0 -> #0:0 (vp9 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x55b7660290c0] using SAR=1/1
[libx264 @ 0x55b7660290c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x55b7660290c0] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x55b7660290c0] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mix
ed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyram
id=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'Video's/output.mp4':
 Metadata:
   encoder         : Lavf61.7.103
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 15360 tbn (default)
     Metadata:
       DURATION        : 00:03:53.274000000
       encoder         : Lavc61.19.101 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/mp4 @ 0x55b76605c380] video:142076KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.055507%
frame= 6997 fps= 72 q=-1.0 Lsize=  142155KiB time=00:03:53.20 bitrate=4993.7kbits/s speed=2.39x     
[libx264 @ 0x55b7660290c0] frame I:37    Avg QP:20.69  size:159519
[libx264 @ 0x55b7660290c0] frame P:2586  Avg QP:23.84  size: 41240
[libx264 @ 0x55b7660290c0] frame B:4374  Avg QP:27.38  size:  7530
[libx264 @ 0x55b7660290c0] consecutive B-frames: 12.6%  9.2%  8.6% 69.6%
[libx264 @ 0x55b7660290c0] mb I  I16..4:  7.5% 73.3% 19.2%
[libx264 @ 0x55b7660290c0] mb P  I16..4:  2.4% 10.3%  1.3%  P16..4: 39.6% 12.7%  5.4%  0.0%  0.0%    skip:28.3%
[libx264 @ 0x55b7660290c0] mb B  I16..4:  0.2%  0.7%  0.1%  B16..8: 34.8%  2.5%  0.5%  direct: 1.0%  skip:60.3%  L0:49.7% L1:45.0% BI: 5.3%
[libx264 @ 0x55b7660290c0] 8x8 transform intra:72.8% inter:75.2%
[libx264 @ 0x55b7660290c0] coded y,uvDC,uvAC intra: 59.8% 59.1% 17.8% inter: 10.3% 8.1% 0.1%
[libx264 @ 0x55b7660290c0] i16 v,h,dc,p: 19% 31%  5% 45%
[libx264 @ 0x55b7660290c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 24% 13%  5%  7%  6%  9%  6%  8%
[libx264 @ 0x55b7660290c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 23% 11%  5%  9%  8%  9%  5%  6%
[libx264 @ 0x55b7660290c0] i8c dc,h,v,p: 50% 23% 17% 10%
[libx264 @ 0x55b7660290c0] Weighted P-Frames: Y:0.4% UV:0.0%
[libx264 @ 0x55b7660290c0] ref P L0: 59.2% 15.1% 17.2%  8.5%  0.0%
[libx264 @ 0x55b7660290c0] ref B L0: 90.0%  7.6%  2.4%
[libx264 @ 0x55b7660290c0] ref B L1: 96.3%  3.7%
[libx264 @ 0x55b7660290c0] kb/s:4989.48

Deze opdracht voegt een copyright-aanduiding toe aan de onderkant van de video, met een semi-transparante achtergrondbox.

FFMPEG

je kunt daarbij verschillende aspecten van het tekstwatermerk aanpassen, zoals het gebruikte lettertype:

dany@pindabook:~$ ffmpeg -i Video\'s/Monarchs_flying_and_sipping.webm -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf:text='Creatice Commons ShareAlike 4.0':fontcolor=white:fontsize=48:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=h-th-10" Video\'s/output.mp4
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
 built with gcc 14 (Debian 14.2.0-19)
 configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-lib
fontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --
enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdr
ead --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
 libavutil      59. 39.100 / 59. 39.100
 libavcodec     61. 19.101 / 61. 19.101
 libavformat    61.  7.103 / 61.  7.103
 libavdevice    61.  3.100 / 61.  3.100
 libavfilter    10.  5.100 / 10.  5.100
 libswscale      8.  3.100 /  8.  3.100
 libswresample   5.  3.100 /  5.  3.100
 libpostproc    58.  3.100 / 58.  3.100
Input #0, matroska,webm, from 'Video's/Monarchs_flying_and_sipping.webm':
 Metadata:
   creation_time   : 2024-01-17T10:21:37.000000Z
   ENCODER         : Lavf60.16.100
 Duration: 00:03:53.27, start: 0.000000, bitrate: 377 kb/s
 Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
     Metadata:
       DURATION        : 00:03:53.274000000
File 'Video's/output.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
 Stream #0:0 -> #0:0 (vp9 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x55591acdf0c0] using SAR=1/1
[libx264 @ 0x55591acdf0c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x55591acdf0c0] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x55591acdf0c0] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 slice
d_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'Video's/output.mp4':
 Metadata:
   encoder         : Lavf61.7.103
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 15360 tbn (default)
     Metadata:
       DURATION        : 00:03:53.274000000
       encoder         : Lavc61.19.101 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/mp4 @ 0x55591ad12440] video:142761KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.055214%
frame= 6997 fps= 72 q=-1.0 Lsize=  142839KiB time=00:03:53.20 bitrate=5017.8kbits/s speed=2.39x     
[libx264 @ 0x55591acdf0c0] frame I:36    Avg QP:20.62  size:163444
[libx264 @ 0x55591acdf0c0] frame P:2590  Avg QP:23.86  size: 41417
[libx264 @ 0x55591acdf0c0] frame B:4371  Avg QP:27.41  size:  7557
[libx264 @ 0x55591acdf0c0] consecutive B-frames: 12.6%  9.4%  9.0% 69.1%
[libx264 @ 0x55591acdf0c0] mb I  I16..4:  7.5% 72.6% 19.9%
[libx264 @ 0x55591acdf0c0] mb P  I16..4:  2.4% 10.2%  1.4%  P16..4: 39.6% 12.8%  5.5%  0.0%  0.0%    skip:28.2%
[libx264 @ 0x55591acdf0c0] mb B  I16..4:  0.2%  0.7%  0.1%  B16..8: 34.9%  2.5%  0.5%  direct: 1.0%  skip:60.2%  L0:49.7% L1:45.0% BI: 5.3%
[libx264 @ 0x55591acdf0c0] 8x8 transform intra:72.2% inter:74.7%
[libx264 @ 0x55591acdf0c0] coded y,uvDC,uvAC intra: 59.6% 59.1% 17.8% inter: 10.4% 8.1% 0.1%
[libx264 @ 0x55591acdf0c0] i16 v,h,dc,p: 19% 33%  5% 43%
[libx264 @ 0x55591acdf0c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 24% 13%  5%  7%  6%  9%  6%  8%
[libx264 @ 0x55591acdf0c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 23% 11%  5%  9%  8%  9%  5%  6%
[libx264 @ 0x55591acdf0c0] i8c dc,h,v,p: 49% 24% 17% 10%
[libx264 @ 0x55591acdf0c0] Weighted P-Frames: Y:0.4% UV:0.0%
[libx264 @ 0x55591acdf0c0] ref P L0: 59.2% 15.1% 17.1%  8.6%  0.0%
[libx264 @ 0x55591acdf0c0] ref B L0: 89.9%  7.7%  2.4%
[libx264 @ 0x55591acdf0c0] ref B L1: 96.3%  3.7%
[libx264 @ 0x55591acdf0c0] kb/s:5013.53

ffmpeg

Of een tijdstempel:

dany@pindabook:~$ ffmpeg -i Video\'s/Monarchs_flying_and_sipping.webm -vf "drawtext=text='%{pts\:hms}':fontcolor=white:fontsize=48:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=10" Video\'s/output.mp4
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
 built with gcc 14 (Debian 14.2.0-19)
 configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enabl
e-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enab
le-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libt
heora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enab
le-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enabl
e-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg
--enable-libjxl --enable-shared
 libavutil      59. 39.100 / 59. 39.100
 libavcodec     61. 19.101 / 61. 19.101
 libavformat    61.  7.103 / 61.  7.103
 libavdevice    61.  3.100 / 61.  3.100
 libavfilter    10.  5.100 / 10.  5.100
 libswscale      8.  3.100 /  8.  3.100
 libswresample   5.  3.100 /  5.  3.100
 libpostproc    58.  3.100 / 58.  3.100
Input #0, matroska,webm, from 'Video's/Monarchs_flying_and_sipping.webm':
 Metadata:
   creation_time   : 2024-01-17T10:21:37.000000Z
   ENCODER         : Lavf60.16.100
 Duration: 00:03:53.27, start: 0.000000, bitrate: 377 kb/s
 Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
     Metadata:
       DURATION        : 00:03:53.274000000
File 'Video's/output.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
 Stream #0:0 -> #0:0 (vp9 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x5565f9abd0c0] using SAR=1/1
[libx264 @ 0x5565f9abd0c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x5565f9abd0c0] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x5565f9abd0c0] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mix
ed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyram
id=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'Video's/output.mp4':
 Metadata:
   encoder         : Lavf61.7.103
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 15360 tbn (default)
     Metadata:
       DURATION        : 00:03:53.274000000
       encoder         : Lavc61.19.101 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/mp4 @ 0x5565f9af0380] video:140767KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.055779%
frame= 6997 fps= 72 q=-1.0 Lsize=  140846KiB time=00:03:53.20 bitrate=4947.7kbits/s speed=2.39x     
[libx264 @ 0x5565f9abd0c0] frame I:40    Avg QP:20.90  size:151609
[libx264 @ 0x5565f9abd0c0] frame P:2564  Avg QP:23.81  size: 41224
[libx264 @ 0x5565f9abd0c0] frame B:4393  Avg QP:27.44  size:  7371
[libx264 @ 0x5565f9abd0c0] consecutive B-frames: 12.4%  8.2% 10.1% 69.3%
[libx264 @ 0x5565f9abd0c0] mb I  I16..4:  7.3% 75.1% 17.6%
[libx264 @ 0x5565f9abd0c0] mb P  I16..4:  2.3% 10.5%  1.3%  P16..4: 39.5% 12.8%  5.5%  0.0%  0.0%    skip:28.1%
[libx264 @ 0x5565f9abd0c0] mb B  I16..4:  0.2%  0.6%  0.1%  B16..8: 35.0%  2.4%  0.4%  direct: 0.9%  skip:60.3%  L0:50.0% L1:44.9% BI: 5.1%
[libx264 @ 0x5565f9abd0c0] 8x8 transform intra:74.2% inter:75.5%
[libx264 @ 0x5565f9abd0c0] coded y,uvDC,uvAC intra: 60.2% 58.8% 17.8% inter: 10.1% 8.0% 0.1%
[libx264 @ 0x5565f9abd0c0] i16 v,h,dc,p: 21% 26%  5% 48%
[libx264 @ 0x5565f9abd0c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 24% 13%  5%  7%  6%  9%  6%  8%
[libx264 @ 0x5565f9abd0c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 22% 11%  5% 10%  8%  9%  6%  6%
[libx264 @ 0x5565f9abd0c0] i8c dc,h,v,p: 50% 22% 18% 10%
[libx264 @ 0x5565f9abd0c0] Weighted P-Frames: Y:0.5% UV:0.1%
[libx264 @ 0x5565f9abd0c0] ref P L0: 59.3% 15.0% 17.2%  8.5%  0.0%
[libx264 @ 0x5565f9abd0c0] ref B L0: 90.0%  7.5%  2.5%
[libx264 @ 0x5565f9abd0c0] ref B L1: 96.3%  3.7%
[libx264 @ 0x5565f9abd0c0] kb/s:4943.52

ffmpeg

Je kunt beeld- en tekstwatermerken combineren:

dany@pindabook:~$ ffmpeg -i Video\'s/Monarchs_flying_and_sipping.webm -i Afbeeldingen/pinda.png -filter_complex "[0:v][1:v]overlay=10:10[bg];[bg]drawtext=text='Creatice Commons ShareAlike 4.0':fontcolor=black:fontsize=48:x=(w-text_w)/2:y=h-th-10[out]" -map "[out]" Video\'s/output.mp4
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
 built with gcc 14 (Debian 14.2.0-19)
 configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-lib
fontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --
enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdr
ead --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
 libavutil      59. 39.100 / 59. 39.100
 libavcodec     61. 19.101 / 61. 19.101
 libavformat    61.  7.103 / 61.  7.103
 libavdevice    61.  3.100 / 61.  3.100
 libavfilter    10.  5.100 / 10.  5.100
 libswscale      8.  3.100 /  8.  3.100
 libswresample   5.  3.100 /  5.  3.100
 libpostproc    58.  3.100 / 58.  3.100
Input #0, matroska,webm, from 'Video's/Monarchs_flying_and_sipping.webm':
 Metadata:
   creation_time   : 2024-01-17T10:21:37.000000Z
   ENCODER         : Lavf60.16.100
 Duration: 00:03:53.27, start: 0.000000, bitrate: 377 kb/s
 Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
     Metadata:
       DURATION        : 00:03:53.274000000
Input #1, png_pipe, from 'Afbeeldingen/pinda.png':
 Duration: N/A, bitrate: N/A
 Stream #1:0: Video: png, pal8(pc, gbr/bt709/iec61966-2-1), 126x181 [SAR 2835:2835 DAR 126:181], 25 fps, 25 tbr, 25 tbn
File 'Video's/output.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
 Stream #0:0 (vp9) -> overlay
 Stream #1:0 (png) -> overlay
 drawtext:default -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[libx264 @ 0x555dad8d4fc0] using SAR=1/1
[libx264 @ 0x555dad8d4fc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x555dad8d4fc0] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x555dad8d4fc0] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 slice
d_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'Video's/output.mp4':
 Metadata:
   encoder         : Lavf61.7.103
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 15360 tbn
     Metadata:
       encoder         : Lavc61.19.101 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/mp4 @ 0x555dad8d5440] video:145513KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.054424%
frame= 6997 fps= 71 q=-1.0 Lsize=  145592KiB time=00:03:53.20 bitrate=5114.5kbits/s speed=2.38x     
[libx264 @ 0x555dad8d4fc0] frame I:37    Avg QP:20.69  size:165072
[libx264 @ 0x555dad8d4fc0] frame P:2533  Avg QP:23.86  size: 42482
[libx264 @ 0x555dad8d4fc0] frame B:4427  Avg QP:27.54  size:  7972
[libx264 @ 0x555dad8d4fc0] consecutive B-frames: 11.8%  8.5%  9.2% 70.5%
[libx264 @ 0x555dad8d4fc0] mb I  I16..4:  7.2% 73.9% 18.9%
[libx264 @ 0x555dad8d4fc0] mb P  I16..4:  2.3% 10.6%  1.3%  P16..4: 39.5% 12.8%  5.6%  0.0%  0.0%    skip:27.8%
[libx264 @ 0x555dad8d4fc0] mb B  I16..4:  0.2%  0.7%  0.1%  B16..8: 34.9%  2.6%  0.6%  direct: 1.1%  skip:59.9%  L0:49.8% L1:44.9% BI: 5.4%
[libx264 @ 0x555dad8d4fc0] 8x8 transform intra:74.3% inter:74.6%
[libx264 @ 0x555dad8d4fc0] coded y,uvDC,uvAC intra: 60.5% 59.6% 18.2% inter: 10.4% 8.2% 0.2%
[libx264 @ 0x555dad8d4fc0] i16 v,h,dc,p: 20% 26%  6% 48%
[libx264 @ 0x555dad8d4fc0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 24% 13%  5%  7%  6%  8%  6%  8%
[libx264 @ 0x555dad8d4fc0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 21% 11%  5% 10%  9%  9%  6%  6%
[libx264 @ 0x555dad8d4fc0] i8c dc,h,v,p: 51% 22% 17% 10%
[libx264 @ 0x555dad8d4fc0] Weighted P-Frames: Y:0.5% UV:0.0%
[libx264 @ 0x555dad8d4fc0] ref P L0: 59.1% 15.0% 17.4%  8.6%  0.0%
[libx264 @ 0x555dad8d4fc0] ref B L0: 90.1%  7.5%  2.4%
[libx264 @ 0x555dad8d4fc0] ref B L1: 96.4%  3.6%
[libx264 @ 0x555dad8d4fc0] kb/s:5110.19

ffmpeg

Voor een dynamischer effect kun je een bewegend watermerk maken:

dany@pindabook:~$ ffmpeg -i Video\'s/Monarchs_flying_and_sipping.webm -i Afbeeldingen/pinda.png -filter_complex "[0][1]overlay=x='10 + sin(t*2)*20':y=10" Video\'s/output.mp4
ffmpeg version 7.1.5-0+deb13u1 Copyright (c) 2000-2026 the FFmpeg developers
 built with gcc 14 (Debian 14.2.0-19)
 configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-libmfx
--disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribid
i --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine -
-enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid
--enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enabl
e-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --ena
ble-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
 libavutil      59. 39.100 / 59. 39.100
 libavcodec     61. 19.101 / 61. 19.101
 libavformat    61.  7.103 / 61.  7.103
 libavdevice    61.  3.100 / 61.  3.100
 libavfilter    10.  5.100 / 10.  5.100
 libswscale      8.  3.100 /  8.  3.100
 libswresample   5.  3.100 /  5.  3.100
 libpostproc    58.  3.100 / 58.  3.100
Input #0, matroska,webm, from 'Video's/Monarchs_flying_and_sipping.webm':
 Metadata:
   creation_time   : 2024-01-17T10:21:37.000000Z
   ENCODER         : Lavf60.16.100
 Duration: 00:03:53.27, start: 0.000000, bitrate: 377 kb/s
 Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, bt709), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
     Metadata:
       DURATION        : 00:03:53.274000000
Input #1, png_pipe, from 'Afbeeldingen/pinda.png':
 Duration: N/A, bitrate: N/A
 Stream #1:0: Video: png, pal8(pc, gbr/bt709/iec61966-2-1), 126x181 [SAR 2835:2835 DAR 126:181], 25 fps, 25 tbr, 25 tbn
File 'Video's/output.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
 Stream #0:0 (vp9) -> overlay
 Stream #1:0 (png) -> overlay
 overlay:default -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[libx264 @ 0x565079ecb940] using SAR=1/1
[libx264 @ 0x565079ecb940] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x565079ecb940] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x565079ecb940] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=
1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_co
mpat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 q
pmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'Video's/output.mp4':
 Metadata:
   encoder         : Lavf61.7.103
 Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 15360 tbn
     Metadata:
       encoder         : Lavc61.19.101 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/mp4 @ 0x565079f01640] video:140402KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.055991%
frame= 6997 fps= 72 q=-1.0 Lsize=  140480KiB time=00:03:53.20 bitrate=4934.9kbits/s speed=2.39x     
[libx264 @ 0x565079ecb940] frame I:38    Avg QP:20.74  size:159783
[libx264 @ 0x565079ecb940] frame P:2589  Avg QP:23.79  size: 40869
[libx264 @ 0x565079ecb940] frame B:4370  Avg QP:27.46  size:  7298
[libx264 @ 0x565079ecb940] consecutive B-frames: 12.6%  9.1%  9.7% 68.5%
[libx264 @ 0x565079ecb940] mb I  I16..4:  7.1% 75.0% 17.8%
[libx264 @ 0x565079ecb940] mb P  I16..4:  2.3% 10.5%  1.2%  P16..4: 39.5% 12.6%  5.4%  0.0%  0.0%    skip:28.5%
[libx264 @ 0x565079ecb940] mb B  I16..4:  0.2%  0.7%  0.1%  B16..8: 34.9%  2.3%  0.4%  direct: 0.9%  skip:60.4%  L0:49.9% L1:45.1% BI: 5.1%
[libx264 @ 0x565079ecb940] 8x8 transform intra:74.7% inter:75.2%
[libx264 @ 0x565079ecb940] coded y,uvDC,uvAC intra: 60.1% 58.8% 17.7% inter: 10.0% 7.9% 0.2%
[libx264 @ 0x565079ecb940] i16 v,h,dc,p: 20% 26%  6% 48%
[libx264 @ 0x565079ecb940] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 24% 13%  5%  7%  6%  9%  6%  8%
[libx264 @ 0x565079ecb940] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 21% 11%  5% 10%  9%  9%  6%  6%
[libx264 @ 0x565079ecb940] i8c dc,h,v,p: 51% 21% 18% 10%
[libx264 @ 0x565079ecb940] Weighted P-Frames: Y:0.4% UV:0.0%
[libx264 @ 0x565079ecb940] ref P L0: 59.5% 14.9% 17.1%  8.5%  0.0%
[libx264 @ 0x565079ecb940] ref B L0: 90.3%  7.4%  2.3%
[libx264 @ 0x565079ecb940] ref B L1: 96.4%  3.6%
[libx264 @ 0x565079ecb940] kb/s:4930.69

En verder

Een goede en uitgebreide Engelstalige handleiding met een heldere uitleg voor het maken watermerken met FFmpeg kan je vinden op Cloudinary.

FFmpeg verwijderen