​​FFmpeg命令全解析:三步完成视频合并、精准裁剪​​、英伟达显卡加速

一、裁剪

常规裁剪

根据时长裁剪,常规的裁剪
-c copy 表示直接复制流(不重新编码),速度极快,但要求切割时间必须是关键帧。否则裁剪下来的画面开头/结尾 会模糊花屏

ffmpeg -i input.mp4 -ss 00:00:30 -to 00:01:00 -c copy output.mp4 

 精确裁剪

(重新编码确保精度)
-c:v libx264 需要重新编码,时间上会比较耗时 

ffmpeg -i input.mp4 -ss 00:00:30 -t 30 -c:v libx264 -c:a aac output.mp4

批量裁剪

遇到大量的精确裁剪,单个单个裁剪,明显比较耗时,需要更高效命令。对同一个源文件,裁剪出不同时间段的视频分段,耗时跟单个视频裁剪差不多,但不建议,一下搞太多,容易导致系统资源爆满 ,通常5~10个即可

ffmpeg -y -i source.mp4 -threads 10 -filter_complex [0:v]trim=start=0.00:end=6.42,setpts=PTS-STARTPTS[v0];[0:a]atrim=start=0.00:end=6.42,asetpts=PTS-STARTPTS[a0];[0:v]trim=start=6.42:end=13.02,setpts=PTS-STARTPTS[v1];[0:a]atrim=start=6.42:end=13.02,asetpts=PTS-STARTPTS[a1];[0:v]trim=start=13.02:end=14.05,setpts=PTS-STARTPTS[v2];[0:a]atrim=start=13.02:end=14.05,asetpts=PTS-STARTPTS[a2]

-map [v0] -map [a0] -c:v libx264 -preset fast -c:a aac source_0_6420.ts -map [v1] -map [a1] -c:v libx264 -preset fast -c:a aac source_6420_13020.mp4 -map [v2] -map [a2] -c:v libx264 -preset fast -c:a aac source_13020_14050.mp4

显卡加速

在这基础上,还能继续提速,使用英伟达\AMD显卡继续加速

英伟达加速

-c:v libx264  换成 -c:v h264_nvenc

-preset fast 换成  -preset p6

再追加 -cq 26

ffmpeg -y -i source.mp4 -threads 10 -filter_complex [0:v]trim=start=0.00:end=6.42,setpts=PTS-STARTPTS[v0];[0:a]atrim=start=0.00:end=6.42,asetpts=PTS-STARTPTS[a0];[0:v]trim=start=6.42:end=13.02,setpts=PTS-STARTPTS[v1];[0:a]atrim=start=6.42:end=13.02,asetpts=PTS-STARTPTS[a1];[0:v]trim=start=13.02:end=14.05,setpts=PTS-STARTPTS[v2];[0:a]atrim=start=13.02:end=14.05,asetpts=PTS-STARTPTS[a2] -map [v0] -map [a0] -c:v h264_nvenc -preset p6 -cq 26 -c:a aac source_0_6420.ts -map [v1] -map [a1] -c:v h264_nvenc -preset p6 -cq 26 -c:a aac source_6420_13020.mp4 -map [v2] -map [a2] -c:v h264_nvenc -preset p6 -cq 26 -c:a aac source_13020_14050.mp4

AMD加速

-c:v libx264  换成 -c:v h264_amf

-preset fast 换成  -quality quality

再追加 -rc cqb

 ffmpeg -y -i source.mp4 -threads 10 -filter_complex [0:v]trim=start=0.00:end=6.42,setpts=PTS-STARTPTS[v0];[0:a]atrim=start=0.00:end=6.42,asetpts=PTS-STARTPTS[a0];[0:v]trim=start=6.42:end=13.02,setpts=PTS-STARTPTS[v1];[0:a]atrim=start=6.42:end=13.02,asetpts=PTS-STARTPTS[a1];[0:v]trim=start=13.02:end=14.05,setpts=PTS-STARTPTS[v2];[0:a]atrim=start=13.02:end=14.05,asetpts=PTS-STARTPTS[a2] -map [v0] -map [a0] -c:v h264_nvenc -quality quality -rc cqb -c:a aac source_0_6420.ts -map [v1] -map [a1] -c:v h264_nvenc -quality quality -rc cqb -c:a aac source_6420_13020.mp4 -map [v2] -map [a2] -c:v h264_nvenc -quality quality -rc cqb -c:a aac source_13020_14050.mp4

二、合并

常规合并

 简单视频合并命令,不大推荐使用

ffmpeg -i "concat:video1.mp4|video2.mp4|video3.mp4" -c copy output.mp4

批量合并

ffmpeg -y -i video1.mp4 -i video2.mp4 -filter_complex [0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a] -map [v] -map [a] -c:v libx264 -crf 23 -preset fast -threads 10 合并视频.mp4

显卡加速

英伟达

ffmpeg -y -i video1.mp4 -i video2.mp4 -filter_complex [0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a] -map [v] -map [a] -c:v  h264_nvenc -preset p6 -cq 26 -threads 10 合并视频.mp4

 AMD

ffmpeg -y -i video1.mp4 -i video2.mp4 -filter_complex [0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a] -map [v] -map [a] -c:v  h264_amf -quality quality -rc cqb -threads 10 合并视频.mp4

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

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

相关文章

HTML5 更新的功能

文章目录 前言**一、语义化标签&#xff08;Semantic Elements&#xff09;****二、多媒体支持&#xff08;Audio & Video&#xff09;****三、图形与绘图&#xff08;Canvas & SVG&#xff09;****1. <canvas>****2. SVG 内联支持** **四、表单增强&#xff08;…

React 全面入门与进阶实战教程

文章目录 一、认识 React1.1 核心特点 二、快速搭建 React 项目2.1 使用 Create React App2.2 使用 Vite 创建更轻量的 React 项目2.3 项目结构概览 三、React 核心语法基础3.1 JSX&#xff1a;React 的模板语法3.2 函数组件与 Props3.3 useState&#xff1a;定义响应式状态3.4…

牛津大学开源视频中的开放世界目标计数!

视频中的开放世界目标计数 GitHub PaPer Niki Amini-Naieni nikianrobots.ox.ac.uk Andrew Zisserman azrobots.ox.ac.uk 视觉几何组&#xff08;VGG&#xff09;&#xff0c;牛津大学&#xff0c;英国 ​ 图 1&#xff1a;视频中的目标计数&#xff1a;给定顶行的视频&#…

什么是Sentinel?以及优缺点

Sentinel 是阿里巴巴开源的分布式系统流量控制组件&#xff0c;主要用于服务限流、熔断降级、系统负载保护等场景&#xff0c;帮助提高微服务系统的稳定性和可靠性。它以流量为切入点&#xff0c;通过对流量的监控与控制&#xff0c;保障服务在高并发或异常情况下的可用性。 S…

2025 MWC 上海盛大开幕,聚焦AI、5G-Advanced及开放API

全球商业领袖与政策制定者齐聚一堂,共同探讨中国在API创新中的引领地位与产业发展势头 2025年6月18日,上海——GSMA 2025 MWC 上海今日在上海浦东嘉里大酒店举行开幕式,正式拉开帷幕。本届为期三天的盛会在上海新国际博览中心(SNIEC)举行,汇聚约400位演讲嘉宾与思想领袖,带来主…

使用Python脚本进行日常管理

在IT行业&#xff0c;特别是在系统运维领域&#xff0c;效率和准确性是至关重要的。随着技术的发展&#xff0c;手动处理大量的服务器和网络设备变得越来越不可行。因此&#xff0c;自动化运维成为了解决这一问题的有效手段。Python&#xff0c;作为一种广泛使用的编程语言&…

HCIA-数据通信基础

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 本篇笔记是根据B站上的视频教程整理而成&#xff0c;感谢UP主的精彩讲解&#xff01;如果需要了解更多细节&#xff0c;可以参考以下视频&#xff1a;…

安全版V4.5密码加密算法由SM3改为MD5

文章目录 环境文档用途详细信息 环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7 版本&#xff1a;4.5 文档用途 本文档用于指导瀚高数据库安全版V4.5的密码加密算法由SM3改为MD5 详细信息 1、用默认三权用户和普通用户登录数据库&#xff0c;修改密码…

MyBatis中#{}和${}的深度解析:SQL注入与动态拼接的终极抉择

MyBatis中#{}和${}的深度解析&#xff1a;SQL注入与动态拼接的终极抉择 摘要&#xff1a;在MyBatis的Mapper.xml文件中&#xff0c;#{}和${}这两个看似简单的符号&#xff0c;却隐藏着SQL安全与性能的核心秘密。本文将深入剖析它们的底层差异&#xff0c;并通过真实场景演示如何…

AWS多项目架构完全指南:基于App Runner的安全中转服务设计

引言:云原生架构的演进之路 在数字化转型浪潮中,企业常常面临这样的挑战:如何在保证安全隔离的前提下,快速为多个项目部署服务,并实现与现有系统的无缝集成?本文将以真实案例为基础,详细介绍如何利用AWS App Runner、Transit Gateway和VPC连接器等现代化服务,构建高可…

Selenium操作指南

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 大家好&#xff0c;今天带大家一起系统的学习下模拟浏览器运行库Selenium&#xff0c;它是一个用于Web自动化测试及爬虫应用的重要工具。 Selenium测试直接运行在…

基于Qt开发的ModbusTcp主站软件开发教程​——从协议原理到工业级实现

目录 第一章 环境配置与库集成1. 安装Qt与Modbus模块2. 第三方库兼容性(备选方案)第二章 Modbus TCP协议与Qt类解析1. 协议核心要点2. Qt关键类说明第三章 主站连接管理与通信初始化1. 连接建立与断线重连2. 请求超时与响应机制第四章 数据读写操作实战1. 读取保持寄存器(功…

什么是缺口箱线图?如何绘制?

大家好&#xff0c;我是带我去滑雪&#xff01; 箱线图是一种用于展示数据分布特征的统计图表&#xff0c;又称为盒状图或盒须图。它主要通过一个“箱子”和延伸出的“须”来展示一组数据的中位数、上下四分位数、最大值、最小值以及异常值。箱子的中线表示中位数&#xff0c;上…

在visual studio中为C++程序安装缺失开源库

在visual studio中测试一个代码时出现include了一个之前没用过的开源库的情况&#xff0c;因为之前C用的少&#xff0c;这个问题比较基础&#xff0c;也没有找到能用的教程&#xff0c;就在这里记录一下解决过程&#xff0c;以备不时之需。 显然C和Visual Studio的组合不如pych…

CentOS加密技术全指南

文件系统加密 LUKS (Linux Unified Key Setup) 全盘加密配置方法 安装前加密&#xff08;Anaconda安装向导选项&#xff09; 在安装CentOS时选择"Encrypt my data"选项设置强密码&#xff08;建议20字符&#xff0c;混合大小写、数字和特殊符号&#xff09;密钥槽管…

纯血HarmonyOS5 打造小游戏实践:绘画板(附源文件)

OS 应用整体架构与技术栈 该绘图应用采用了鸿蒙系统推荐的ArkUI框架进行开发&#xff0c;基于TypeScript语言编写&#xff0c;充分利用了鸿蒙系统的图形渲染和文件操作能力。应用整体架构遵循MVVM&#xff08;Model-View-ViewModel&#xff09;模式&#xff0c;通过State装饰…

数据分析和可视化:Py爬虫-XPath解析章节要点总结

重要知识点 XPath 概述&#xff1a;XPath 是一门可以在 XML 文件中查找信息的语言&#xff0c;也可用于 HTML 文件。它功能强大&#xff0c;提供简洁明了的路径表达式和多个函数&#xff0c;用于字符串、数值、时间比较等。1999 年成为 W3C 标准&#xff0c;常用于爬虫中抓取网…

深入理解PHP中的生成器(Generators)

创建一个生成器非常简单。你只需要像定义普通函数一样定义它&#xff0c;但是使用yield关键字来产出值。例如&#xff0c;以下是一个简单的斐波那契数列生成器&#xff1a; function fibonacci() {$num1 0;$num2 1;while (true) {yield $num1;$temp $num1 $num2;$num1 $n…

ubuntu 系统 pgm图片和png相互转化

ubuntu 系统 pgm图片和png相互转化。 安装转化工具&#xff1a; sudo apt-get install imagemagick pgm转为png指令如下: convert input.pgm output.png png转为pgm指令如下: convert input.png output.pgm

leetcode:98. 验证二叉搜索树

学习要点 加深纯递归算法的理解 题目链接 98. 验证二叉搜索树 - 力扣&#xff08;LeetCode&#xff09; 题目描述 解法&#xff1a;纯递归 vector<int> v;void dfs(TreeNode* root){if(root nullptr){return;}dfs(root->left);v.push_back(root->val);dfs(root…