首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ffmpeg:如何hstack 2视频并在视频区域之外显示水印

ffmpeg是一个开源的音视频处理工具,可以用于处理、转码、编辑、合并、剪辑等多种音视频操作。在处理视频时,可以使用ffmpeg的filter_complex功能来实现视频的合并和添加水印。

要实现hstack(水平拼接)两个视频并在视频区域之外显示水印,可以使用以下命令:

代码语言:txt
复制
ffmpeg -i input1.mp4 -i input2.mp4 -i watermark.png -filter_complex "[0:v][1:v]hstack=inputs=2[merged];[merged][2:v]overlay=W-w-10:H-h-10" output.mp4

解析:

  • -i input1.mp4:指定第一个输入视频文件。
  • -i input2.mp4:指定第二个输入视频文件。
  • -i watermark.png:指定水印图片文件。
  • -filter_complex:指定复杂滤镜图表达式。
  • [0:v][1:v]hstack=inputs=2[merged]:将第一个输入视频和第二个输入视频水平拼接,并将结果保存为"merged"。
  • [merged][2:v]overlay=W-w-10:H-h-10:将拼接后的视频和水印图片进行叠加,水印显示在视频区域之外,距离右下角10个像素。

最后的output.mp4是输出文件名,可以根据需要自行修改。

推荐的腾讯云相关产品:腾讯云视频处理服务(云点播),该服务提供了丰富的音视频处理功能,包括转码、剪辑、拼接、水印等,可以满足各种音视频处理需求。产品介绍链接地址:https://cloud.tencent.com/product/vod

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

视频八股文(4)--ffmpeg常见命令(3)

). crop=100:100:12:34 相同效果: crop=w=100:h=100:x=12:y=34 (2)裁剪中心区域,大小为100x100 crop=100:100 (3)裁剪中心区域,大小为输入视频的...2/3 crop=2/3in_w:2/3in_h (4)裁剪中心区域的正方形,高度为输入视频的高 crop=out_w=in_h crop=in_h (5)裁剪偏移左上角100像素 crop=in_w-...17.4.2 图片水印 FFmpeg除了可以向视频添加文字水印之外,还可以向视频添加图片水印视频跑马灯等,本节将重点介绍如何视频添加图片水印;为视频添加图片水印可以使用movie滤镜,下面就来熟悉一下...中加入图片水印有两种方式,一种是通过movie指定水印文件路径,另外一种方式是通过filter读取输入文件的流并指定为水印,这里重点介绍如何读取movie图片文件作为水印。...(2显示位置 播放视频文件 input.mp4 并将图片文件 logo.png 设为叠加层,分别按照一定的规则将其与原始视频合成,并在播放时应用此滤镜效果: ffplay -i input.mp4 -

44230

视频八股文(4)--ffmpeg常见命令(3)

=100:100:12:34相同效果: crop=w=100:h=100:x=12:y=34(2)裁剪中心区域,大小为100x100crop=100:100(3)裁剪中心区域,大小为输入视频2/3crop...100:100(6)裁剪掉左右10像素,上下20像素crop=in_w-210:in_h-220(7)裁剪右下角区域crop=in_w/2:in_h/2:in_w/2:in_h/217.3 FFmpeg...17.4.2 图片水印FFmpeg除了可以向视频添加文字水印之外,还可以向视频添加图片水印视频跑马灯等,本节将重点介绍如何视频添加图片水印;为视频添加图片水印可以使用movie滤镜,下面就来熟悉一下...中加入图片水印有两种方式,一种是通过movie指定水印文件路径,另外一种方式是通过filter读取输入文件的流并指定为水印,这里重点介绍如何读取movie图片文件作为水印。...(2显示位置播放视频文件 input.mp4 并将图片文件 logo.png 设为叠加层,分别按照一定的规则将其与原始视频合成,并在播放时应用此滤镜效果:ffplay -i input.mp4 -vf

90200

如何通过FFMPEG编码推RTSP视频直播流到EasyDarwin开源平台时叠加时间水印

继之前一篇科普文《如何使用RTSP推流组件EasyPusher将MP4文件推到EasyDarwin开源平台》发布后,有开发者提出疑问:假如需要显示视频直播时间,如何在推送的时候可以自定义在视频上叠加时间水印...这个问题就涉及到了FFMPEG编码过程,具体内容可以通过《FFMPEG编码过程说明》一文了解,根据FFMPEG编码,我们来尝试实现上面的需求。...利用FFMPEG,结合命令: ffmpeg -re -stream_loop -1 -i test.mp4 -vf drawtext=“fontfile=arial.ttc:x=w-tw-20:y=30...h264 -f rtsp rtsp://172.81.216.155:554/test.sdp 此命令解释,循环把test.mp4读出来以RTSP协议方式推送到172.81.216.155:554,在视频右上角添加一个白色的...EasyDarwin开源平台提供的开源项目,拥有完整的源代码,帮助开发者更快更简单实现流媒体音视频产品功能,实现移动互联网流媒体直播点播。大家如果对EasyDarwin开源项目感兴趣,欢迎联系我们。

1.4K30

07——FFmpeg去除水印

上一期我们讲了如何使用FFmpeg命令行为视频添加水印,这一期就讲一下如何使用FFmpeg命令行来去除水印(也就是添加水印的逆操作)。 请神容易送神难,加水印容易,去水印可就没那么简单了!...那么,具体如何水印呢,首先简单描述一下原理吧!...任意的视频水印视频画面中都一个矩形区域,而一个矩形区域,可以用(x,y,w,h)四个值描述其具体位置,用(x, y)来描述水印矩形区域的左上角坐标,用(x, y)描述水印矩形区域的宽度和高度。...确定了水印区域FFmpeg通过滤镜,对该区域进行模糊操作,如此,便可以实现去除水印的效果!...out.mp4 二、命令行参数解释 -i: 输入视频的文件名,此处为test.mp4,实际使用时填写需要去除水印视频文件名即可 -vf delogo: -vf delogo 表示使用ffmpeg中去水印的滤镜

5.8K10

学会添加水印,只要这一篇就足够

文字 textfile 字符串 文字文件 fontcolor 色彩 字体颜色 box 布尔 文字区域背景框 boxcolor 色彩 展示字体的区域块的颜色 fontsize 整数 显示字体大小 font...有时候,我们并不希望视频中的水印一直显示,而是定期显示FFmpeg也支持这样定期的显示水印,我们直接看一条中每3秒显示一次水印的命令如下: ffmpeg -re -i test.mp4 -vf "drawtext...当然了,FFmpeg除了可以向视频添加文字水印之外,我们最常见也是最常用的就是向视频添加图片水印了,为视频添加图片水印可以使用movie滤镜,movie滤镜的主要参数如下: 参数 类型 说明 filename...我们的水印图片的大小有的时候可能相对较大,在视频显示水印区域有时候却很小,这个时候我们就需要对水印的大小进行缩放,水印的缩放主要通过scale滤镜来实现,其参数就是缩放后的width和height,...我们来看看如何添加多个水印

4.7K10

FFmpeg 滤镜相关

FFmpeg可以为视频添加水印水印可以时文字,也可以时图片,主要用来标记视频归属。...fontcolor 字符串 字体颜色 box 字符串 文字区域背景框 boxcolor 字符串 展示字体颜色的区域快的颜色 fontsize 字符串 显示字体的大小 font 字符串 字体名称(默认为...Sans字体) x 字符串 文字显示的x坐标 y 字符串 文字显示的y坐标 使用举例 ffmpeg -i out2.mp4 -vf "drawtext=fontsize=100:fontfile=FreeSerif.ttf...hello world ':x=20:y=20:fontcolor=green" waterfont.mp4 还可以调用一些系统数据,比如水印按当前时间来显示 ffmpeg -re -i out2.mp4...中加入图片水印有两种方式,一是通过movie指定水印文件路径,另外一种方式是通filter读取输入文件的流并指定为水印, 这里重点介绍如何读取movie图片文件作为水印 图片就会出现在视频的左上角 ffmpeg

2.6K30

FFmpeg如何将一个gif嵌入视频指定位置并指定显示时间

背景 很简单的需求:我需要将一个gif嵌入到视频里面的指定位置,并要指定时间播放; 环境 windows11 64位专业版 ffmpeg version 2022-04-07-git-607ecc27ed-full_build-www.gyan.dev...运行结果:没有问题,gif被嵌入到指定位置,并正常播放; 注意:shortest=1 参数如果没写,视频会无限渲染,最终搞嘎机器; 第二版:指定gif显示时间段 错误写法 我这里写的时候以为shortest...运行结果: 发现gif位置正确,显示时间正确,就是不会动了,花了不少时间找原因; 最后排查到gif不动原因是: 1、gif是从视频一开始加载就播放的,并不是到(t,3,4)再播放,between控制的是显示时间...; 2、这里指定播放次数1(但实际播放两次),耗时1.24*2=2.48s,也就是2.48秒后,gif就不动了,破案; 所以正确写法是 1、-stream_loop -1 :gif无限循环; 2、shortest...=1:以视频流的播放结束作为输出结束条件;再用between控制显示时间即可; ffmpeg -i input.mp4 -stream_loop -1 -i 1.gif -filter_complex

22740

视频内容安全保护技术分析与实现

近年来,视频已逐渐成为互联网内容的主流,如何保障视频内容的安全,防止非法盗版,传播成为众多企业关注的重点。...因为用户流量的规模直接影响到视频平台与广告投放主的议价能力,仅生产或购买了内容却无法将其价值高效转化为实际收益,这是被盗链后企业面临的难题之一;除此之外,对于一些采用会员订阅制将独家拥有的版权的资源为购买了...2. 直播内容保护技术 首先我们需要了解直播内容保护技术中不可或缺的封装方案与传输协议。...SWF多用于仅PC端播放的场景,使用SWF对视频内容进行加密并在借助RTMP传输数据时添加校验密钥,如果在Handshake时校验不通过则阻止访问,整个过程需要服务端的支持才能进行。...这样处理虽然用户端不会看出视频有什么变化,但通过我们自己的识别系统可识别水印并追溯视频盗取源头。

1.3K10

FFmpeg从入门到精通》读书笔记(五)

h:输入视频帧的高度 FFmpeg视频水印 1.文字水印视频中增加文字水印,需要有文字字库处理的相关文件,在编译FFmpeg时需要支持FreeType、FontConfig、iconv,...boxcolor color 展示字体的区域块的颜色 fontsize int 显示字体的大小 font String 字体名称(默认为Sans字体) x int 文字显示的x坐标 y int 文字显示的...world':x=20:y=20:fontcolor=green:box=1:boxcolor=yellow" -strict -2 output2.mp4 以本地时间作为水印 ffmpeg -i...output3.mp4 使用drawtext与enable定时显示水印(每三秒显示一次) ffmpeg -i input1.mp4 -vf "drawtext=fontsize=60:fontfile...所以if(gte(t,2),10,NAN)的意思就是,当时间大于等于2秒时,水印x位置为10,反之不显示水印

87630

原来FFmpeg这么有意思(一)

这个App大概有以下功能(目前并未开源,项目地址) 视频画面拼接(主要的) 视频宽高裁剪 视频时长裁剪 添加视频边框及修改边框颜色 添加视频封面 添加视频背景图片 添加视频水印 添加背景音乐 下面是两张视频转...但是页面还有很多优化的地方,所以啊 FFmpeg真的很牛逼。接下来我会教大家自己怎么实现这个功能。那么来看看做出来的视频如何,某音好像没有这个功能哦, ?...第三步 视频拼接,那么如何视频拼接呢,不用担心 ffmpeg 已经给我们做好了相应的封装了。只要了解相应的命令就可以完成了最基础的视频拼接功能了。.../ffmpeg -i input2.mp4 -i input2.mp4 -filter_complex [0][1]vstack -y output.mp4 复制代码 成功的话应该是以下页面 ?...vstack 可以官网看到这样的介绍 Stack input videos vertically.就是垂直拼接视频的意思,同理如何想水平的话,只要把vstack 改成hstack就可以了,老铁们是不是很简单

1.4K30

FFmpeg】Filter 过滤器 ③ ( 文字水印 - drawtext 过滤器 | drawtext 过滤器支持库编译配置 | drawtext 过滤器常用参数 )

文章目录 一、文字水印 - drawtext 过滤器 1、drawtext 过滤器简介 2、drawtext 过滤器支持库 3、编译 FFmpeg 源码时启用 drawtext 过滤器配置 二、drawtext...、添加水印 - 基础设置 2、添加水印 - 设置背景框和文本颜色 3、添加水印 - 显示当前时间 4、添加水印 - 定时显示水印 5、添加水印 - 跑马灯效果 FFmpeg 相关文档 : FFmpeg...一、文字水印 - drawtext 过滤器 1、drawtext 过滤器简介 drawtext 过滤器 是 FFmpeg 中的一个 视频过滤器 , 用于 在 视频画面帧 上绘制文本 , 也就是添加文字水印...等属性 ; 动态时间戳显示 : drawtext 过滤器 可以 使用 时间戳 显示 动态变化 的时间信息 , 如 : 在视频显示视频开始 到 当前时间 的经过时间 ; 多语言支持 :...字符串 ; 2、添加水印 - 设置背景框和文本颜色 执行 ffmpeg -i input.mp4 -vf "drawtext=text='Hello, World!'

30710

FFMPEG指令

FFmpeg是一个用于音视频处理的自由软件,被广泛用于音视频开发。FFmpeg功能强大,本文主要介绍如何使用FFmpeg命令行工具进行简单的视频处理。...提取视频流 提取音频 按帧截取图像 按时间截取图像 截取视频片段 截取视频区域 拼接视频 将图片合并为视频 添加音频 添加水印 添加动画 添加文字 添加字幕 旋转视频 基本概念 容器 我们熟悉的mp4...crop ffmpeg -y -i test.mp4 -vf "crop=w=100:h=100:x=in_w/2:y=in_h,scale=400:400" test.mov crop滤镜用于截取视频中的一个区域...滤镜将一个视频叠放在另一个视频上,可用于在视频中添加水印和动画等操作。...按帧数截取: ffmpeg -y \ -ss 2 -i test.mp4 \ -vframes 120 \ -s 352x240 \ clip.mp4 截取视频区域 截取视频区域

5.7K202

FFmpeg】Filter 过滤器 ④ ( 图片水印 - movie 过滤器 overlay 过滤器 | movie 过滤器内置参数值简介 | 图片水印示例 )

40[out]" output.mp4 命令 , 向视频中添加图片水印 , 效果如下 : 执行 ffmpeg -i input.mp4 -vf "movie=icon.png[icon_watermark...=file_path[:option1=value1:option2=value2...] file_path 参数 : 上述 movie 过滤器语法中 , file_path 是必须指定的参数 , 设置输入文件路径...可以自动识别出文件的格式 , 因此该选项一般情况下不需要显示指定 , 除非设置的文件没有后缀 ; stream_index 参数 : 可以简写成 si 参数 , 设置输入流的索引编号 , 如果有多个输入流则使用该索引编号选择为哪个输入流添加滤镜...的 水平位置 ; position_y 参数 : 是 叠加内容 的 垂直位置 ; 二、图片水印示例 1、添加图片水印 - 基础设置 下面的命令 , 就是 向视频中 添加一个图片水印 的命令 ; ffmpeg...播放效果如下 , 在视频文件的左上角 ( 40 , 40 ) 位置处 , 出现了 icon.png 图片水印 ; 2、添加图片水印 - 将水印设置到视频右下角 将 图片水印 位置 , 设置在右下角 ,

11410

FFmpeg深入学习

():读取音视频帧; avcodec_decode_video2():解码一帧视频数据; SDL 显示 YUV 图像的流程图: SDL_Init():主要是初始化内存等; SDL_SetVideoMode...2ffmpeg 添加水印基本流程 这里主要讲述如何利用 ffmpeg视频文件添加水印这一功能,文中最后会给出源代码下载地址以及视频下载地址,视频除了讲述添加水印的基本原理以及代码实现,还提到了要注意的一些地方...利用 ffmpeg视频文件添加水印的基本原理是将视频文件的视频包解码成一帧帧 “Frame”,通过 ffmpeg Filter(overlay)实现待添加水印与 “Frame” 的叠加,最后将叠加后的视频帧进行编码并将编码后的数据写到输出文件里...基本的流程如下图所示: 3、ffmpeg视频中添加文字 ffmpeg 支持添加文字能,具体如何将文字叠加到视频中的每一张图片,ffmpeg 调用了文字库 FreeSerif.ttf。...:GOP,300 个帧里面才有一个 I 帧 -vf:视频过滤器 enable=lt(mod(t,3),2):播放时间对 3 求余数,当小于等于 2 的时候显示,也就是说每 3 秒中显示 2 秒灭 1 秒

47330

Serverless 实现视频压缩与格式转换

所以可以看到视频的压缩/转码等操作,在 Serverless 架构下确实是一个很好的典型应用。那么有了这样的一个"典型"应用,我们应该如何实现它呢?...当然,这里仅仅是通过 /tmp/ffmpeg -i 原视频 -r 10 -b:a 32k 生成视频 来进行视频压缩,除此之外,我们还可以使用 ffmpeg 进行额外的操作(以下内容来源于 canmeng...-i input.mp4 -vf scale=iw/2:-1 output.mp4 // iw 是输入的宽度, iw/2就是一半;-1 为保持宽高比 //视频变速 ffmpeg -i input.mp4...-水印的宽度-水印边距; // 截取视频局部 ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4 // 截取部分视频,从[80,60]...ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4 // 截去底部40像素高度 ffmpeg

1.3K42
领券