使用FFMPeg对视频进行处理

FFMPeg处理视频的核心操做方式是命令,不管是在Windows上仍是Linux上。那么下边就简单介绍下,常见的处理命令。php

示例1:
截取一张352×240尺寸大小的,格式为jpg的图片:shell

ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352×240 a.jpg

示例2:
把视频的前30帧转换成一个Animated Gif :apache

ffmpeg -i test.asf -vframes 30 -y -f gif a.gif

示例3:这个是我须要的!
在视频的第8.01秒处截取 320*240 的缩略图安全

ffmpeg -i test.flv -y -f mjpeg -ss 3 -t 0.001 -s 320×240 test.jpg

示例4:网络

把视频转换成flv文件(这个用得最多,如今Flv基本上已经成了网络视频的标准了)函数

ffmpeg -i source -s 320×240 -b 700k -aspect 4:3 -y -f flv dest.flv 。

其中:
source:是原始文件的名字,能够是mov,mpeg,avi,wmv各种格式,ffmpeg基本都支持。
-s wxh: 指定视频的宽和高
-b : 设定视频的比特率
-aspect: 保持视频的比率。如4:3或者16:9
-y : 若是目标文件存在时,直接覆盖原有的目标文件。
-f : 指定转换的文件格式,这里是flv格式。(其实若是不指定文件格式,ffmpeg也会按文件的后缀名来进行转换)。
dest: 转换的目标文件名字,并不必定须要是flv,能够是mov,mpeg以及其余的经常使用格式。
参数说明:spa

-L licensecode

-h 帮助视频

-fromats 显示可用的格式,编解码的,协议的blog

-f fmt 强迫采用格式fmt

-I filename 输入文件

-y 覆盖输出文件

-t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持

-ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持

s wxh: 指定视频的宽和高

****************************************************************************

示例3:是针对flv格式的视频得到指定处的缩略图,记住 -f强制转换的格式是mjpeg由于我要得到.jpg的缩略图,网上有不少写成文章都是写成ffmpeg -i test.flv -y -f image2 -ss 08.010 -t 0.001 -s 352×240 b.jpg 这个是错误,不可能输出.

下面是PHP调用shell命令得到缩略图的代码

  1. <!--?php  
  2.   
  3. exec("/usr/bin/ffmpeg -i /usr/local/apache/htdocs/test.flv -y -f mjpeg -ss 3 -t 0.001 -s 320x240 /usr/local/apache/htdocs/test.jpg",$out,$status);  
  4.   
  5. print_r($status);//0是成功 1是失败  
  6.   
  7. ?-->  

若是没有什么图片生成的可能缘由:

①对于存储生成图片的文件夹须要有写入权限 #chomd 777 /usr/local/apache/htdocs

②在php.ini中有disable_functions禁用了php调用shell命令函数,

disable_functions = proc_open, popen,exec, system, shell_exec, passthru

解决办法:注释掉disable_functions这一项

#disable_functions = proc_open, popen,exec, system, shell_exec, passthru

或者disable_functions = (把禁言的函数除去)

保存关闭开启就能够了

③php.ini中的安全模式必须关闭 才能够调用exec函数

safe_mode = off

④图片时间截取也很重要,颇有多是无效图片或者是黑屏

建议 增长关键帧,一般第一帧为关键帧,可使用:vframes:帧参数,舍弃微秒参数,只保留时间参数

/usr/bin/ffmpeg -i /usr/local/apache/htdocs/test.flv -y -f mjpeg -ss 3 -vframes 1 -s 320×240 /usr/local/apache/htdocs/test.jpg

相关文章
相关标签/搜索