怎么利用ffmpeg和AviSynth给在windows下面为flv文件加水印

之前一直在找怎么为flv文件加上自己的水印,ffmpeg和vhook是在linux下面支持.在windows下面不支持.所以我就选择用ffmpeg和AviSynth为flv文件加水印.详细步骤如下:

1 首先当然下载ffmpeg和AviSynth了.具体的地址自己google一下就能找到很多.这里就不再详细介绍了.

一般情况ffmpeg下载后解压到c盘根目录后就可以了.包含3个文件

ffplay.exe

ffmpeg.exe

pthreadGC2.dll

那AviSynth下载后只需要在windows下面安装一下就可以了.

2 建议1.avs文件

video = DirectShowSource("C:/ffmpeg/1.flv",15).BilinearResize(320,240)
logo = ImageSource("C:/ffmpeg/logo.jpg")
logomask= ImageSource("C:/ffmpeg/logo.jpg")
overlay(video,logo,mask=logomask)

注:实际上我在执行命令是要求logo和logomask的规格大小必须相同.在这里我为了简便用了同一张图片

下面是对1.avs内容的解释:

video为视频源文件路径;

logo为水印上层文件;

logomash为水印下层文件;

overlay()为覆盖函数;

 

3 执行ffmpeg命令为1.flv添加水印

命令解释下面的红色部分为你要指定的1.avs的路径 输出文件路径为加水印后的文件路径

 

ffmpeg -y -i "Avs文件路径"  -ab 56 -ar 22050 -b 800000 -r 15 "输出文件路径"

 

针对此例的命令如下:

ffmpeg -y -i "C:/AviSynth/1.avs"  -ab 56 -ar 22050 -b 800000 -r 15 "C:/AviSynth/1.flv"

 

 

**********************************************************

ffmpeg 命令详解

 

 

基本选项:
-formats输出所有可用格式
-f fmt指定格式(音频或视频格式)
-i filename指定输入文件名,在linux下当然也能指定:0.0(屏幕录制)或摄像头
-y覆盖已有文件
-t duration记录时长为t
-fs limit_size设置文件大小上限
-ss time_off从指定的时间(s)开始, [-]hh:mm:ss[.xxx]的格式也支持
-itsoffset time_off设置时间偏移(s),该选项影响所有后面的输入文件。该偏移被加到输入文件的时戳,定义一个正偏移意味着相应的流被延迟了 offset秒。 [-]hh:mm:ss[.xxx]的格式也支持
-title string标题
-timestamp time时间戳
-author string作者
-copyright string版权信息
-comment string评论
-album stringalbum名
-v verbose与log相关的
-target type设置目标文件类型("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)
-dframes number设置要记录的帧数
视频选项:
-b指定比特率(bits/s),似乎ffmpeg是自动VBR的,指定了就大概是平均比特率
-vb指定视频比特率(bits/s)
-vframes number设置转换多少桢(frame)的视频
-r rate桢速率(fps)
-s size分辨率
-aspect aspect设置视频长宽比(4:3, 16:9 or 1.3333, 1.7777)
-croptop size设置顶部切除尺寸(in pixels)
-cropbottom size设置底部切除尺寸(in pixels)
-cropleft size设置左切除尺寸 (in pixels)
-cropright size设置右切除尺寸 (in pixels)
-padtop size设置顶部补齐尺寸(in pixels)
-padbottom size底补齐(in pixels)
-padleft size左补齐(in pixels)
-padright size右补齐(in pixels)
-padcolor color补齐带颜色(000000-FFFFFF)
-vn取消视频
-vcodec codec强制使用codec编解码方式('copy' to copy stream)
-sameq使用同样视频质量作为源(VBR)
-pass n选择处理遍数(1或者2)。两遍编码非常有用。第一遍生成统计信息,第二遍生成精确的请求的码率
-passlogfile file选择两遍的纪录文件名为file
-newvideo在现在的视频流后面加入新的视频流
 
高级视频选项
-pix_fmt formatset pixel format, 'list' as argument shows all the pixel formats supported
-intra仅适用帧内编码
-qscale q以<数值>质量为基础的VBR,取值0.01-255,约小质量越好
-loop_input设置输入流的循环数(目前只对图像有效)
-loop_output设置输出视频的循环数,比如输出gif时设为0表示无限循环
-g int设置图像组大小
-cutoff int设置截止频率
-qmin int设定最小质量
-qmax int设定最大质量
-qdiff int量化标度间最大偏差 (VBR)
-bf int使用frames B 帧,支持mpeg1,mpeg2,mpeg4
音频选项:
-ab设置比特率(单位:bit/s,也许老版是kb/s)
-aframes number设置转换多少桢(frame)的音频
-aq quality设置音频质量 (指定编码)
-ar rate设置音频采样率 (单位:Hz)
-ac channels设置声道数
-an取消音频
-acodec codec指定音频编码('copy' to copy stream)
-vol volume设置录制音量大小(默认为256)
-newaudio在现在的音频流后面加入新的音频流
字幕选项:
-sn取消字幕
-scodec codec设置字幕编码('copy' to copy stream)
-newsubtitle在当前字幕后新增
-slang code设置字幕所用的ISO 639编码(3个字母)
Audio/Video 抓取选项:
-vc channel设置视频捕获通道(只对DV1394)
-tvstd standard设置电视标准 NTSC PAL(SECAM)

 

同时附上了flv文件的一些转化命令,1.mp4转化为 1.flv

ffmpeg -i "1.mp4" -y -ab 32 -ar 22050 -b 800000 -s 640*480 1.flv

抓取缩位图1.jpg:

ffmpeg -i "1.flv" -y -f image2 -t 1 -s 300*200 "1.jpg"


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Hibernate框架开发之九】Hibernate 性能优化笔记!(遍历、一级/二级/查询/缓存/乐观悲观锁等优化算法)...

1. 循环分页或者循环进行部分读取处理数据的时候&#xff0c;使用 session.clear() ; 2. 对应1N&#xff08;N1&#xff09;问题使用如下解决方式&#xff1a; 1&#xff09;&#xff1a; 使用createCriteria进行查询(join fetch) 2&#xff09;&#xff1a;HQL -> joi…

vscode中安装webpack_VSCode下手动构建webpack项目(示例代码)

1.执行npm install nrm -g&#xff0c;安装nrm&#xff0c;此模块主要用于切换npm镜像源&#xff0c;简化手动配置步骤2.执行 nrm ls&#xff0c;可以看到npm源地址列表&#xff0c;当前使用的是默认源&#xff0c;npm https://registry.npmjs.org/3.执行 nrm use taobao&#…

Python html 代码转成 word(docx)

安装 sudo apt install pandoc pip3 install pypandoc示例代码 import pypandochtml """ <h3>This is a title</h3> <p><img src"http://placehold.it/150x150" alt"I go below the image as a caption"></p…

最新ffmpeg编译和用eclipse进行源码调试

最近由于项目需要&#xff0c;必须修改ffmpeg的源码进行修改才能满足项目的需求&#xff0c;但以前我从来没有自己去编译和使用ffmpeg的源代码&#xff0c;一直都是用别人编译好了的sdk&#xff0c;再加上习惯了vs方便的编译环境&#xff0c;要在linux下对如此多的源代码进行编…

Django补充知识点——用户管理

内容概要 1、Form表单2、Ajax3、布局&#xff0c;Django母板4、序列化5、Ajax相关6、分页7、XSS攻击8、CSRF9、CBV、FBV 10、类中用装饰器的两种方法 11、上传文件 12、数据库正向查询、反向查询、多对多查询 13、jQuery对象和DOM对象可以互相转换 14、cookie和session 用户管理…

easypoi导出excel 效率_Spring Boot 入门(十二):报表导出,对比poi、jxl和esayExcel的效率...

关于poi、jxl和esayExcel的介绍自行百度。jxl最多支持03版excel&#xff0c;所以单个sheet页面最多只能导出65536条数据。我直接将excel导入到浏览器并打开&#xff0c;以下统计导出时长指将数据从数据库查询&#xff0c;并写入到excel的过程。不包括打开excel所消耗的时间为了…

Python html 代码转成图片、PDF

一、下载 1、python的imgkit、pdfkit库 pip install imgkit pip install pdfkit 2、wkhtmltopdf工具包 下载地址&#xff1a;https://wkhtmltopdf.org/downloads.html 下载之后安装&#xff0c;安装完成会生成两个程序&#xff0c;分别用来转图片和pdf&#xff1a; 二、使…

SpringEL expression:

2019独角兽企业重金招聘Python工程师标准>>> 这个异常有下面几种情况 1、你写的 EL 表达式有语法错误。 2、再者就是你取得变量是多级的话比如 student.address.prevince 属性model 关联有问题。 3、还有就是你取得值为空&#xff08;null&#xff09; 比如 Thymel…

利用qt和ffmpeg软件来制作视频裁剪工具

0 什么是ffmpeg? Libav&#xff08;旧称&#xff1a;FFmpeg&#xff09;是一个自由软件&#xff0c;可以运行音频和视频多种格式的录影、转档、流功能[1]&#xff0c;包含了libavcodec ─这是一个用于多个专案中音频和视频的解码器库&#xff0c;以及 libavformat ——一个音频…

fresco使用中圆角出现了黑边

其实并不是出现了黑边&#xff0c;而是图片上有颜色渗出 如何修改 在xml加入 fresco:roundWithOverlayColor "color/transparent" //就是把圆角覆盖图改为透明色 转载于:https://www.cnblogs.com/vete-l/p/7998122.html

Python 第三方库之 docxtpl (处理word文档)

项目官方文档 项目官方git docxtpl 软件包使用两个主要软件包&#xff1a; python docx&#xff0c;用于读取、写入和创建子文档jinja2用于管理插入到模板docx中的标记。jinja官网, jinja中文网站 简单示例 from docxtpl import DocxTemplatetpl DocxTemplate(test.docx)con…

域添加另一台机器_巨杉Tech | SequoiaDB数据域概念解读与实践

近年来&#xff0c;银行各项业务发展迅猛&#xff0c;客户数目不断增加&#xff0c;后台服务系统压力也越来越大&#xff0c;系统的各项硬件资源也变得非常紧张。因此&#xff0c;在技术风险可控的基础上&#xff0c;希望引入大数据技术&#xff0c;利用大数据技术优化现有IT系…

Citrix XenServer 池要求

池要求 资源池是一台或多台服务器的同类或异类聚合&#xff0c;每个池最多包含 16 台服务器。创建池或将服务器加入现有池前&#xff0c;应确保池中的所有服务器满足下面介绍的要求。 硬件要求 XenServer 资源池中的所有服务器必须具有广泛兼容的 CPU&#xff0c;也就是说&…

推荐一个接口文档工具

ShowDoc 转载于:https://www.cnblogs.com/LW-baiyun/p/8003975.html

自动转换flv文件

在线转化.谁有 把其他的视频文件格式的视频,经过上传自动转化FLV格式的一种插件.提供编程接口.给我一份.类似新浪网播客上传视频的一样. (还有上传是的哪个效果,进度条如何作的?)或者给我个参考地址什 ... 环境&#xff1a;redhat as41。首先获取ffmpeg很多人找不到怎么下载,其…

云计算的概念_云计算概念掀起涨停潮 美利云奠定板块龙头地位

温馨提示&#xff1a;股市风险时刻存在&#xff0c;文中所提个股仅为个人观点&#xff0c;请勿盲目跟随操作&#xff0c;笔者希望大家都做到不贪婪&#xff0c;不恐惧&#xff0c;不瞎猜&#xff0c;不跟风做一个纪律严明轻松淡定的股票交易者。社4月26日讯&#xff0c;沪深两市…

Python 第三方模块之 PDFMiner(pdf信息提取)

PDFMiner简介 pdf提取目前的解决方案大致只有pyPDF和PDFMiner。据说PDFMiner更适合文本的解析&#xff0c;首先说明的是解析PDF是非常蛋疼的事&#xff0c;即使是PDFMiner对于格式不工整的PDF解析效果也不怎么样&#xff0c;所以连PDFMiner的开发者都吐槽PDF is evil. 不过这些…

TFS2017持续发布中调用PowerShell启停远程应用程序

目前团队项目中有多个Web、服务以及与大数据平台对接接口等应用&#xff0c;每次的发布和部署采用手工的方式进行。停止应用程序&#xff0c;拷贝发布包&#xff0c;启动应用程序&#xff0c;不停的循环着&#xff0c;并且时不时地会出现一些人为错误性问题。这种模式消耗的很多…

Flask 多线程

参数 app.run()中可以接受两个参数&#xff0c;分别是threaded和processes&#xff0c;用于开启线程支持和进程支持。 threaded&#xff1a; 是否开启多线程&#xff0c;默认不开启。 if __name__ __main__:app.run(threadedTrue)processes&#xff1a;进程数量&#xff0c…

40天python入门教程_Python入门教程超详细1小时学会Python

Java和Javascript,不用1小时你就可以用Python快速流畅地写有用的Python程序.为什么使用Python假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200.思路:用shell编程.(Linux通常是bash而Windows是批处理脚本).例如,在Windo…