一、安装1.下载2.安装首先,我们打开FFmpeg的官网,然后点击“Download”按钮,进入下载页面,下载对应的版本即可。然后在电脑上安装。Windows还需要将安装目录添加到环境变量。 查看FFmpeg的帮助界面,让我们在控制台输入以下命令: 然后ffmpeg就会输出它的帮助信息。由于信息是英文的,因此需要一点耐心去阅读它。 这是关于编码器和解码器的信息,然后我们可以输入以下代码,分别查看编码器和解码器的可选项: ffmpeg -decoders ffmpeg -encoders ffmpeg -codecs 我们会发现输出了一堆信息,让我们眼花缭乱。是的,FFmpeg就是这么强大,支持很多的编解码器. 二、命令1.ts转mp4
copy为原视频格式 有一点要注意,ffmpeg使用时候文件名称不能包含空格,否则会跳过,如果有空格需要加上引号,例如 "v i d eo.ts"
转为H264格式,速度略慢,取决于电脑速度
2.ts批量转为mp4在电脑上,新建一个.bat文本,在ts视频目录执行即可,下面del %%a,为转为mp4之后,删除原文件,不需要可删除那段 代码如下: for %%a in (*.ts) do ( ffmpeg -i "%%a" -c copy "%%~na.mp4" del "%%a" ) 转换多种格式 set Ext=*.ts,*.avi,*.wmv,*.flv,*.mkv,*.rmvb,*.rm,*.mov for %%a in (%Ext%) do ( ffmpeg -i "%%a" -c copy "%%~na.mp4" del "%%a" ) 3.视频压缩hevc压缩
然后,经过一段时间的等待,我们就可以看到结果了! 进行更高级的压缩在这里,我们讲解一下上面的参数设置的含义。crf是Constant Rate Factor的缩写,它的值越小,画质越高,占用的空间越大。它的可选项为0~51,默认为28.当crf在20以下的时候,就能实现视觉上的无损。 此外,FFmpeg还为我们提供了一些预设选项,我们可以通过preset选项,快速设置x265编码的时候使用到的参数。 preset的可选项按照编码速度从快到慢,排列如下: ultrafast superfast veryfast faster fast medium slow slower veryslow placebo 编码速度越慢,则压缩效果及画质越好。preset选项的默认参数为medium。 输出最高压缩效果的视觉无损视频 ffmpeg -i 输入文件名 -c:v libx265 -x265-params crf=18:preset=placebo output/输出文件名.mp4 对于上面的视频,我们可以用下面这个压缩命令:
虽然这次的体积只减少了13.1%,但是肉眼看视频的时候,很明显感觉视频画质和原视频没啥区别。 这样算下来,1GB的视频,使用最高画质的无损压缩,可以节省下131MB的空间呢!还是很可观的! 关键参数;视频压缩用到的参数主要为以下几个: 文件路径:-i 输入文件的路径 码率:-b:v 输出文件的码率 分辨率:-s 输出文件的分辨率; 帧率:-r 输出文件的帧率值 码率 码率,即波特率。值越小,转换后的视频越小 码率 就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。 码率与体积成正比:码率越大,体积越大;码率越小,体积越小。由于文件体积与取样率是成正比的,所以几乎所有的编码格式都想用最低的码率达到最少的失真,“码率”就是失真度,码率越高越清晰,反之则画面粗糙而且马赛克多。 建议码率不要小于500。一般500k左右,人眼看不到明显的闪烁。 案例: 分辨率 指的是视频的分辨率,常见的分辨率有40962304,19201080,720*576等。具体的值,可以根据源视频的分辨率做个等比的缩小。 案例: 帧率 即视频更新率,就是每秒编码进视频文件的帧数目,是用于测量显示帧数的量度。测量单位为“每秒显示帧数”(Frame Per Second,FPS,帧率)或“赫兹”,单位用FPS用来描述视频每秒播放多少帧,而单位用赫兹用来描述显示器的画面每秒更新多少次。 常见的帖率有25、30,高清电视有50、60帧。一般帧率越高,视频画面越流畅。但是人类的眼睛需要每秒至少15帧才能将图像连贯在一起~ 案例: 将视频压缩指定大小 ffmpeg -i Desktop/input.mp4 -fs 10MB Desktop/output.mp4 -fs 10 : 表示文件大小最大值为10MB 设置视频的帧率为20fps ffmpeg -i Desktop/input.mp4 -r 20 Desktop/output.mp4 -r 20:表示帧率设置为 20fps 设置视频的码率 ffmpeg -i Desktop/input.mp4 -b:v 1M Desktop/output.mp4 -b:v :指定视频的码率 -b:a : 指定音频的码率 1M:码率的值 1M 表示 1Mb/s 设置视频的分辨率 ffmpeg -i Desktop/input.mp4 -s 1920x1080 Desktop/output.mp4 -s 1920x1080表示分辨率为1920x1080 可以结合上面的命令一起来使用 ffmpeg -i Desktop/input.mp4 -s 1920x1080 -b:v 1M -r 20 Desktop/output.mp4 4.视频裁剪ffmpeg提供简单的命令参数: ffmpeg -ss START -t DURATION -i INPUT -vcodec copy -acodec copy OUTPUT ffmpeg -ss 00:00:01 -t 00:14:10 -i 11.15output.mp4 -vcodec copy -acodec copy 11.15output2.mp4 对上面的命令稍做个解释。 -ss 开始时间,如: 00:00:20,表示从20秒开始; -t 时长,如: 00:00:10,表示截取10秒长的视频; -i 输入,后面是空格,紧跟着就是输入视频文件; -vcodec copy 和 -acodec copy表示所要使用的视频和音频的编码格式,这里指定为copy表示原样拷贝; INPUT,输入视频文件; OUTPUT,输出视频文件; |
|