技术分享

php利用ffmpeg+阿里云图像曝光评分实现图片曝光识别

先安装ffmpeg

 

 

选择Linux Static Builds下的构建选项,进入详情页

在列表中选择适合自己的版本,鼠标右键,复制链接地址。这里我直接选择了amd64的最新版本,复制到的下载地址是https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz。
打开Linux中要安装ffmpeg的目录,使用wget命令下载文件:
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz。

 

解压:

 

xz -d ffmpeg-git-amd64-static.tar.xz

经过一次解压,.xz 后缀名已经被去掉。接下来执行:

tar -xvf ffmpeg-git-amd64-static.tar

解压完成后进入解压出来的这个目录ffmpeg-git-20190424-amd64-static/:

ffmpeg 和 ffprobe 都在这里。

 

测试安装:

 

接下来执行下命令试试:

./ffmpeg

安装成功,接下来可以随意做媒体处理啦,是不是 so easy!

备注
当然,如果想要ffmpeg命令全局可用,可以在bin目录加个链接。比如,分别执行如下命令,即可在:/usr/bin目录下创建ffmpeg和ffprobe软链接。

cd /usr/bin
ln -s /data/software/ffmpeg-git-20190424-amd64-static/ffmpeg ffmpeg
ln -s /data/software/ffmpeg-git-20190424-amd64-static/ffprobe ffprobe

这样在其他目录也都可以直接使用 ffmpeg 和 ffprobe 而不用加目录前缀了。

然后PHP下载扩展包

利用composer下载 composer require php-ffmpeg/php-ffmpeg

测试:

require './vendor/autoload.php';
$ffmpeg = FFMpegFFMpeg::create();
$video = $ffmpeg->open('1.mp4');
$video
    ->filters()
    ->resize(new FFMpegCoordinateDimension(320, 240))
    ->synchronize();
$video
    ->frame(FFMpegCoordinateTimeCode::fromSeconds(30))
    ->save('frame.jpg');

 

 

安装阿里云曝光评分SDK(注:区域限制:公测期目前仅开通了华东2(上海)区域,其它区域后续开通。):

composer require alibabacloud/sdk
<?php
require './vendor/autoload.php';
use AlibabaCloudClientAlibabaCloud;
use AlibabaCloudClientExceptionClientException;
use AlibabaCloudClientExceptionServerException;

// Downloadhttps://github.com/aliyun/openapi-sdk-php
// Usagehttps://github.com/aliyun/openapi-sdk-php/blob/master/README.md

AlibabaCloud::accessKeyClient('LTAI5ox8ngQw8P9S', 'l3Zo0bWHwVscEgS8m38VhgbxJgBbtO')
    ->regionId('cn-shanghai')
    ->asDefaultClient();

try {
    $result = AlibabaCloud::rpc()
        ->product('Imageenhan')     //视觉能力,此处imageenhan为使用图像增强能力。
        // ->scheme('https') // https | http
        ->version('2019-09-30')    //当前API能力的版本,您可以在SDK地址中查看最新的版本。
        ->action('AssessExposure')    //API接口名称,此处为MakeSuperResolutionImage        ->method('POST')
        ->host('imageenhan.cn-shanghai.aliyuncs.com')   //外网访问域名,Endpoint        ->options([
            'query' => [
                'ImageURL' => "http://viapi-demo.oss-cn-shanghai.aliyuncs.com/viapi-demo/images/MakeSuperResolution/sup-dog.png",
            ],
        ])
        ->request();
    print_r($result->toArray());
} catch (ClientException $e) {
    echo $e->getErrorMessage() . PHP_EOL;
} catch (ServerException $e) {
    echo $e->getErrorMessage() . PHP_EOL;
}

这就完成了

 

小飞
没有人可以左右你的人生,只是很多时候我们需要多一些勇气,去坚定自己的选择。
查看“小飞”的所有文章 →

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

相关推荐