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

描述

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

Linux

主要参数

  • -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 表示共要多少时间
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分