如题,我们可以借助ffmpeg工具进行视频的编辑。
ffmpeg是一种命令行视频处理工具,支持对视频的裁切、转码、抽取音频、抽取视频等操作。在Linux中使用也比较简单。
可以到官网下载。
安装
将下载后的压缩包放到某一路径下,本例中下载的版本是ffmpeg-4.1.3.tar.bz2。然后编译安装:
./configure --enable-shared --prefix=/usr/local/ffmpeg --enable-gpl --enable-libx264
make
make install
#配置中添加的参数:--enable-libx264是使其支持h264编码,以适应浏览器支持的视频编码
安装后,将其命令放到环境变量中:
vi /etc/ld.so.conf.d/ffmpeg.conf
添加如下内容:
/usr/local/ffmpeg/bin/
/usr/local/bin
保存后,退出:
ldconfig
或者放到/etc/profile中也可以。
检查版本:
ffmpeg -version
主要参数
- -i 设定输入流
- -f 设定输出格式
- -ss 开始时间
视频参数
- -b 设定石林流量(码率),默认为200kbit/s
- -r 设定帧速率,默认为25
- -s 设定画面的宽与高
- -aspect 设定画面的比例
- -vn 不处理视频
- -vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器
音频参数
- -ar 设定采样率
- -ac 设定声音的Channel数
- -acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器
- -an 不处理音频
常用例子
1. 视频格式转换
#将avi文件转为pm4
ffmpeg -i input.avi output.mp4
#将视频文件转码为h264编码格式
ffmpeg -i input.mp4 -vcodec h264 output.mp4
#或者(-y参数表示覆盖源文件)
ffmpeg -i input.mp4 -c:v libx264 -y output.mp4
2. 视频裁切
# 从视频的00:00:15开始,截取5秒钟的视频
# -ss表示开始切割的时间,-t表示要切多少
ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4
3. 提取音频
ffmpeg -i input.mp4 -acodec copy -vn output.aac
# -vn不处理视频
默认mp4的audio codec是aac,不管什么音频,都可以转为最常见的aac
4. 提取视频
ffmpeg -i input.mp4 -vcodec copy -an output.mp4
# -an 不处理音频
5. 将输入的1920 * 1080缩小到960 * 540输出
ffmpeg -i input.mp4 -vf scale=960:540 output.mp4
# 如果540不写,写成-1, 即950:-1,也是可以的,ffmpeg会通知缩放滤镜在输出时保持原视频的宽高比。
6. 为视频添加logo
可以将一个小图标(比如png)添加到视频中:
ffmpeg -i input.mp4 -i logo.png -filter_complex overlay output.mp4
7. 抓取视频的某些帧,存为jpeg图片
ffmpeg -i input.mp4 -r 1 -q:v 2 -f image3 pic-%03d.jpeg
- -r 表示每一秒几帧
- -q:v 表示存储jpeg图像质量,一般2是高质量。
以上命令,会每隔一秒寸一张图片。还可以设置开始时间:
ffmpeg -i input.mp4 -ss 00:00:20 -t 10 -r 1 -q:v 2 -f image2 pic-%03d.jpeg
- -ss 表示开始时间
- -t 表示共要多少时间
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Linux
+关注
关注
87文章
11222浏览量
208896 -
命令行
+关注
关注
0文章
77浏览量
10380 -
ffmpeg
+关注
关注
0文章
46浏览量
7378
发布评论请先 登录
相关推荐
用命令行管理IIS的FTP站点
用命令行管理IIS的FTP站点
为了实现在Internet中快速共享网络资源的目的,很多用户使用IIS服务器内置的FTP组件架设FTP服务器。
发表于 01-30 17:25
•944次阅读
Linux图形界面的原理与构成和Linux命令行和vi编辑器的使用手册
本文档的主要内容详细介绍的是Linux基础教案主要内容是:(1) 了解Linux图形界面的原理与构成;(2)掌握Linux命令行操作,包括:命令行
发表于 10-16 14:49
•6次下载
Linux 命令行教程好书推荐
今天跟大家推荐个 Linux 命令行教程:《The Linux Command Line》,中文译名:《Linux 命令行大全》。 该书作者
如何使用命令行在Linux中查找文件?
对于Linux新用户来说,在Linux中查找文件可能有点困难。但是,在适当的指导下,任何人都可以创建文件快捷方式或找到其Linux系统中有多少文件。 我们必须使
如何在Linux命令行中运行Python脚本
Python 是一种高级编程语言,被广泛应用于数据科学、机器学习、Web 开发等领域。在 Linux 操作系统中,Python 是一个默认安装的解释器,用户可以通过命令行界面(CLI)来运行
linux虚拟机怎么调出命令行
在Linux虚拟机中调出命令行界面,可以通过以下步骤实现: 打开虚拟机,进入到Linux系统。 在桌面或应用菜单中找到终端或命令行图标,点击
linux命令行运行步骤
运行Linux命令行涉及以下步骤: 打开终端 在Linux系统中,打开命令行界面的方式有多种,最常见的是打开终端应用程序。可以在应用程序菜单
总结linux命令行的主要用法
Linux命令行是一种在Linux操作系统中通过文本界面来执行指令和管理系统的方式。它提供了丰富的功能和灵活性,帮助用户完成各种任务。本文将详细介绍
eclipse怎么使用命令行
。JDK是运行Java程序所必需的环境,而Eclipse则是一个基于Java开发的IDE。在确保安装完毕后,我们可以通过以下步骤来在命令行中
评论