PHP从FLV文件获取视频预览图的方法

 这篇文章主要介绍了PHP从FLV文件获取视频预览图的方法,实例分析了php操作flv文件获取截图的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

 
 

本文实例讲述了PHP从FLV文件获取视频预览图的方法。分享给大家供大家参考。具体实现方法如下:

 

代码如下:
<?php
// references http://www.longtailvideo.com/support/forum/Modules/12661/External-PHP-with-FFmpeg-using-readfile-
// generate a preview image from an FLV file on-the-fly, or to save
// call with: ffmpeg_image.php?file=video.flv&time=00:00:05&browser=true
// call with: ffmpeg_image.php?file=video.flv&percent=75.3&browser=true
// no time defaults to "00:00:01" (one second), no browser defaults to "true"
$videofile = (isset($_GET['file'])) ? strval($_GET['file']) : 'video.flv';
$image = substr($videofile, 0, strlen($videofile) - 4);
$time = (isset($_GET['time'])) ? strval($_GET['time']) : '00:00:01';
// debug (" File: ", $videofile);
// debug (" Image: ", $image);
// debug (" Time: ", $time);
// check time format
if (!preg_match('/dd:dd:dd/', $time))
{
$time = "00:00:00";
}
if (isset($_GET['percent']))
{
$percent = $_GET['percent'];
// debug (" Percent: ", $percent);
ob_start();
exec("/usr/bin/ffmpeg -i "". $videofile . "" 2>&1");
$duration = ob_get_contents();
ob_end_clean();
// debug ("Duration: ", $duration);
preg_match('/Duration: (.*?),/', $duration, $matches);
$duration = $matches[1];
// debug ("Duration: ", $duration);
$duration_array = split(':', $duration);
$duration = $duration_array[0] * 3600 + $duration_array[1] * 60 + $duration_array[2];
$time = $duration * $percent / 100;
// debug (" Time: ", $time);
$time = intval($time/3600) . ":" . intval(($time-(intval($time/3600)*3600))/60) . ":" . sprintf("%01.3f", ($time-(intval($time/60)*60)));
// debug (" Time: ", $time);
}
$browser = (isset($_GET['browser'])) ? strval($_GET['browser']) : 'true';
// debug (" Browser: ", $browser);
if ($browser == "true")
{
header('Content-Type: image/png');
exec("/usr/bin/ffmpeg -vcodec png -i "" . $videofile . "" -ss " . $time . " -vframes 1 -f image2 -");
//header('Content-Type: image/jpeg');
//exec("/usr/bin/ffmpeg -vcodec mjpeg -i "" . $videofile . "" -ss " . $time . " -vframes 1 -f image2 -");
}
else
{
exec("/usr/bin/ffmpeg -vcodec png -i "" . $videofile . "" -ss " . $time . " -vframes 1 -f image2 "" . $image . ""%d.png");
//exec("/usr/bin/ffmpeg -vcodec mjpeg -i "" . $videofile . "" -ss " . $time . " -vframes 1 -f image2 "" . $image . ""%d.jpg");
}
?>

 

希望本文所述对大家的php程序设计有所帮助。

时间: 2024-09-17 03:46:08

PHP从FLV文件获取视频预览图的方法的相关文章

PHP从FLV文件获取视频预览图的方法_php技巧

本文实例讲述了PHP从FLV文件获取视频预览图的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php // references http://www.longtailvideo.com/support/forum/Modules/12661/External-PHP-with-FFmpeg-using-readfile- // generate a preview image from an FLV file on-the-fly, or to save // ca

PHP实现将视频转成MP4并获取视频预览图的方法

 这篇文章主要介绍了PHP实现将视频转成MP4并获取视频预览图的方法,涉及php操作视频文件的技巧,需要的朋友可以参考下     本文实例讲述了PHP实现将视频转成MP4并获取视频预览图的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <?php flv_convert_get_thumb('input.avi', 'output.jpg', 'output.ogm'); // code provided and updated by steve of phpsnaps ! th

PHP简单获取视频预览图的方法

 这篇文章主要介绍了PHP简单获取视频预览图的方法,涉及php操作多媒体文件的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了PHP简单获取视频预览图的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: <?php convertToFlv( "some-video-input.avi", "output.jpg" ); function convertToFlv( $input, $output ) { echo "Co

PHP实现将视频转成MP4并获取视频预览图的方法_php技巧

本文实例讲述了PHP实现将视频转成MP4并获取视频预览图的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php flv_convert_get_thumb('input.avi', 'output.jpg', 'output.ogm'); // code provided and updated by steve of phpsnaps ! thanks // accepts: // 1: the input video file // 2: path to thum

请教下NPOI中有没有针对于Excel文件的打印预览及打印方法

问题描述 请教下NPOI中有没有针对于Excel文件的打印预览及打印方法 解决方案 解决方案二:用过的兄弟们帮忙回复下呀

win7电脑中图标文件不显示预览图怎么办?

  其实很多时候,咱们在一大堆的图片文件中找自己需要的图片的时候是不会直接根据命令来寻找的,或者是咱们在导入图片的时候,其实就没有进行命名的步骤,那么最直观的查找方法是什么呢?其实就是图片文件的预览图了,ghost win7电脑中所有图片文件其实都是有预览图的,咱们可以通过预览图快速的找到自己需要的图片,不过近日有网友提出,不知道为什么,自己电脑中的图片文件只有图标了,预览图不显示出来了,其实,咱们通过设置,就可以让预览图重新出现.操作方法如下: 1.首先,咱们返回到电脑桌面位置,然后在桌面找到

win7系统怎么完美的设置图片显示预览图

  解决方案:         小编推荐:win7系统图片不显示预览图怎么办 打开计算机->组织->文件夹和搜索选项->查看(tab标签)->去掉"始终显示图标,不显示缩略图"的对勾;图解如下: 以上的步骤就是win7系统中设置图片显示预览图的方法,这样就可以轻松的找到图片啦,不用一张张的翻阅,浪费时间!而且方法也很简单哦,希望可以帮上网友们的忙吧!

VS2010 C++学习(5):基于DirectShow的视频预览录像程序

VS2010 C++学习(5):基于DirectShow的视频 预览录像程序   学习VC++编制的基于DirectShow视频捕获程序,主要练习基于DirectShow程序的应用.   一.           主要内容:   1.        基于DirectShow视频预览: 2.        基于DirectShow视频录像:   二.           设计实现: (一).安装DirectShow 首先我们安装DirectShow SDK,由于现在directShow没有和dir

快车的视频预览如何使用

快车使用皮肤和皮肤管理器的方法如下: 简介 在快车中支持边下边看的视频预览功能,当在下载电影或视频的时候,在下载的过程中可以预览所下载的资源. 搜索要下载的视频资源,使用快车下载资源,在下载的资源时下部"任务信息"中点击"视频预览"按钮,(如图),系统就会打开播放器进行播放(建议在下载至少5%后进行预览,这样播放会更加的流畅). 视频播放器 在快车中使用"视频预览"功能将会打开一个默认播放器,在等待视频信息读取完成后播放器将按原视频100%的画面