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年ÿ…...
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没有使用次数限制。 请问小明…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...
