ffmpeg 视频截取第一帧参数配置: 网站找了很多资料,但是都不能满足要求,然后自己写下解决过程。

首先看自己PHP 版本,安全选项里面 php5.4  跟php5.6 是不一样的。去除里面的system 函数限制。

然后,继续调整 system 函数的参数。做到cmd里面不报错误。

方法:

 /**
* 获得视频文件的缩略图
* 接口编号 : T1807-07-01
*
* @param $file : 视频的位置
* @param $time : 截取时间
* @param $name : 截取之后的文件名称
*/
public function getVideoCover($file,$time =1) {
if(empty($time))$time = 1 ;//默认截取第一秒第一帧
$strLen = strlen($file); // 函数返回字符串的长度
$videoCover = substr($file,0,$strLen-4);
$videoCoverName = $videoCover.'.png';//缩略图命名 //exe 文件在 项目的上两级目录
$path = "D:\HwsHostMaster\phpweb\php56"; $str =$path . "/ffmpeg -ss ".$time." -i ".$file." -y -f mjpeg -vframes ".$time." -s 320x170 ".$videoCoverName; $result = system($str);
} $path 为php环境跟目录,因为 iis 8.5 服务器 不支持在web/跟目录,运行系统函数。 -s 后面的 320*170 为所要截取的图片的大小,单位为像素。 如果系统函数不能运行,先输出$str 字符串,在cmd命令行窗口 直接运行。 另外如果需要 ffmpeg.exe 这个 文件,可以邮箱找我 。
        //-i:输入文件名
//-r:设定帧 此处设为1帧
       // -y:覆盖
//-f:设定输出格式
//-ss 从指定时间截图
       //-s 图片宽高比例
//-vframes 设置转换多少桢(frame)的视频
//-an 不处理声音 ,用不到
其他参数自己百度搜下,这里只是用到的参数。

关于ffmpeg /iis 8.5 服务器下,视频截取第一帧参数配置的更多相关文章

  1. 用nginx进行同一个服务器下多域名的负载均衡配置

    用nginx进行同一个服务器下多域名的负载均衡配置 Nginx进行http负载均衡的模块是upstream Upstream可以进行多个配置,这样的话可以灵活的配置站点,但是注意的是upstream后 ...

  2. 七牛云上传视频并截取第一帧为图片(js实现)

    本文出自APICloud官方论坛, 感谢论坛版主 东冥羽的分享. 七牛云上传视频并截取第一帧作为视频的封面图. 使用js上传,模块videoPlayer截取第一帧(有专门的截图模块,但是我使用的有点问 ...

  3. 第五十二篇、 OC获取视频的第一帧图片thumbnailImage

    获取视频的第一帧图片 有时候我们拍摄完视频后,希望获取一张图片当作这个视频的介绍,这个图片thumbnailImage可以从视频的第一帧获取到. 我们的思路是先获取视频的URL,然后初始化一个MPMo ...

  4. 通视频URL截取第一帧图片

    为了方便直接给UIImage加个类别,以后什么时候使用可以直接调用. #import <UIKit/UIKit.h> @interface UIImage (Video) /** 通过视频 ...

  5. java获取视频播第一帧

    FFMPEG 功能很强大,做视频必备的软件.大家可通过 http://ffmpeg.org/ 了解.Windows版本的软件,可通过 http://ffmpeg.zeranoe.com/builds/ ...

  6. python服务器环境搭建(3)——参数配置

    前面我们已安装好了python服务器运行所需要的相关软件,而最重要最繁琐的就是参数配置,写这篇就踩了好多坑,花了好多时间,遇到了各种各样的问题.好了费话少说,直接进入本篇话题. PS:本人不是专业的运 ...

  7. PHP获取视频的第一帧与时长

    //获得视频文件的缩略图 function getVideoCover($file,$time,$name) { if(empty($time))$time = '1';//默认截取第一秒第一帧 $s ...

  8. java获取视频的第一帧

    //------------maven配置文件--------------- <dependency> <groupId>org.bytedeco</groupId> ...

  9. Linux服务器下日志截取

    我们经常需要去Linux服务器上查看服务运行日志,但是有时候日志文件很大看起来很不方便,这个时候我们需要对日志进行切割筛选出自己需要的日志,比如查看某段时间内的日志,命令如下:   sed -n '/ ...

随机推荐

  1. .NET Core 3.0 Preview 5 亮点之一:发布单文件可执行程序

    在阅读 Announcing .NET Core 3.0 Preview 5 时发现了 .NET Core 3.0 Preview 5 的一个新特性 —— Publishing Single EXEs ...

  2. 最简单的IdentityServer实现——IdentityServer

    1.新建项目 新建ASP .Net Core项目IdentityServer.EasyDemo.IdentityServer,选择.net core 2.0   1   2 引用IdentitySer ...

  3. PostSharp-5.0.26安装包_KeyGen发布_支持VS2017

    PostSharp-5.0.26安装包_KeyGen发布_支持VS2017 请低调使用. PostSharp安装及注册步骤截图.rar 请把浏览器主页设置为以下地址支持本人.https://www.d ...

  4. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.

    Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when ...

  5. C# Windows服务以指定用户运行

    参考一下 https://bbs.csdn.net/topics/330151879 服务程序以Local System安装运行没问题,但用这个账户运行的服务无法访问局域网共享资源,比较麻烦,所以想指 ...

  6. ReportViewer,RDLC 报表开发之个性化样式

    原文:ReportViewer,RDLC 报表开发之个性化样式 报表开发中,客户对样式提出了要求: 1.工具栏上显示每页条数 2.只导出Excel,不需要下拉菜单. 3.报表上显示的图表,分页时,每页 ...

  7. Android零基础入门第62节:搜索框组件SearchView

    原文:Android零基础入门第62节:搜索框组件SearchView 一.SearchView概述 SearchView是搜索框组件,它可以让用户在文本框内输入文字,并允许通过监听器监控用户输入,当 ...

  8. qt5.7交叉编译gstreamer-1.0

    一.交叉编译glib1.提前需先交叉编译libffiCC=/home/mjl/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-gcc ...

  9. qt的demo中,经常可以看到emum

    最近开始看QT的文档,发现了很多好东西,至少对于我来说 收获很多~~~ 当然很多东西自己还不能理解的很透彻,也是和朋友讨论以后才渐渐清晰的,可能对于QT中一些经典的用意我还是存在会有些认识上的偏差,欢 ...

  10. python之datetime

    一.获取当前日期 >>> from datetime import datetime >>> now=datetime.now() >>> pri ...