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%.*}是去文件的后缀,这样就可以让新文件与旧的文件只有后缀不同。
我这里使用了绝对地址,也可以改成相对地址。
一晚上睡觉的效果如下:
原视频列表:

转完的列表:

ffmpeg命令:
| - | 作用 |
|---|---|
| -b:v | 新视频的码率 |
| -s | 新视频的分辨率(例如 -s 1920*1080) |
| -r | 帧率(如 -r 30就是30帧) |

浙公网安备 33010602011771号