ffmpeg 安装 分割 截图 转换 加水印

张映 发表于 2014-02-17

分类目录: linux

标签:, , , , ,

ffmpeg主要是用来对视频进行处理的工具,功能强大。现在比较大的视频网站都会对视频进行切割,这样做可以减小带宽的压力。ffmpeg可以实现这样的功能。安装ffmpeg最好是安装稳定最新版,版本过旧,加水印是加不上去的。

一,ffmpeg最新版安装

1,下载atrpms-repo

# wget http://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm   //centos7
# wget http://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm   //centos6

2,安装atrpms-repo

# rpm -Uvh rpmfusion-free-releas*rpm

3,安装ffmpeg

# yum install ffmpeg

二,ffmpeg用法

1,视频裁剪

# ffmpeg -ss 00:00:00 -t 00:00:03 -y -i test.mp4 -vcodec copy -acodec copy test1.mp4

说明:上面的这个例子是将test.mp4视频的前3秒,重新生成一个新视频。

-ss 开始时间,如: 00:00:00,表示从0秒开始,格式也可以00:00:0

-t 时长,如: 00:00:03,表示截取3秒长的视频,格式也可以00:00:3

-y 如果文件已存在强制替换;

-i 输入,后面是空格,紧跟着就是输入视频文件;

-vcodec copy 和 -acodec copy表示所要使用的视频和音频的编码格式,这里指定为copy表示原样拷贝;

2,视频截图

# ffmpeg -i test.mp4 -y -f mjpeg -ss 3 -t 1  test1.jpg

# ffmpeg -i test.mp4 -y -f image2 -ss 3 -vframes 1 test1.jpg

上面二个例子都表示,在第三秒的时候,截图。

3,获取视频时间

[root@localhost test]# ffmpeg -i test.mp4 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//
00:00:33.73

4,视频转换

视频的格式有很多,以mp4和flv为例子

# ffmpeg -i test.mp4 -ab 56 -ar 22050 -qmin 2 -qmax 16 -b 320k -r 15 -s 320x240 outputfile.flv   //mp4 转 flv

# ffmpeg -i outputfile.flv -copyts -strict -2 test.mp4  //flv 转 mp4

5,视频加水印

#ffmpeg -y -i test.mp4 -acodec copy -vf "movie=uwsgi.jpg [logo]; [in][logo] overlay=10:10:1 [out]" test2.mp4

overlay=10:10:1,后三个数据表示是距离左边的距离,距离上边的距离,是否透明,1表示透明。上例我用的是jpg,当然不可能透明。

# ffmpeg -y -i test.mp4 -acodec copy -vf "movie=uwsgi.jpg [logo]; [in][logo] overlay=enable='lte(t,1)' [out]" test2.mp4

overlay=enable='lte(t,1)' ,这个参数表示,水印在前一秒显示。



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/linux/1584.html