centos使用ffmpeg批量进行视频压缩

centos使用ffmpeg批量进行视频压缩

最近在研究用服务器压缩mkv的视频,根据网上的教程,指令如下:

ffmpeg -i 原文件的名字.mkv -vcodec h264 /storage/mp4/22/生成文件的名字.mp4

解释一下里面的命令:

- 作用
-vcode 转换后的编码格式
-i 后面加原文件的地址,可以相对也可以绝对。
(其中还有一些常用的我整理在了文章末尾。)

我想转换的原视频是mkv x264的,一个视频1G左右,转成mp4 h264后一个视频300M左右,只有原来的1/3,清晰度还差不多,效果算是非常不错了。

但新的问题来了,我想转换一系列视频,只能一个一个输入指令,而且还要等上一个转换完,太麻烦了,于是我想到了shell脚本。

脚本如下:

点击查看代码
#!/bin/bash
for i in `ls /storage/22/`;#`是反点,1左边那个
	do
		echo /storage/22/$i;
		name=${i%.*}
		ffmpeg -i /storage/22/$i -vcodec h264 /storage/mp4/22/$name.mp4;
	done

name=${i%.*}是去文件的后缀,这样就可以让新文件与旧的文件只有后缀不同。

我这里使用了绝对地址,也可以改成相对地址。

一晚上睡觉的效果如下:

原视频列表:

image

转完的列表:

image

ffmpeg命令:

- 作用
-b:v 新视频的码率
-s 新视频的分辨率(例如 -s 1920*1080)
-r 帧率(如 -r 30就是30帧)
posted @ 2021-11-12 22:01  胡椒粉军士  阅读(553)  评论(0)    收藏  举报