zoukankan      html  css  js  c++  java
  • php使用ffmpeg-php扩展库进行视频截图

    这几天做项目,其中一个需求是用户上传视频文件到服务器,然后服务器自动截取该视频的一帧作为该视频对应的缩略图,服务器端语言采用php编写,找了半天资料,发现ffmpeg-php可以满足该需求,所以下面简单介绍一下该扩展库的配置和使用方法。

    测试服务器环境 WampServer Version 2.1,php5.3.5,ffmpeg-php 配置和使用步骤如下:

    1. 下载 ffmpeg-php, ffmpeg-php-5.3-win32-all.zip

    2. 将 php_ffmpeg.dll 放到 PHP 扩展目录,(例如 E:Program Fileswampinphpphp5.3.5ext)

    3. 将其他的dll文件放到系统目录,(例如 C:WindowsSystem32)

    4. 修改 php.ini,添加 extension=php_ffmpeg.dll 配置项,结果如下:

    extension=php_gd2.dll extension=php_gettext.dll extension=php_ffmpeg.dll

    :Wamp 环境下要修改 apache 目录中的 php.ini,(例如E:Program FileswampinapacheApache2.2.17inphp.ini), 同时要启用gd2 和 gettext 模块)

    5. 重新启动 apache 服务器

    6.打印输出 phpinfo,查看是否有如下输出,若有,则说明 ffmpeg-php 模块配置正确

    ffmpeg

    ffmpeg-php version 0.6.0-svn
    ffmpeg-php built on Sep 8 2010 12:13:47
    ffmpeg-php gd support enabled
    ffmpeg libavcodec version Lavc52.87.4
    ffmpeg libavformat version Lavf52.78.3
    ffmpeg swscaler version SwS0.11.0
    DirectiveLocal ValueMaster Value
    ffmpeg.allow_persistent 0 0
    ffmpeg.show_warnings 0 0

    7. 编写测试代码,示例代码截取视频的第二帧为缩略图

     
    public function testmp4()
    {
    if(extension_loaded('ffmpeg')){//判断ffmpeg是否载入
    $mov = new ffmpeg_movie('E:\Program Files\wamp\www\BBShow\test\guangfa15s.mp4');//视频的路径
    dump($mov);
    $ff_frame = $mov->getFrame(2);
    $gd_image = $ff_frame->toGDImage();
    $img=$_SERVER['DOCUMENT_ROOT']."/test.jpg";//要生成图片的绝对路径
    imagejpeg($gd_image, $img);//创建jpg图像
    imagedestroy($gd_image);//销毁一图像
    }else{
    echo "ffmpeg没有载入";
    }
    }

    8. 运行测试代码,即可在服务器端生成 jpg 格式的缩略图

    9. 有关 ffmpeg-php 的详细使用说明,请参照官方API(http://ffmpeg-php.sourceforge.net/doc/api/)。

  • 相关阅读:
    0309. Best Time to Buy and Sell Stock with Cooldown (M)
    0621. Task Scheduler (M)
    0106. Construct Binary Tree from Inorder and Postorder Traversal (M)
    0258. Add Digits (E)
    0154. Find Minimum in Rotated Sorted Array II (H)
    0797. All Paths From Source to Target (M)
    0260. Single Number III (M)
    0072. Edit Distance (H)
    0103. Binary Tree Zigzag Level Order Traversal (M)
    0312. Burst Balloons (H)
  • 原文地址:https://www.cnblogs.com/visense/p/3204856.html
Copyright © 2011-2022 走看看