Use ffmpeg to add a video watermark, and the video contains a cover image. The watermark is attached as the cover image.
command like this
ffmpeg -ss 0 -t 60 -i .\test2.mp4 -i logo_gray20p.png
-filter_complex "[0:V]overlay=x=W-w-20:y=10[out]" -f mp4 test2_out.mp4
video add watermark used "Stream #1:0: Video: png", not the logo_gray20p.png. output info contains "Stream #0:2 (png) -> overlay (graph 0)".
Output
.................ffmpeg version & info
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000022d4c51eb00] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\test2.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 2022-01-11T12:16:31.000000Z
encoder : Lavf59.10.100
Duration: 00:44:07.93, start: 0.000000, bitrate: 1587 kb/s
Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x818 [SAR 1:1 DAR 960:409], 1487 kb/s, 24.88 fps, 25 tbr, 90k tbn (default)
Metadata:
creation_time : 2022-01-11T12:16:31.000000Z
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Stream #0:1[0x3](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 92 kb/s (default)
Metadata:
creation_time : 2022-01-11T12:16:31.000000Z
handler_name : SoundHandler
vendor_id : [0][0][0][0]
Stream #0:2[0x0]: Video: png, rgba(pc), 250x100, 90k tbr, 90k tbn (attached pic)
Input #1, png_pipe, from 'logo_gray20p.png':
Duration: N/A, bitrate: N/A
Stream #1:0: Video: png, rgba(pc), 150x53 [SAR 3780:3780 DAR 150:53], 25 fps, 25 tbr, 25 tbn
File 'test2_out.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
Stream #0:0 (h264) -> overlay (graph 0)
Stream #0:2 (png) -> overlay (graph 0)
overlay:default (graph 0) -> Stream #0:0 (libx264)
Stream #0:1 -> #0:1 (aac (native) -> aac (native))