简体   繁体   English

ffmpeg-按视频持续时间添加,缩放和设置多个水印的精度

[英]ffmpeg - Add, scale and set potision of multi watermarks by duration to video


I have a video /path/to/video.mp4 我有一个视频/path/to/video.mp4
Now I want to place each watermarks for each 6 seconds. 现在,我想每6秒放置一个水印。 I used command as: 我使用命令为:

"ffmpeg" -i /path/to/video.mp4 
    -i /path/to/watermark-1.jpg \
    -i /path/to/watermark-2.jpg \
    -i /path/to/watermark-3.jpg \
    -i /path/to/watermark-4.jpg \
    -i /path/to/watermark-5.jpg \
    -i /path/to/watermark-6.jpg \
-filter_complex \
    "[0:0] scale=210:192 [tmp], \
    [tmp][1:v] overlay=47:97:enable='between(t,0,6)' [tmp]; \
    [tmp][2:v] overlay=47:97:enable='between(t,6,12)' [tmp]; \
    [tmp][3:v] overlay=47:97:enable='between(t,12,18)' [tmp]; \
    [tmp][4:v] overlay=47:97:enable='between(t,18,24)' [tmp]; \
    [tmp][5:v] overlay=47:97:enable='between(t,24,30)' [tmp]; \
    [tmp][6:v] overlay=47:97:enable='between(t,30,36)' [output]" \
-map [output] /path/to/output.mp4 2>&1

I tried to scale my watermarks, but it scales the video, and the sound of video was lost. 我尝试缩放水印,但是缩放了视频,视频的声音丢失了。

What is my wrong? 我怎么了

You have to scale each of the watermarks separately. 您必须分别缩放每个水印。

"ffmpeg" -i /path/to/video.mp4 
    -i /path/to/watermark-1.jpg \
    -i /path/to/watermark-2.jpg \
    -i /path/to/watermark-3.jpg \
    -i /path/to/watermark-4.jpg \
    -i /path/to/watermark-5.jpg \
    -i /path/to/watermark-6.jpg \
-filter_complex \
"[1:0]scale=210:192[w1]; \
 [2:0]scale=210:192[w2]; \
 [3:0]scale=210:192[w3]; \
 [4:0]scale=210:192[w4]; \
 [5:0]scale=210:192[w5]; \
 [6:0]scale=210:192[w6]; \
    [0][w1] overlay=47:97:enable='between(t,0,6)'[v1]; \
    [v1][w2] overlay=47:97:enable='between(t,0,6)'[v2]; \
    [v2][w3] overlay=47:97:enable='between(t,0,6)'[v3]; \
    [v3][w4] overlay=47:97:enable='between(t,0,6)'[v4]; \
    [v4][w5] overlay=47:97:enable='between(t,0,6)'[v5]; \
    [v5][w6] overlay=47:97:enable='between(t,0,6)'" \
/path/to/output.mp4 2>&

When you explicitly set a map, only the mapped streams are outputted. 显式设置映射时,仅输出映射的流。 Let FFmpeg auto-select streams here. 让FFmpeg在此处自动选择流。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM