当前位置: 首页 > news >正文

北京南站到北京西站十堰秦楚网官网

北京南站到北京西站,十堰秦楚网官网,免费制作游戏app软件,ui设计培训机构怎么样FFmpeg 命令#xff1a;从入门到精通 | ffmpeg filter#xff08;过滤器 / 滤镜#xff09; FFmpeg 命令#xff1a;从入门到精通 | ffmpeg filter#xff08;过滤器 / 滤镜#xff09;ffmpeg fliter 基本内置变量视频裁剪文字水印图片水印画中画视频多宫格处理 FFmpeg 命… FFmpeg 命令从入门到精通 | ffmpeg filter过滤器 / 滤镜 FFmpeg 命令从入门到精通 | ffmpeg filter过滤器 / 滤镜ffmpeg fliter 基本内置变量视频裁剪文字水印图片水印画中画视频多宫格处理 FFmpeg 命令从入门到精通 | ffmpeg filter过滤器 / 滤镜 本节主要介绍了ffmpeg filter列举了一些常用的滤镜及其使用方法。 ffmpeg 滤镜种类非常多这也是 ffmpeg 学习的重难点。 ffmpeg fliter 基本内置变量 变量说明t以秒为单位表示的时间戳如果输入的时间是未知的则是 NANn输入帧的顺序编号从0开始pos输入帧的位置如果是未知的则是 NANw输入视频帧的宽度h输入视频帧的高度 视频裁剪 输入图像大小iw * ih起始坐标 (x, y)裁剪输出大小ow * oh。 直接显示 ffplay -i input.jpg -vf cropow:oh:x:y输出图片 ffmpeg -i input.jpg -vf cropow:oh:x:y output.jpg裁剪中间区域大小为 100 * 100 ffmpeg -i input.jpg -vf crop100:100 output.jpg裁剪中间区域大小为输入视频的 2/3 ffmpeg -i input.flv -vf crop2/3*in_w:2/3*in_h output.flv裁剪中间区域的正方形大小为输入视频的高 ffmpeg -i input.flv -vf cropout_win_h output.flv或 ffmpeg -i input.flv -vf cropin_h output.flv示例1 ffmpeg -i input.jpg -vf cropiw/3:ih:iw/3:0 output.jpg从坐标 (iw/3, 0) 开始裁剪出一个宽度为 iw/3、高度为 ih 的图片命名为 output.jpg 并保存。 input.jpg output.jpg 示例2 ffplay -i input.jpg -vf cropiw/3:ih/2:0:0从坐标 (0, 0) 开始裁剪出一个宽度为 iw/3、高度为 ih/2 的图片并显示 文字水印 在视频中增加文字水印需要准备的条件比较多需要有文字字库处理的相关文件在编译 FFmpeg 时需要支持 FreeType、FontConfig、iconv系统中需要有相关的字库在 FFmpeg 中增加纯字母水印可以使用 drawtext滤镜进行支持下面就来看一下 drawtext 的滤镜参数 参数类型说明text字符串文字内容textfile字符串存储文字内容的文件box布尔值文字区域背景框默认为 falseboxcolor色彩展示字体区域块的颜色font字符串字体名称默认为 Sans 字体fontsize整数字体大小x 和 y字符串文字水印出现的位置以视频左上角为起始坐标默认都为0alpha浮点数透明度值为 0 ~ 1 的浮点数默认为 1 示例1将文字的水印加在视频的左上角 ffplay -i input.mp4 -vf drawtextfontsize100:fontfileFreeSerif.ttf:texthello world:x20:y20将字体的颜色设置为绿色 ffplay -i input.mp4 -vf drawtextfontsize100:fontfileFreeSerif.ttf:texthello world:fontcolorgreen如果想调整文字水印显示的位置调整 x 与 y 参数的数值即可 ffplay -i input.mp4 -vf drawtextfontsize100:fontfileFreeSerif.ttf:texthello world:fontcolorgreen:x400:y200修改透明度 ffplay -i input.mp4 -vf drawtextfontsize100:fontfileFreeSerif.ttf:texthello world:fontcolorgreen:x400:y200:alpha0.5文字水印还可以增加一个框然后给框加上背景颜色 ffplay -i cuc_ieschool.mkv -vf drawtextfontsize40:fontfileFreeSerif.ttf:texthello world:fontcolorgreen:box1:boxcoloryellow效果 注意引号中间是整个滤镜的每个参数用冒号隔开。 示例2以本地时间作为水印内容 有些时候文字水印希望以本地时间作为水印内容可以在 drawtext 滤镜中配合一些特殊用法来完成在 text 中显示本地当前时间格式为年月日时分秒的方式。 ffplay -i cuc_ieschool.mkv -vf drawtextfontsize20:fontfileFreeSerif.ttf:text%{localtime\:%Y\-%m\-%d %H-%M-%S}:fontcolorgreen:box1:boxcoloryellow效果 注时间会实时显示不断变动。 在使用 ffmpeg 转码存储到文件时需要加上-re表示按照时间戳来打水印因为是在转码1s会有多帧按照当前时间显示会有异常否则时间不对。 ffmpeg -re -i input.mp4 -vf drawtextfontsize30:fontfileFreeSerif.ttf:text%{localtime\:%Y\-%m\-%d %H-%M-%S}:fontcolorgreen:box1:boxcoloryellow output.mp4在个别场景中需要定时显示水印定时不显示水印这种方式同样可以配合 drawtext 滤镜进行处理使用 drawtext 与 enable 配合即可例如每 3 秒钟显示一次文字水印 ffplay -i input.mp4 -vf drawtextfontsize60:fontfileFreeSerif.ttf:texttest:fontcolorgreen:box1:boxcoloryellow:enablelt(mod(t\,3)\,1)注意在使用 ffmpeg 转码存储到文件时需要加上 -re否则时间不对。 表达式参考FFmpeg Utilities Documentation 3 Expression Evaluation lt(x, y)Return 1 if x is lesser than y, 0 otherwise。x 小于 y 返回 1否则返回 0mod(x, y)Compute the remainder of division of x by y。x 对 y 取余。 示例3跑马灯效果 跑马灯是指文字水印在视频界面上波动也是根据 mod 公式动态的修改水平的 x, y 坐标达到跑马灯的效果。 ffplay -i input.mp4 -vf drawtextfontsize30:fontfileFreeSerif.ttf:texthelloworld:xmod(100*t\,w):yabs(sin(t))*h*0.7效果文字水印以正弦函数行式循环出现。 修改字体透明度修改字体颜色 ffplay -i input.mp4 -vf drawtextfontsize40:fontfileFreeSerif.ttf:textliaoqingfu:xmod(50*t\,w):yabs(sin(t))*h*0.7:alpha0.5:fontcolorwhite:enablelt(mod(t\,3)\,1)效果 图片水印 FFmpeg 除了可以向视频添加文字水印之外还可以向视频添加图片水印、视频跑马灯等。 为视频添加图片水印可以使用 movie 滤镜下面就来熟悉一下 movie 滤镜的参数 参数类型说明filename字符串输入文件名可以是文件、协议、设备等format_name 或 f字符串输入文件的封装格式stream_index整数输入文件的流索引编号seek_point 或 sp浮点数输入流的时间位置streams 或 s字符串输入的多个流的流信息loop整数循环次数discontinuity时间差值支持跳动的时间戳差值 ffmpeg -i input.mp4 -vf movielogo.png[watermark];[in][watermark]overlayx10:y10[out] output.mp4参数 -i原始视频文件路径水印图片路径logo.png水印位置(x, y) (10, 10) (left, top)距离左侧、顶部各 10 像素输出文件路径output.mp4in表示的是 input.mp4名字可以随便定watermark表示待叠加的 logo.png名字可以随便定 如何确定图片水印的位置 参数说明main_w视频单帧图片宽度main_h视频单帧图片高度overlay_w视频单帧图片宽度main_h视频单帧图片高度 对应地可以将 overlay 参数设置成如下值来改变水印图片的位置 图片水印位置overlay 值左上角10:10右上角main_w-overlay_w-10:10左下角10:main_h-overlay_h-10右下角main_w-overlay_w-10:main_h-overlay_h-10 Tips如果水印图片是透明背景的效果会更好。 同样的我们也可以加上跑马灯效果 ffplay -i input.mp4 -vf movielogo.png[watermark];[in][watermark]overlayxmod(50*t\,main_w):yabs(sin(t))*h*0.7[out]画中画 画中画顾名思义就是播放的一个视频上面有叠加了另一个视频。 在播放在使用 FFmpeg 处理流媒体文件时有时需要使用画中画的效果。 在 FFmpeg 中可以通过 overlay 将多个视频流、多个多媒体采集设备、多个视频文件合并到一个界面中生成画中画的效果。 在前面的滤镜使用中以至于以后的滤镜使用中与视频操作相关的处理大多数都会与 overlay 滤镜配合使用尤其是用在图层处理与合并场景中下面就来了解一下 overlay 的参数 参数类型说明x字符串x 坐标y字符串y 坐标eof_action整数遇到 eof 表示时的处理方式。repeat值为0重复前一帧子画面保存前一帧endcall值为1停止所有的流主画面和子画面全部停止pass值为2保留主画面子画面关闭。默认为repeat值为0shortest布尔值值为 true 时最短的视频终止时全部视频终止。默认值为 falseformat整数设置 output 的像素格式。有以下几种格式yuv420值为0、yuv422值为1、yuv444值为2、rgb值为3.默认值为yuv420值为0 显示画中画效果 ffplay -i input.mp4 -vf moviesub_320x240.mp4[sub];[in][sub]overlayx20:y20[out]图解 参数 [sub]表示要叠加的子画面[in]表示输入的视频[in][sub]overlayx20:y20[out]表示输入和 sub 子画面叠加叠加的位置由 x, y 决定out 表示输出sub 子画面的名字可以随意修改 效果 子画面停止退出显示主画面正常播放 ffplay -i input.mp4 -vf moviesub_320x240.mp4[sub];[in][sub]overlayx20:y20:eof_action2[out]最短的视频播完则整个画面停止播放 ffplay -i input.mp4 -vf moviesub_320x240.mp4[sub];[in][sub]overlayx20:y20:shortest1[out]重新设定子画面尺寸: ffplay -i input.mp4 -vf moviesub_320x240.mp4,scale640x480[sub];[in][sub]overlayx20:y20[out]跑马灯效果 ffplay -i input.mp4 -vf moviesub_320x240.mp4[test];[in][test]overlayxmod(50*t\,main_w):yabs(sin(t))*main_h*0.7[out]视频多宫格处理 视频除了画中画显示还有一种场景为以多宫格的方式呈现出来除了可以输入视频文件还可以输入视频流、采集设备等。 从前文中可以看出进行视频图像处理时overlay 滤镜为关键画布可以通过 FFmpeg 建立一个画布也可以使用默认的画布。 如果想以多宫格的方式展现则可以自己建立一个足够大的画布下面就来看一下多宫格展示的例子 ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp4 -filter_complex nullsrcsize640x480[base];[0:v] setptsPTS-STARTPTS,scale320x240[upperleft];[1:v]setptsPTS-STARTPTS,scale320x240[upperright];[2:v]setptsPTS-STARTPTS, scale320x240[lowerleft];[3:v]setptsPTS-STARTPTS,scale320x240[lowerright];[base][upperleft]overlayshortest1[tmp1];[tmp1][upperright]overlayshortest1:x320[tmp2];[tmp2][lowerleft]overlayshortest1:y240[tmp3];[tmp3][lowerright]overlayshortest1:x320:y240 out.mp4看到这么长的命令可能已经晕了其实将命令拆分解析一下就很简单了对命令进行拆分解析 ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp4 #所有输入 -filter_complex nullsrcsize640x480[base]; #创建了一个base的画面大小640*480 [0:v] setptsPTS-STARTPTS,scale320x240[upperleft]; #视频1命令为upperleft缩放为320x240 [1:v]setptsPTS-STARTPTS,scale320x240[upperright]; #视频2命令为upperright缩放为320x240 [2:v]setptsPTS-STARTPTS, scale320x240[lowerleft]; #视频3命令为lowerleft缩放为320x240 [3:v]setptsPTS-STARTPTS,scale320x240[lowerright]; #视频4命令为lowerright缩放为320x240 [base][upperleft]overlayshortest1[tmp1]; # [base][upperleft]叠加生成[tmp1]upperleft没设置就是叠加在(0,0)位置 [tmp1][upperright]overlayshortest1:x320[tmp2]; #[tmp1][upperright]叠加生成[tmp2]叠加在320,0位置 [tmp2][lowerleft]overlayshortest1:y240[tmp3]; #[tmp2][lowerleft]叠加生成[tmp3] [tmp3][lowerright]overlayshortest1:x320:y240 #[tmp3][lowerright]叠加生成最终的输出 out.mp4说明 1.mp4、2.mp4、3.mp4、4.mp4 为文件路径out.MP4 为输出文件路径通过 nullsrc 创建 overlay 画布画布大小 640:480使用[0:v][1:v][2:v][3:v]将输入的 4 个视频流去除分别进行缩放处理基于 nullsrc 生成的画布进行视频平铺命令中自定义 upperleft, upperright, lowerleft, lowerright 进行不同位置平铺。 图解 效果 当画面的某部分没有视频时那块背景显示为绿色。如下所示
http://www.dnsts.com.cn/news/22490.html

相关文章:

  • 有什么做糕点的视频网站做英语教具的网站
  • 网站建设 响应式 北京高端网站建设注意
  • dms wordpress 导入 报错百度关键词自然排名优化公司
  • 网站后台重置密码怎么做做网站时怎样把文字放在中间
  • 现在都有什么网站工作室wordpress支持视频
  • 外贸网站该怎么做网站开发客户对话
  • 注册网站域名多少钱一年怎么用ps做京东网站模板
  • 网站代运营价格网站建设问题分类和排除方法分析
  • 手机网站建设公司电话咨询网站的建设部署与发布
  • 做彩票网站代理违法吗百度高级搜索入口
  • 免费网站制作知乎东莞市工程建设安监站网站
  • 重庆网站设计公司深圳做响应式网站制作
  • 南宁智慧园区网站建设wordpress站点切换为中文
  • 谷歌网站英文外国做电子产品网站有哪些
  • 免费空间如何放网站成都画册设计的公司
  • 电商网站建设计划书网站服务器空间价格
  • 怎么查网站是哪家制作公司做的网站模板工具
  • 上海做网站找哪个公司好湛江网站的建设
  • 一次性筷子网站建设怎样做网站推广啊抖音
  • 全国分类信息网站wordpress用户角色管理系统
  • 怎么建立信息网站平台网站如何添加百度商桥
  • t想学网站建设盘锦网站建设
  • 网站遭受攻击自己电脑做网站iis
  • 自己建网站做外贸那样的网站18年
  • 手机做ppt的免费模板下载网站想开广告公司怎么起步
  • 公司网站建设计划网站在哪里购买
  • 网站建设数据库代码模板免费的ppt软件
  • 贵州有网站的企业苏州网站建设多少钱
  • 长春建网站一般多少钱网站优化常见的优化技术
  • 公司网站主页怎么做太原网站免费制作