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

ffmpeg-命令大全03

ffplay/mpv

查看所有的解码器

ffplay -decoders >>decoders.txt

ffplay无延时无缓存播放

ffplay -fflags nobuffer -i "%1"

ffplay指定size播放

ffplay -x 480 -y 270 -i "%1"

ffplay指定解码器

ffplay -vcodec hevc_cuvid "%1"         [h264_cuvid hevc h264 mpeg4]

jetson指定解码器

ffplay -vcodec h264_nvmpi "%1"

mpv指定size播放

mpv -x --geometry=300 "%1"

mpv指定dxva2解码播放

mpv --vo=gpu --hwdec=dxva2 "%1"

[dxva2-copy/d3d11va/d3d11va-copy/nvdec/nvdec-copy/cuda/cuda-copy --vo=direct3d]

mpv指定自动GPU解码播放

mpv --vo=gpu --gpu-api=auto --hwdec=auto "%1"

ffmpeg推流相关

%URL% 为xx.mp4或 rtsp://xx等视频源

rtp推流

ffmpeg -re -i %URL% -vcodec copy -f rtp rtp://127.0.0.1:12345

udp推流

ffmpeg -re -i %URL% -vcodec copy -f mpegts udp://127.0.0.1:12345

rtsp推流

ffmpeg -re -fflags +genpts -stream_loop -1 -i %URL% -vcodec copy -f rtsp rtsp://127.0.0.1:554

rtmp推流

ffmpeg -re -i %URL% -c copy -f flv rtmp://127.0.0.1/live

rtsp推流(640x480转码mpeg4)

ffmpeg -re -fflags +genpts -stream_loop -1 -i %URL% -vf "scale=640:480:flags=bicubic,setsar=1/1" -vcodec mpeg4 -b:v 420k -c:a aac -ac 2 -b:a 64k -r 15 -sn -map_metadata -1 -map_chapters -1 -f rtsp rtsp://127.0.0.1:554

ffmpeg测试流写入flv

ffmpeg -probesize 32768 -i "rtsp://xxx" -acodec copy -vcodec copy -f flv out.flv

ffmpeg字幕相关

subtitles

%URL% 为xx.mp4或 rtsp://xx等视频源

增加srt/ass字幕流 设默认

ffmpeg -i %URL% -i sub.srt -c copy -disposition:s:0 default out.mkv

拷贝视音频轨 增加双轨字幕流 设默认

ffmpeg -i %URL% -i %~DPsub0.ass -i %~DPsub1.ass -map 1:s -c copy -map 2:s -c copy -map 0:v -c copy -map 0:a -c copy -disposition:s:0 default -shortest out.mkv

提取srt字幕流

ffmpeg -i %URL% sub.srt

字幕流转换

1)原始文本输出

ffmpeg -i %URL% -an -vn -bsf:s mov2textsub -scodec copy -f rawvideo sub.txt

ffmpeg -i %URL% -an -vn -c:s copy -f rawvideo -map 0:s sub.txt

2)ass格式输出

ffmpeg -i %URL% -an -vn -scodec copy sub.ass

ffmpeg设备音频相关

%URL% 为xx.mp4或 rtsp://xx等视频源

列出设备

ffmpeg -list_devices true -f dshow -i dummy

摄像头采集(采10秒)

ffmpeg -f dshow -i video="Integrated Camera" -t 10 -vcodec libx264 out.mp4

列出硬解等

ffmpeg -codecs | grep cuvid

ffmpeg -hwaccels  显示所有可用的硬件加速器

分离提取音频(aac/ac3/dts)

ffmpeg -i %URL% -map 0:a:0 -acodec copy -y %~DP01.ac3

ffmpeg -i %URL% -map 0:a:1 -acodec copy -y %~DP02.aac

ac3合并0,1音频轨到视频

ffmpeg -i %URL% -i %~DP00.ac3 -i %~DP01.ac3 -map 0:v -c copy -map 1:a -c copy -map 2:a -c copy -shortest -map 0:s -scodec copy out.mkv

拷贝视音频字幕 默认字幕轨0

ffmpeg -i %URL% -map 0:v:0 -vcodec copy -map 0:a -acodec copy -map 0:s -scodec copy -disposition:s:0 default -y out.mkv

拷贝视频,音轨调换 默认音轨0

ffmpeg -i %URL% -map 0:0 -map 0:2 -map 0:1 -c copy -disposition:a:0 default -y out.mkv

-disposition:a:0 default

有时不能生效 是需要将音轨分离再合并来解决

ffmpeg转码相关

%URL% 为xx.mp4或 rtsp://xx等视频源

WMV转264的ts

ffmpeg -i test.wmv -c:v libx264 -strict -2 1.ts

MP4转TS

ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts

ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts

MP4合并

ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4

转H264/H265裸流

ffmpeg -i %URL% -codec copy -bsf: h264_mp4toannexb -f h264 out.264

ffmpeg -i %URL% -vframes 200 -r 25 -s 3840x2160 -aspect 16:9 -b:v 12000000 -vcodec hevc -y out.265

nvenc/nvenc_h264/h264_nvenc

ffmpeg -i %URL% -vcodec h264_nvenc -y out.264

hevc_nvenc/nvenc_hevc

ffmpeg -i %URL% -vcodec nvenc_hevc -y out.265

ffmpeg -i %URL% -vcodec hevc -y 265.mp4

硬解硬编

ffmpeg -c:v h264_cuvid -i input -c:v h264_nvenc -preset slow output.mkv

ffmpeg像素相关

yuvj444p.yuv为完全取样的的YUV文件

生成yuvj444p

ffmpeg  -f lavfi -i testsrc -frames 10 -pix_fmt yuvj444p -s 320x320 yuvj444p.yuv

yuvj444p转换成422

ffmpeg -pix_fmt yuvj444p -s 320x320 -i yuvj444p.yuv -pix_fmt yuvj420p yuvj420p.yuv

yuvj444p转换成420

ffmpeg -pix_fmt yuvj444p -s 320x320 -i yuvj444p.yuv -pix_fmt yuv422p yuv422p.yuv

yuvj444p转换成411

ffmpeg -pix_fmt yuvj444p -s 320x320 -i yuvj444p.yuv -pix_fmt yuvj411p yuvj411p.yuv

yuvj444p转换成rgb24

ffmpeg -pix_fmt yuvj444p -s 320x320 -i yuvj444p.yuv -pix_fmt rgb24 yuv2rgb.rgb

rgb24转成yuvj444p

ffmpeg -s 320x320 -pix_fmt rgb24 -i yuv2rgb.rgb -pix_fmt yuvj444p -s 320x320 rgb2yuvj444p.yuv

相关文章:

ffmpeg-命令大全03

ffplay/mpv 查看所有的解码器 ffplay -decoders >>decoders.txt ffplay无延时无缓存播放 ffplay -fflags nobuffer -i "%1" ffplay指定size播放 ffplay -x 480 -y 270 -i "%1" ffplay指定解码器 ffplay -vcodec hevc_cuvid "%1" […...

MATLAB中太赫兹时域光谱的最大似然参数估计

目录 一、引言 二、最大似然估计的基本原理 三、MATLAB中的最大似然估计实现 四、太赫兹时域光谱的最大似然参数估计 五、结论 六、参考文献 一、引言 太赫兹波(Terahertz wave)是电磁谱中介于微波与光波之间的一段频率范围,频率大约在…...

详解MySQL的并发控制

目录 1.概述 2.事务 2.1.什么是事务 2.2.事务的隔离级别 2.2.1.三种数据一致性问题 2.2.2.四种隔离级别 2.3.如何设置隔离级别 3.锁 3.1.锁与事务的关系 3.2.分类 3.3.表锁 3.3.1.概述 3.3.2.读锁 3.3.3.写锁 3.3.4.保护机制 3.4.行锁 3.4.1.概述 3.4.2.什么…...

Android Termux安装MySQL数据库 | 公网安全远程连接【cpolar内网穿透】

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身…...

SpringBoot的常见配置

SpringBoot基础配置 1. 配置文件格式问题导入1.1 修改服务器端口1.2 自动提示功能消失解决方案1.3 SpringBoot配置文件加载顺序 2. yaml问题导入2.1 yaml语法规则2.2 yaml数组数据2.3 yaml数据读取 3. 多环境开发配置问题导入3.1 多环境启动配置3.2 多环境启动命令格式3.3 多环…...

LabVIEWCompactRIO 开发指南25 实施LabVIEW FPGA代码的方法

LabVIEWCompactRIO 开发指南25 实施LabVIEW FPGA代码的方法 开始开发时,应在LabVIEW项目的FPGA目标下创建VI,以便使用LabVIEW FPGA选板进行编程,该选板是LabVIEW选板的子集,包括一些LabVIEW FPGA特定函数。 应该在仿真模式下开…...

如何利用Jmeter从0到1做一次完整的压测

压测,在很多项目中都有应用,是测试小伙伴必备的一项基本技能,刚好最近接手了一个小游戏的压测任务,一轮压测下来,颇有收获,赶紧记录下来,与大家分享一下,希望大家能少踩坑。 一、压测…...

蓝桥:前端开发笔面必刷题——Day1 数组(一)

文章目录 📋前言🎯数组中重复的数字📚题目内容✅解答 🎯两数之和📚题目内容✅解答 🎯替换空格📚题目内容✅解答 🎯二维数组中的查找📚题目内容✅解答 📝最后 …...

SQL 教程-入门基础篇

文章目录 SQL 简介SQL 语法SQL SELECT 语句SQL SELECT DISTINCT 语句SQL WHERE 子句SQL AND & OR 运算符SQL ORDER BY 关键字SQL INSERT INTO 语句SQL UPDATE 语句SQL DELETE 语句 SQL 简介 SQL(Structured Query Language)是一种用于管理和操作关系…...

循环自相关函数和谱相关密度(六)——信号的循环平稳性(循环自相关函数)原理及推导

在通信、遥测、雷达和声纳系统中,一些人工信号是一类特殊的非平稳信号,它们的非平稳性表现为周期平稳性。通信信号常用待传输信号对周期性信号的某个参数进行调制、如对正弦载波进行调幅、调频和调相,以及对周期性脉冲信号进行脉幅、脉宽和脉位调制,都会产生具有周期平稳性…...

C/C++:04. 多态和虚函数

不加virtual,只能访问成员变量,不能访问成员函数 文章目录 前言1 虚函数与多态不用虚函数的多态使用虚函数的多态 2 C虚函数注意事项 构成多态的条件C虚函数注意事项构成多态的条件什么时候声明虚函数 3 C虚析构函数的必要性总结 前言 本节阐述C中的多态…...

拿下多个定点/比亚迪要上!这项技术要「降维打击」单目感知

2008年,斯巴鲁在全球首次推出了搭载有立体视觉摄像头的主动安全解决方案,并具有紧急制动功能的“EyeSight”。2010年,斯巴鲁推出升级版的“EyeSight”,成为世界上首个可以在全车速范围内避免碰撞的量产技术系统。 2014年&#xff…...

Go 的时间操作

Go 的时间操作 1. time 包 1.1. 时间类型 Go 语言中时间类型有两种: time.Time:表示时间的类型,常见的有两种方式: time.Now():获取当前的时间time.Date():根据指定的年、月、日、时、分、秒、纳秒等创…...

ThreeJS进阶之矩阵变换

ThreeJS的矩阵变换 Three.js使用matrix编码3D变换 —— 平移(位置),旋转和缩放。Object3D的每个实例都有一个matrix,用于存储该对象的位置,旋转和比例。这里介绍如何更新对象的变换。 三维物体(Object3D) 这是Three.js中大部分对象的基类,提供了一系列的属性和方法来对…...

分布式锁概念

什么是分布式锁 方案一:SETNX EXPIRE 方案二:SETNX value值是(系统时间过期时间) 方案三:使用Lua脚本(包含SETNX EXPIRE两条指令) 方案四:SET的扩展命令(SET EX PX NX) 方案五…...

PMP课堂模拟题目及解析(第10期)

91. 在项目执行阶段,一名项目干系人要求项目经理加入一个新过程的优化。项目经理应该怎么做? A. 执行实施整体变更控制过程。 B. 与过程专家一起审查项目。 C. 将优化项目分配给团队。 D. 拒绝范围蔓延企图。 92. 项目经理要求团队提供对项目应急计…...

Arm微架构分析系列3——Arm的X计划

1. 引言 前文介绍了Arm公司近几年在移动处理器市场推出的Cortex-A系列处理器。Cortex-A系列处理器每年迭代,性能和能效不断提升,是一款非常成功的产品。但是,Arm并不满足于Cortex-A系列每年的架构小幅度升级,又推出了X计划&#x…...

Kubernetes(K8S)的基础概念

文章目录 一、Kubernetes介绍1、什么是Kubernetes?2、为什么要用K8S?3、k8s的特性 二、k8s集群架构与组件1、Master组件2、配置存储中心——etcd3、Worker Node 组件 三、k8s核心概念●Pod●Pod 控制器(五大控制器)●Label●Label选择器(Label selector )●Service…...

【Linux进阶命令 04】lsof (看看是谁动了我的文件?)

文章目录 一、简介二、lsof语法2.1 基本格式2.2 选项2.3 输出字段解释 三、常用 lsof 操作3.1 查看某文件的相关进程3.2 网络相关:-i3.3 指定进程号打开的文件:-p3.4 指定用户打开的文件:-u3.5 某进程打开的文件:-c3.6 复合查询 四…...

华为OD机试真题 Java 实现【数字加减游戏】【2023Q1 200分】

一、题目描述 小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。 每个回合,小明可以用当前的数字加上或减去一个数字。 现在有两种数字可以用来加减,分别为a,其中b没有使用次数限制。 请问小明…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...

23-Oracle 23 ai 区块链表(Blockchain Table)

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

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

零基础设计模式——行为型模式 - 责任链模式

第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...