ffmpeg常用命令大全

news2024/9/23 8:25:22

一、视频处理

1.视频剪辑

ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:30 -c copy output.mp4

这里的参数解释如下:

-i input.mp4 指定输入文件。

-ss 00:00:10 开始时间为10秒。

-t 00:00:30 剪辑时长为30秒。

-c copy 拷贝编码以避免重编码,加快处理速度。

output.mp4 是输出文件的名称。

2.视频合并

要使用FFmpeg合并视频,可以使用concat过滤器。首先,你需要创建一个文本文件,列出要合并的视频文件的路径,每行一个。例如,文件input.txt可能如下所示:

file 'video1.mp4'
file 'video2.mp4'
file 'video3.mp4'

然后,你可以使用以下FFmpeg命令合并这些视频:

ffmpeg -f concat -i input.txt -c copy output.mp4

这条命令会将input.txt文件中列出的所有视频合并成一个名为output.mp4的新文件。选项-c copy表示复制编码信息,以避免重新编码视频,从而节省时间和资源。

如果视频有不同的编码或者格式,你可能需要使用-c:v libx264(或其他适合输出的编码器)来确保输出文件的兼容性。

二、音视频处理

1.合并视频和音频(保留原视频声音)

ffmpeg -i input_video.mp4 -i input_audio.mp3 -c:v copy -c:a aac -strict experimental output_video.mp4

这里的参数解释如下:

-i input_video.mp4: 输入视频文件。

-i input_audio.mp3: 输入音频文件。

-c:v copy: 视频流不进行编码,直接复制。

-c:a aac: 将音频流编码为AAC格式。

-strict experimental: 设置为实验性模式,以支持不标准的编码设置。

output_video.mp4: 输出文件的名称。

2.合并视频和音频(不保留原视频声音)

ffmpeg -i input_video.mp4 -i new_audio.aac -c:v copy -map 0:v:0 -map 1:a:0 output_final_video.mp4

在这个命令中:

-i input_video.mp4 是你的原始视频文件。
-i new_audio.aac 是你要添加的新音频文件。
-c:v copy 表示视频流将被直接复制而不进行重新编码。
-map 0:v:0 选择第一个输入(这里是 input_video.mp4)的第一个视频流。
-map 1:a:0 选择第二个输入(这里是 new_audio.aac)的第一个音频流。

3.视频中提取音频文件

从视频中提取音频并保存为MP3格式。

ffmpeg -i input_video.mp4 -vn -acodec copy output_audio.mp3

这里的参数解释如下:

-i input_video.mp4 指定输入视频文件。

-vn 表示“无视频”,用于禁止输出视频。

-acodec copy 指示FFmpeg复制音频编解码器信息,这里如果是提取并保存为MP3格式,则不需要重新编码。

output_audio.mp3 是输出的音频文件。

4.从视频中移除原有声音

ffmpeg -i input_video.mp4 -c:v copy -an output_silent_video.mp4

这里的 -an 参数表示不处理音频流,从而创建了一个没有音频的输出视频文件output_silent_video.mp4。

三、视频参数转换

1.视频格式转换

将MP4视频转换为AVI格式。

ffmpeg -i input_video.mp4 output_video.avi

-i input_video.mp4 是源视频文件

output_video.avi 是要转换成的目标视频格式。

如果需要转换视频编码格式或者调整视频质量,可以指定特定的编解码器和参数,例如将H.264编码器用于MP4容器:

ffmpeg -i input.mp4 -codec: video libx264 -crf 20 output.mp4

-codec: video libx264 设置视频编解码器为H.264
-crf 后跟着一个常量质量评分(Constant Rate Factor, CRF),范围从0(无损)到51(最糟),通常使用18到28之间的值。

2.改变视频分辨率

将视频分辨率更改为1920x1080大小。

ffmpeg -i input.mp4 -s 1920x1080 output.mp4

3.压缩视频命令

ffmpeg -i input.mp4 -s 1280x720 -c:v libx264 -crf 24 output.mp4

这里的参数解释如下:

-i input.mp4:指定输入文件为input.mp4。
-s 1280x720:设置视频的分辨率为1280x720像素。
-c:v libx264:指定视频编码器为libx264,这是一个广泛使用的H.264编码器。
-crf 24:设置CRF(Constant Rate Factor)值为24。CRF是一个影响视频质量和文件大小的参数,值越低,视频质量越好,但文件大小也越大。
output.mp4:指定输出文件名为output.mp4。

四、视频和字幕、水印

1.合并视频和字幕文件(硬编码)

ffmpeg -i input.mp4 -vf subtitles=input.srt output_hardcoded.mp4

这里的参数解释如下:

-i input.mp4:指定输入文件为input.mp4,即要处理的视频文件。

-vf subtitles=input.srt:使用视频过滤器(-vf)将input.srt字幕文件硬编码到视频中。subtitles过滤器用于处理字幕,它可以将字幕文件的内容渲染到视频帧上。

output_hardcoded.mp4:指定输出文件名为output_hardcoded.mp4,即处理后的视频文件,其中包含了硬编码的字幕。

2.视频和水印

要在视频中使用FFmpeg添加水印,可以使用drawtext滤镜。以下是一个基本的命令行示例,它将在视频上添加一个文本水印:

ffmpeg -i input.mp4 -vf "drawtext=text='Watermark Text':fontsize=24:fontcolor=white:x=10:y=10" -codec:a copy output.mp4

这里的参数解释如下:

-i input.mp4 指定输入视频文件。

-vf 表示视频滤镜,后面跟着 drawtext 滤镜的参数。

text='Watermark Text' 是水印的文本内容。

fontsize=24 设置字体大小。

fontcolor=white 设置字体颜色。

x=10 和 y=10 分别表示水印文本在视频画面上的横纵坐标位置。

-codec:a copy 表示复制原视频的音频流。

output.mp4 是输出文件的名称。

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

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

相关文章

阿里云kafka消息写入topic失败

1. 问题现象描述 20240918,14:22,测试反馈说kafka有问题,生产者写入消息的时候报错,并发了一张日志截图,主要报错如下: to topic xxxx: org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for x…

Linux中的环境变量及main函数参数详解

目录 Linux中的环境变量 常见环境变量 PATH : 和环境变量相关的命令 通过系统调用获取或设置环境变量 getenv putenv 新增环境变量 进程切换: main函数参数 命令行参数 Linux中的环境变量 环境变量(environment variables)一般是指在操作系统中用来指定操…

Leetcode 每日一题:Diameter of Binary Tree

写在前面: 最近被学校的 campus involvement 社团活动的招新宣传和选拔,以及找工作频繁的参加招聘会和网上申请忙的焦头烂额,马上又要到来的期中考试让我再次意识到了大学生活的险恶。虽然大家都说学生时代是最幸福的时代,但这个…

Python中的数据可视化:从基础图表到高级可视化

数据可视化是数据分析和科学计算中不可或缺的一部分。它通过图形化的方式呈现数据,使复杂的统计信息变得直观易懂。Python提供了多种强大的库来支持数据可视化,如Matplotlib、Seaborn、Plotly等。本文将从基础图表入手,逐步介绍如何使用这些库…

vue3 选择字体的颜色,使用vue3-colorpicker来选择颜色

1、有的时候我们会用到颜色的选择器,像element-plus提供了,但是ant-design-vue并没有: 这个暂时没有看到: 但是Ant Design 5的版本有,应该不是vue的。 2、使用第三方提供的vue3-colorpicker:storybook/cli…

18_Python文件操作

计算机中的文件 文件是存储在计算机上的数据集合,它可以是文本、图片、音频、视频或其他任何类型的数据。 在计算机系统中,文件通常用来长期保存信息。 文本文件:一种以字符编码(如ASCII、UTF-8、UTF-16等)的形式存储…

C++离线查询

前言 C算法与数据结构 打开打包代码的方法兼述单元测试 概念及原理 离线算法( offline algorithms),离线计算就是在计算开始前已知所有输入数据,输入数据不会产生变化,且在解决一个问题后就要立即得出结果的前提下进行的计算。 通俗的说&a…

深入浅出:Eclipse 中配置 Maven 与 Spark 应用开发全指南

Spark 安装配置 1.在 Eclipse 中配置 Maven Eclipse 中默认自带 Maven 插件,但是自带的 Maven 插件不能修改本地仓库,所 以通常我们不使用自带的 Maven ,而是使用自己安装的,在 Eclipse 中配置 Maven 的 步骤如下:…

多模态大模型应用开发技术学习

前篇提到多模态模型应用是未来的应用方向,本篇就聊聊技术学习方面的内容。 应用场景 多模态大模型技术的应用场景非常广泛,涵盖了从日常生活到专业领域的各个方面。以下是一些主要的应用场景: 办公自动化:多模态大模型可以用于…

K8s 之微服务的定义及详细资源调用案例

什么是微服务 用控制器来完成集群的工作负载,那么应用如何暴漏出去? 需要通过微服务暴漏出去后才能被访问 Service是一组提供相同服务的Pod对外开放的接口。借助Service,应用可以实现服务发现和负载均衡。service默认只支持4层负载均衡能力&…

指针 (七)

一 . 回调函数 什么是回调函数呢?就是说我们将函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,这个被调用的函数就是回调函数。回调函数并不是由该函数的实现方直接调用&#xff0c…

MySQL函数介绍--日期与时间函数(二)

我相信大家在学习各种语言的时候或多或少听过我们函数或者方法这一类的名词,函数在计算机语言的使用中可以说是贯穿始终,那么大家有没有思考过到底函数是什么?函数的作用又是什么呢?我们为什么要使用函数?其实&#xf…

移动技术开发:RecyclerView瀑布流水果列表

1 实验名称 RecyclerView瀑布流水果列表 2 实验目的 掌握RecyclerView控件的实现方法和基本应用 3 实验源代码 布局文件代码&#xff1a; activity_main&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android&q…

【学习笔记】手写 Tomcat 五

目录 一、优化 Servlet 创建一个抽象类 继承抽象类 二、三层架构 业务逻辑层 数据访问层 1. 在 Dao 层操作数据库 2. 调用 Dao 层&#xff0c;实现业务逻辑功能 3. 调用 Service 层&#xff0c;响应数据 测试 三、数据库连接池 1. 手写数据库连接池 2. 创建数据库…

C语言题目之单身狗2

文章目录 一、题目二、思路三、代码实现 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、题目 二、思路 第一步 在c语言题目之打印单身狗我们已经讲解了在一组数据中出现一个单身狗的情况&#xff0c;而本道题是出现两个单身狗的情况。根据一个数…

当Navicat报错 Can not connect to MySQL server的解决方法!

今天运行数据库时突然弹出一个error&#xff1a; 原因&#xff1a;MySQL的服务没有打开&#xff0c;需要检查MySQL的开启状态即可。 具体做法&#xff1a; 1.右键“开始”&#xff0c;点击“计算机管理” 2. 选择“服务和应用程序”&#xff0c;并点击“服务” 3.在服务中找…

ESP32-WROOM-32 [创建AP站点-TCP服务端-数据收发]

简介 ESP32 创建TCP Server AP站点&#xff0c; PC作为客户端连接站点并收发数据 指令介绍 注意,下面指令需要在最后加上CRLF, 也就是\r\n(回车换行) ATRESTORE // 恢复出厂设置 ATCWMODE2 // 设置 Wi-Fi 模式为 softAP ATCIPMODE0 // 需要数据传输模式改为0&#xff0c; 普通…

Cesium 绘制可编辑点

Cesium Point点 实现可编辑的pointEntity 实体 文章目录 Cesium Point点前言一、使用步骤二、使用方法二、具体实现1. 开始绘制2.绘制事件监听 三、 完整代码 前言 支持 鼠标按下 拖动修改点&#xff0c;释放修改完成。 一、使用步骤 1、点击 按钮 开始 绘制&#xff0c;单…

河钢数字PMO牛红卫受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 河钢数字技术股份有限公司项目管理部PMO牛红卫受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾&#xff0c;演讲议题为“从技术到领导力——项目经理成长进阶之道”。大会将于10月26-27日在北京举办&…

知情人称,丹尼尔克雷格在卸任“007”以后他和蕾切尔薇兹的婚姻“产生了奇效”

丹尼尔克雷格、蕾切尔薇兹 虽然丹尼尔克雷格 (Daniel Craig) 因出演詹姆斯邦德 (James Bond) 而成为全球最耀眼的明星之一&#xff0c;实现了自己以及很多人的梦想&#xff0c;但知情人称他与蕾切尔薇兹 (Rachel Weisz) 的婚姻实际上正因此而陷入困境&#xff1b;但现在&#…