PHP推流地址获取图片

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mxdzchallpp/article/details/83542974

PHP实现通过推流地址截取视频图片。

解决思路:通过推流地址获取ts文件,将ts文件保存为mp4,再通过ffmpeg获取视频图片。

<?php
// 推流地址
$url = 'http://hls.xxxx.com/openlive/fcdeb23ec83745e9885750ea0378eff2.m3u8';
// 获取ts文件地址
$indexPage = file_get_contents($url);
preg_match('/.*\.ts/', $indexPage, $matches);
if(empty($matches)) {
    die('m3u8 文件格式错误');
}

// 获取ts文件内容
$content = file_get_contents($matches[0]);

// 将ts文件保存为mp4文件
$fp = @fopen('tmp/1.mp4', 'a');
fwrite($fp, $content);
fclose($fp);

// 通过ffmpeg获取视频图片
$movie = new ffmpeg_movie('tmp/1.mp4');
$ff_frame = $movie->getFrame(1);
$gd_image = $ff_frame->toGDImage();
$img="tmp/test.jpg";
imagejpeg($gd_image, $img);
imagedestroy($gd_image);

猜你喜欢

转载自blog.csdn.net/mxdzchallpp/article/details/83542974