0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux中如何使用命令行编辑视频

CHANBAEK 来源:TIAP 作者: GLIU 2022-12-09 17:38 次阅读

如题,我们可以借助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
收藏 人收藏

    评论

    相关推荐

    在STM32实现命令行

    工作的开发环境都是基于linux命令行交互,作为命令行的重度使用者,玩单片机也要使用命令行工具,百度了一些
    发表于 12-09 11:32 2277次阅读

    Linux命令行工具

    Linux 新手往往对命令行心存畏惧。部分原因是因为需要记忆大量的命令,毕竟掌握命令是高效使用命令行的前提不幸的是,学习这些
    发表于 07-25 08:10

    caxa命令行的应用

    caxa命令行的应用 命令行对于大多用户来说往往只是输入数据的作用,但是其中的奥妙还有很多,下面就给大家
    发表于 10-18 18:18 2279次阅读

    用命令行管理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次下载
    <b class='flag-5'>Linux</b>图形界面的原理与构成和<b class='flag-5'>Linux</b><b class='flag-5'>命令行</b>和vi<b class='flag-5'>编辑</b>器的使用手册

    Linux 命令行教程好书推荐

    今天跟大家推荐个 Linux 命令行教程:《The Linux Command Line》,中文译名:《Linux 命令行大全》。 该书作者
    的头像 发表于 02-14 09:25 1449次阅读

    Linux命令行与shell脚本编写

    Linux命令行与shell脚本编写
    发表于 01-11 16:50 4次下载

    如何使用命令行Linux查找文件?

    对于Linux新用户来说,在Linux查找文件可能有点困难。但是,在适当的指导下,任何人都可以创建文件快捷方式或找到其Linux系统中有多少文件。 我们必须使
    的头像 发表于 03-23 14:55 4190次阅读

    如何在Linux命令行运行Python脚本

    Python 是一种高级编程语言,被广泛应用于数据科学、机器学习、Web 开发等领域。在 Linux 操作系统,Python 是一个默认安装的解释器,用户可以通过命令行界面(CLI)来运行
    的头像 发表于 05-12 14:49 1658次阅读

    linux命令行与shell编程实战

    Linux命令行与Shell编程实战主要涉及以下内容: Linux命令行基础:学习Linux命令行
    的头像 发表于 11-08 10:57 733次阅读

    linux虚拟机怎么调出命令行

    Linux虚拟机调出命令行界面,可以通过以下步骤实现: 打开虚拟机,进入到Linux系统。 在桌面或应用菜单中找到终端或命令行图标,点击
    的头像 发表于 11-08 11:28 2994次阅读

    linux切换到命令行模式

    Linux,可以通过以下步骤切换到命令行模式: 打开终端。可以在应用菜单中找到终端或命令行终端。 在终端输入
    的头像 发表于 11-13 16:47 1718次阅读

    linux命令行运行步骤

    运行Linux命令行涉及以下步骤: 打开终端 在Linux系统,打开命令行界面的方式有多种,最常见的是打开终端应用程序。可以在应用程序菜单
    的头像 发表于 11-17 10:18 753次阅读

    总结linux命令行的主要用法

    Linux命令行是一种在Linux操作系统通过文本界面来执行指令和管理系统的方式。它提供了丰富的功能和灵活性,帮助用户完成各种任务。本文将详细介绍
    的头像 发表于 11-17 10:19 618次阅读

    eclipse怎么使用命令行

    。JDK是运行Java程序所必需的环境,而Eclipse则是一个基于Java开发的IDE。在确保安装完毕后,我们可以通过以下步骤来在命令行
    的头像 发表于 12-06 11:26 2427次阅读