Deepin使用FFmpeg处理视频格式、尺寸、播放速度

文章目录

# 背景

deepin下的视频处理、剪辑软件可选择的比较少,没有Window下常用的PR、AE、格式工厂等,达芬奇由于依赖的问题不是很好安装。我们可以充分利用deepin系统自带的FFmpeg,完成常用的视频操作,比如格式转换、尺寸转换、大小压缩等等,我所使用的15.11版本下FFmpeg的版本是3.2.12-1~deb9u1,虽然版本比较老,但是稳定啊(想不到有啥其他的优点)。
* 官网:http://ffmpeg.org/
* 使用文档:http://ffmpeg.org/documentation.html

# 关于FFmpeg

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。

# 一些参数及含义
-i 指定要转换视频的源文件
-s 视频转换后视频的分辨率
-vcodec 视频转换时使用的编解码器
-vcodec copy 不对视频解码直接复制
-r 视频转换换的帧率(默认25桢每秒)
-b 视频转换换的bit率
-ab 音频转换后的bit率(默认64k)
-acodec 音频转换时使用的编码器
-ac 制定转换后音频的声道
-ar 音频转换后的采样率

# 使用

对于单视频文件的处理可以直接在深度终端中进行命令行操作

## 查看视频信息

## 查看视频信息
ffprobe -i input.mp4

输出的信息有视频时长、bit率、格式、尺寸、帧率等等

## 格式转换

通过输入文件和输出文件的名称控制视频格式之间的转换,使用 ffmpeg -encoders 命令查看支持的所有编码格式。

# flv转mp4
ffmpeg -i input.flv -b:v 640k output.mp4
# mp4转ts
ffmpeg -i input.mp4 output.ts

## 尺寸(分辨率)转换

指定输出视频的宽度和高度、按原视频尺寸比例进行缩小、按原视频宽高比并指定输出视频的宽度或高度。

# 指定宽度和高度
ffmpeg -i input.mp4 -s 480×360 out.mp4
# 按原视频尺寸比例进行缩小,以60%为例
ffmpeg -i input.mpg -vf scale=iw0.6:ih0.6 output.mp4
# 按原视频宽高比,指定处理后的宽度为400
ffmpeg -i input.avi -vf scale=400:-1 output.mp4
# 按原视频宽高比,指定处理后的高度为300
ffmpeg -i input.avi -vf scale=-1:300 output.mp4

## 大小压缩

大小压缩就是在不改变视频尺寸、分辨率、帧率等其他参数情况下缩小视频的体积,虽然没有明确的参数能实现这个功能,不过我测试过程中使用

ffmpeg -i input.mp4 output.mp4

代码得到的视频体积由原来的 139M 缩小到了 79M,这个过程主要改变的是视频的bit率参数,由原来的 387kb/s 变成了 228kb/s。

## 调整播放速度

# 加快播放速度,这里以 2 倍速为例:
ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4
# 减慢播放速度,这里以 2 倍速为例:
ffmpeg -i input.mp4 -vf "setpts=2*PTS" output.mp4
原文链接:,转发请注明来源!

发表评论