ffmpeg命令行处理视频,学习记录
ffmpeg命令行处理视频
截取视频前5s
ffmpeg -ss 00:00:00 -t 00:00:05 -i .\public\uploads\20231109\116a292eccf8315f65d7166e794d1730.mp4 .\public\uploads\20231109\116a292eccf8315f65d7166e794d1731.mp4
两视频合并为1个
ffmpeg -i F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\116a292eccf8315f65d7166e794d1730.mp4 -i F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\d5dc28f0ddc5aa1a21a608e762bfbe7b.mp4 -vf "scale=720:1280" F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\output1.mp4
将后面的视频放在前面视频右下角
ffmpeg -i F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\116a292eccf8315f65d7166e794d1730.mp4 -i F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\d5dc28f0ddc5aa1a21a608e762bfbe7b.mp4 -filter_complex "[0:v][1:v] overlay=W-w-10:H-h-10:enable='between(t,1,5)'" F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\output2.mp4
把a视频缩小到指定宽高
ffmpeg -i F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\d5dc28f0ddc5aa1a21a608e762bfbe7b.mp4 -vf "scale=180:240:flags=lanczos" -crf 1 F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\be7b_1_11.mp4
合并两个视频,把a视频放在b视频的右下角# 在这个命令中,-i b.mp4和-i a.mp4分别指定了要合并的两个视频文件b.mp4和a.mp4。-filter_complex "[1:v][0:v] overlay=W-w-10:H-h-10:enable=‘between(t,1,5)’"指定了使用overlay过滤器将视频a.mp4放在视频b.mp4的右下角,W-w-10:H-h-10表示将视频a.mp4的宽度和高度都缩小为10个像素。最后的output.mp4是生成的视频输出文件的名称。
请确保将命令中的文件名替换为你实际要合并的视频文件的路径和文件名,以及将输出文件名替换为你希望生成的输出文件的路径和文件名。运行命令后,将会生成一个合并后的视频文件,其中视频a.mp4位于视频b.mp4的右下角。
你已经设置了overlay=W-w-10:H-h-10:enable=‘betweent,1,5)’,这意味着从第二个视频(即be7b_1_10.mp4)开始后的5秒到第一个视频(即116a292eccf8315f65d7166e794d1730.mp4)的第5秒这段时间内,第二个视频会覆盖在第一个视频的右下角。之后,它将一直保持这个状态到结束。
ffmpeg -i F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\116a292eccf8315f65d7166e794d1730.mp4 -i F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\be7b_1_10.mp4 -filter_complex "[0:v][1:v] overlay=W-w-10:H-h-10:enable='between(t,1,5)'" F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\output4.mp4
这个命令将使得be7b_1_10视频从开始到结束都覆盖在116a292eccf8315f65d7166e794d1730.mp4的视频的右下角
ffmpeg -i F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\116a292eccf8315f65d7166e794d1730.mp4 -i F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\be7b_1_10.mp4 -filter_complex "[0:v][1:v] overlay=W-w-100:H-h-100" F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\output4.mp4
视频去绿幕
转格式
ffmpeg -i F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\be7b_1_11.mp4 -vf "chromakey=0x00FF00:0.2:0.8" -c copy -c:v png F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\be7b_1_11.mov
去绿幕
ffmpeg -y -i F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\be7b_1_11.mov -vf "chromakey=0x00FF00:0.2:0.8" -c copy -c:v libvpx-vp9 -c:a libopus F:\xuejiao\code\cms.openlai.com\public\uploads\20231109\be7b_1_11.webm
直接将绿幕人物嵌入背景视频中(浅色绿幕)
ffmpeg -i 背景视频.mp4 -i 缩放后绿幕人物视频.mp4 -filter_complex "[1:v]chromakey=Green:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" 新视频.mp4
使用透明蒙版文件(无法实现)
ffmpeg -i 绿幕视频.mp4 -vf "chromakey=0x00FF00:0.1:0.2" -c:v png mask.png
透明mask文件
直接嵌入(绿边严重)
ffmpeg -i D:\demo\bg_1.mp4 -i D:\demo\video_2.mp4 -filter_complex "[1:v]chromakey=0x00ff00:0.1:0.0[fg_keyed];[0:v][fg_keyed]overlay=W-w-10:H-h-10:enable='between(t,1,5)'" -map "[out]" -map 1:a -c:v libx264 -c:a aac -y D:\demo\output_1.mp4
扣绿色嵌入(推荐)
ffmpeg -i 背景视频.mp4 -i 绿幕人像视频.mp4 -filter_complex "[1:v]chromakey=0x1CE90A:0.1:0.0[fg_keyed];[0:v][fg_keyed]overlay=x=W-w-10:y=H-h-10:shortest=1[out]" -map "[out]" -map 1:a -c:v libx264 -c:a aac -y 新视频位置.mp40x1CE90A 调整相应绿幕颜色 0x色域 否则人像绿边严重
相关文章:
ffmpeg命令行处理视频,学习记录
ffmpeg命令行处理视频 截取视频前5s ffmpeg -ss 00:00:00 -t 00:00:05 -i .\public\uploads\20231109\116a292eccf8315f65d7166e794d1730.mp4 .\public\uploads\20231109\116a292eccf8315f65d7166e794d1731.mp4两视频合并为1个 ffmpeg -i F:\xuejiao\code\cms.openlai.com\p…...

Linux应用层点亮硬件的LED灯
一 应用层操作硬件的两种方法 应用层想要对底层硬件进行操控,通常可以通过两种方式: /dev/目录下的设备文件(设备节点);/sys/目录下设备的属性文件。 具体使用哪种方式需要根据不同功能类型设备进行选择,通…...

密钥安全存储方案探讨与实践
随着信息技术的迅猛发展和应用范围的不断扩大,我们日常生活中的许多方面已经与信息技术密不可分。而在信息安全领域中,密钥的安全存储显得尤为重要。本文将探讨密钥安全存储的必要性、相关技术和实践方案,并提出一些解决方案。 一、密钥安全存…...

[pytorch]设备选择以及卷积神经网络的应用
0.写在前面: 首先这篇文章还没写完,因为今天要尝试对我之前的一个框架做一个简单的更新迭代,所以目前先更新这么多. 1.关于设备的选择 首先,目前的大多数电脑都是自带一些GPU(图形计算单元,在这里被称之为cuda), 需要安装相关的驱动才能正常使用这些设备和调用他们的具体情况…...

API SIX系列-服务搭建(一)
APIsix简介 APISIX是一个微服务API网关,具有高性能、可扩展性等优点。它基于nginx(openresty)、Lua、etcd实现功能,借鉴了Kong的思路。和传统的API网关相比,APISIX具有较高的性能和较低的资源消耗,并且具有…...
hadoop 大数据环境配置 同步时间 centos服务器时间同步 linux 安装ntp服务更新时间 hadoop(六)
1. 安装ntp软件 yum install -y ntp 2.创建软连接 # 删除之前得时间 sudo rm -rf /etc/localtime;# 更新时区sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime3. 更新时间 # root 权限运行 sudo ntpdate -u ntp.aliyun.com 4. 开机自启,更新时间 …...

基于单片机智能输液器监控系统的设计
**单片机设计介绍, 基于单片机智能输液器监控系统的设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能输液器监控系统可以实现对输液过程的实时监测和控制,以下是一个基本的设计介绍&am…...
Unity解决:没有UnityWebRequest.Result
当我在Unity 2019中使用Unity 2021的代码satable时。 控制台显示 “UnityWebRequest”不包含“result”的定义,并且找不到接受“UnityWebRequest”类型的第一个参数的可访问扩展方法“result”(是否缺少using指令或程序集引用?) 漏洞/问题: if (req.result == UnityWebRe…...
记录Linux的Bug
项目场景: 提示:这里简述项目相关背景: 例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) 问题描述 提示:这里描述项目中遇到的问题࿱…...
优化改进YOLOv5算法之感受野注意力卷积运算(RFAConv),效果秒杀CBAM和CA等
目录 1 RFAConv原理 1.1 回顾标准卷积 1.2 回顾空间注意力 1.4 创新空间注意力与标准卷积...
【设计原则篇】聊聊里氏替换原则
是什么 子类对象可以替换程序中父类对象出现的任何地方,并且保证原有程序逻辑的正确性不被破坏。 比如我们在实际开发中定义了数据读取的父类,子类可以进行在此功能的拓展、增强但是不能修改原有的内在含义。 里氏替换原则和多态的区别,多态…...
k8s系列-kuboard创建工作负载 docker上传java微服务jar包到仓库的过程
文章目录 docker环境准备docker 镜像相关命令docker 容器相关命令容器和主机之间信息传递 内网中将jar包上传到docker仓库中 docker环境准备 1.查看环境中是否存在docker环境 docker version 2.不存在的话需要创建docker 镜像(image): dock…...

基于单片机的塑料厂房气体检测系统设计
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、设计的主要内容二、系统硬件设计三、软件设计实物 四、结论五、 文章目录 概要 本文首先分析了基于单片机的可燃…...

HTTP-FLV详解及分析
文章目录 前言一、HTTP-FLV 简介1、市场上使用 http-flv 的商家2、http-flv、rtmp 和 hls 直播的优缺点3、http-flv 技术实现 二、Nginx 配置 http-flv1、Windows 安装 nginx,已经集成 nginx-http-flv-module2、nginx.conf 配置文件3、运行 nginx 服务器4、ffmpeg 推…...
docker应用实例及dockerfile
实际应用 神经网络项目由x86cpu的linux环境移到arm cpu架构上运行,使用docker进行测试以及环境配置。 docker load -i 镜像压缩文件.tar docker load -i命令用于从一个压缩的镜像存档文件(通常是以.tar扩展名结尾)中加载镜像到本地Docker引擎…...

【Qt之QWizard】使用1
QWizard使用 描述方法枚举:enum QWizard::WizardButton枚举:enum QWizard::WizardOption枚举:enum QWizard::WizardStyle枚举:enum QWizard::WizardPixmap常用成员方法槽函数信号 示例设置标题添加page页设置按钮文本设置自定义按…...

移植LVGL到单片机的一个demo简单介绍
简介 背景: 本文使用的是主控IC为stm32f103zet6, 显示IC为ST7735s,它是128*160的像素,色深为RGB565颜色。 官方虽然说LVGL移植平台只需 64kB 闪存和 8kB RAM 就足以满足简单的用户界面。但我移植到stm32f103c8t6,不管怎么修改配…...
rust_for_linux驱动完整版记录
文章目录 [清华开源操作系统训练营]《Rust fox Linux》课程的练习1-2完整版记录。1. 环境搭建2. 编译rust内核2.1 下载源代码2.2 安装rust支持2.3 检查linux内核是否支持rust2.4 编译linux内核 3. aarch64的qemu环境3.1.下载源代码3.2. 解压编译安装3.3. 配置环境变量3.4.验证 …...
Android拖放startDragAndDrop拖拽Glide灵活加载堆叠圆角图,Kotlin(6)
Android拖放startDragAndDrop拖拽Glide灵活加载堆叠圆角图,Kotlin(6) Android拖放startDragAndDrop拖拽Glide加载堆叠圆角图,Kotlin(5)-CSDN博客文章浏览阅读1.3k次。Android Dyna…...

计算机网络课后作业2023秋
计算机网络第三版吴功宜版 课后作业 第一章作业三、计算与问答3.73.8 第二章作业三、计算与问答3.23.53.6 第三章作业三、计算与问答3.13.53.73.8 第四章作业三、计算与问答3.13.2 第五章作业三、计算与问答3.13.33.4VLAN交换机模式模式切换重置交换机VLAN配置命令其…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...