ffmpeg视频剪切与拼接

news/2024/10/17 4:49:09/

文章目录

  • ffmpeg工具进行视频剪切与合并
    • 剪切视频
    • 拼接视频
      • ts格式拼接
      • 将ts格式文件转为mp4格式
      • mp4格式拼接
    • ffmpeg工具常用命令

ffmpeg的安装及基本使用可以看上一篇博客 FFmpeg工具进行快速的视频拼接

ffmpeg工具进行视频剪切与合并

多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。

剪切视频

ffmpeg -ss 00:00:00 -t 00:00:30 -i test.mp4 -vcodec copy -acodec copy output.mp4
* -ss 指定从什么时间开始
* -t 指定需要截取多长时间
* -i 指定输入文件
ffmpeg -ss 10 -t 15 -accurate_seek -i test.mp4 -codec copy cut.mp4
ffmpeg -ss 10 -t 15 -accurate_seek -i test.mp4 -codec copy -avoid_negative_ts 1 cut.mp4

拼接视频

ts格式拼接

第一种方法

ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
/*
"concat:1.ts|2.ts" // 要拼接的ts视频文件
output.mp4 // 输出视频文件
*/

在这里插入图片描述
在这里插入图片描述

第二种方法

ffmpeg -f concat -i list.txt -c copy concat.mp4
/*
list.txt的格式内容:(注意file后有一个空格)
file '1.ts'
file '2.ts'
*/

过程及效果:
在这里插入图片描述
在这里插入图片描述

将ts格式文件转为mp4格式

ffmpeg -i 1.ts -y -f mp4 -codec copy -q:v 1 1.mp4

mp4格式拼接

以mp4格式拼接:

// 第一种方法:
ffmpeg -i "concat:1.mp4|2.mp4|3.mp4" -codec copy out_mp4.mp4
// 第二种方法:
ffmpeg -f concat -i list.txt -codec copy out_mp42.mp4
/*
list.txt的文件格式及内容:
file '1.mp4'
file '2.mp4'
file '3.mp4'
*/

这里就不演示了。

以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
ffmpeg -i 3.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 3.ts

再合并视频,如上。

其他视频格式也可如此。

ffmpeg工具常用命令

// 提取视频中的音频
ffmpeg -i input.mp4 -acodec copy -vn output.mp3
// -vn: 去掉视频;-acodec: 音频选项, 一般后面加copy表示拷贝// 音视频合成
ffmpeg -y –i input.mp4 –i input.mp3 –vcodec copy –acodec copy output.mp4
// -y 覆盖输出文件//剪切视频
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.mp4 -vcodec copy -acodec copy output.mp4
// -ss 开始时间; -t 持续时间// 视频截图
ffmpeg –i test.mp4 –f image2 -t 0.001 -s 320x240 image-%3d.jpg
// -s 设置分辨率; -f 强迫采用格式fmt;// 视频分解为图片
ffmpeg –i test.mp4 –r 1 –f image2 image-%3d.jpg
// -r 指定截屏频率// 将图片合成视频
ffmpeg -f image2 -i image%d.jpg output.mp4//视频拼接
ffmpeg -f concat -i filelist.txt -c copy output.mp4// 将视频转为gif
ffmpeg -i input.mp4 -ss 0:0:30 -t 10 -s 320x240 -pix_fmt rgb24 output.gif
// -pix_fmt 指定编码// 视频添加水印
ffmpeg -i input.mp4 -i logo.jpg -filter_complex [0:v][1:v]overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] -map [out] -map 0:a -codec:a copy output.mp4
// main_w-overlay_w-10 视频的宽度-水印的宽度-水印边距;

http://www.ppmy.cn/news/589380.html

相关文章

使用免费开源软件 Blender 编辑视频,从剪切开始

Blender 是一款强大的免费开源的 3D 建模软件,不为人知的是它还是一款强大的视频编辑软件。因为是免费软件使用它编辑视频,不用担心水印的问题,还能享受专业视频编辑软件的功能。 下面会简单介绍如何使用这款软件做视频剪辑。 1. 下载 Blen…

二叉树题目:二叉树展开为链表

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 后记 题目 标题和出处 标题:二叉树展开为链表 出处:114. 二叉树展开为链表 难度 3 级 …

ModaHub魔搭社区:向量数据库MIlvus服务端配置(三)

目录 gpu 区域 logs 区域 metric_config 区域 gpu 区域 在该区域选择是否在 Milvus 里启用 GPU 用于搜索和索引创建。同时使用 CPU 和 GPU 可以达到资源的最优利用,在特别大的数据集里做搜索时性能更佳。 若要切换到 CPU-only 模式,只要将 enable 设…

Linux ACPI 高级电源管理状态

ACPI Power States 中定义了 G、S、D、C、P 5 个大的电力状态。 G状态 Global system state G 状态表示的是用户看到的整个系统的电力状态。 G0 运行模式。向硬件提供电源,软件可以运行的状态。 G1 停止模式。所谓的待机或休眠状态。 G2 软件为关闭状态&#xf…

金融场景下Java微服务图片压缩/加密等处理实战

目录导读 金融场景下Java微服务图片压缩/加密等处理实战1. 业务场景1.1 业务诉求1.2 业务分析 2. 技术分析2.1 技术预研2.2 处理问题汇总 3. 达成效果4. 编码解构 金融场景下Java微服务图片压缩/加密等处理实战 研究某项技术或者代码框架时,如果没有清晰的业务目标…

【Python爬虫与数据分析】进阶语法

目录 一、异常捕获 二、迭代器 三、拆包、聚合、映射 四、filter() 函数 五、匿名函数 六、闭包 七、装饰器 一、异常捕获 异常捕获可增强程序的健壮性,即程序在遇到遇到异常的时候并不会做中断处理,而是会将异常抛出,由程序员来分析…

红警3修改器无法连接服务器,红警3序列号修改器-不能加入游戏怎么办?红警3连局域网说cd-– 手机爱问...

2018-03-05 为什么我的红警不能联局域网 红警局域网联机的具体方法: 适用于原版红警、尤里复仇,及任何同样的扩展版。 第一步:安装IPX协议。 方法: 控制面板——网络连接(或网上邻居属性)——本地连接属性 ——在“此连接使用下列项目”中&am…

Eclipse 3.3 汉化包下载

Eclipse 是一款很好的IDE环境,功能完整而成熟。它使用 Java 语言开发,而且属于开源项目,网上充足的插件,保证了其强大的可扩展性。 Eclipse 的语言包也是以插件的形式来提供的。很可惜的是,从3.3版本开始,…