PHP截取视频第一帧

安装ffmpeg

第一步:下载ffmpeg:http://ffmpeg.org/releases/ffmpeg-3.4.1.tar.gz
wget http://www.ffmpeg.org/releases/ffmpeg-3.4.1.tar.gz

第二步:解压FFMPEG
tar -zxvf ffmpeg-3.4.1.tar.gz 
第三步:进入目录
cd ffmpeg-3.4.1
第四步:安装yasm ----
yum install yasm
第五步:
./configure --enable-shared --prefix=/usr/local/ffmpeg
第六步:安装:
make && make install
第七步:修改文件/etc/ld.so.conf 
vi /etc/ld.so.conf 
中增加    /usr/local/ffmpeg/lib
使其生效:
ldconfig

第八步:加入环境变量:
		export FFMPEG_HOME=/usr/local/ffmpeg
		export PATH=$FFMPEG_HOME/bin:$PATH
		使环境变量生效:source /etc/profile
		查看版本
		ffmpeg -version

ffmpeg使用

1、视频截图保存为图片

ffmpeg -i inputfile.avi -r 1 -q:v 2 -f image2 image-%05d.jpg

-i: 指定输入源

-r: 指定抽取的帧 即从视频中每秒抽取的图片数量 1 代表每秒抽取一帧

-f:保存图片使用的格式 可省略

image-%05d.jpg :指定文件的输出名字

2、图片保存为视频

ffmpeg -threads 2 -y  -r 10 -i image%05d.png -i audio.mp3  out.mp4

3、视频分离出音频、视频

ffmpeg -i test.mp4 test.avi

ffmpeg -i test.mp4 test.mp3

4、给视频添加水印

ffmpeg -i xiaozheng.mp4 -i mark.png -filter_complex overlay test1.mp4  

给视频添加文字水印:

ffmpeg -i xiaozheng.mp4 -vf "drawtext=fontfile=simsunb.ttf: text='zhengqijia':x=100:y=10:fontsize=24:fontcolor=yellow:shadowy=2" drawtext.mp4

文字水印filter是drawtext simsunb.ttf:text=’zhengqijia’

x:y是显示位置

fontsize:文字大小

fontcolor:文字颜色

给视频添加图片水印:

ffmpeg -i input.mp4 -vf "movie=mark.png[watermark];[in][watermark] overlay=10:10[out]" output.mp4

php代码截取第一帧并保存图片

/*
 * 上传视频保存第一帧图片
 * $video视频项目地址
 * $width保存图片宽 $height 高    为0时自动保存(图片可能会反转)
 */
function videoFirstFrame($video, $width=0, $height=0){
    $path = base_path();
    $file = $path . '/public/upload/'.$video;
    $file1 = $file . '.jpg';
    if($width!=0){
        //多一个-s 指定图片的宽高比
        $str = "ffmpeg -i ".$file." -y -f mjpeg -ss 3 -t 1 -s ".$width."x".$height." ".$file1;
    }else{
        $str = "ffmpeg -i $file -y -f mjpeg -ss 3 -t 1 $file1";
    }

    exec($str, $output, $return_val);
    if ($return_val==0){
        return true;
    }
}
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值