>백엔드 개발 >PHP 튜토리얼 >PHP_php 팁의 FLV 파일에서 비디오 미리보기 이미지를 얻는 방법

PHP_php 팁의 FLV 파일에서 비디오 미리보기 이미지를 얻는 방법

WBOY
WBOY원래의
2016-05-16 20:21:181698검색

이 기사의 예에서는 PHP가 FLV 파일에서 비디오 미리 보기를 얻는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
// 참조 http://www.longtailvideo.com/support/forum/Modules/12661/External-PHP-with-FFmpeg-using-readfile-
// FLV 파일에서 즉시 미리보기 이미지를 생성하거나 저장하기 위해 생성
// 호출: ffmpeg_image.php?file=video.flv&time=00:00:05&browser=true
// 호출: ffmpeg_image.php?file=video.flv&percent=75.3&browser=true
// "00:00:01"(1초)로 기본 설정되는 시간은 없으며, "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';
// 디버그(" 파일: ", $videofile);
// 디버그(" 이미지: ", $image);
// 디버그(" Time: ", $time);
// 시간 형식 확인
if (!preg_match('/dd:dd:dd/', $time))
{
$time = "00:00:00";
}
if (isset($_GET['퍼센트']))
{
$percent = $_GET['퍼센트'];
// 디버그(" 백분율: ", $percent);
ob_start();
exec("/usr/bin/ffmpeg -i "". $videofile . "" 2>&1");
$duration = ob_get_contents();
ob_end_clean();
// 디버그("기간: ", $duration);
preg_match('/기간: (.*?),/', $duration, $matches);
$duration = $matches[1];
// 디버그("기간: ", $duration);
$duration_array = 분할(':', $duration);
$duration = $duration_array[0] * 3600 $duration_array[1] * 60 $duration_array[2];
$time = $duration * $percent / 100;
// 디버그(" Time: ", $time);
$time = intval($time/3600) . ":" . intval(($time-(intval($time/3600)*3600)))/60) . sprintf(" .3f", ( $time-(intval($time/60)*60)));
// 디버그(" Time: ", $time);
}
$browser = (isset($_GET['browser'])) ? strval($_GET['browser']) : 'true';
// 디버그(" 브라우저: ", $browser);
if ($browser == "true")
{
header('콘텐츠 유형: 이미지/png');
exec("/usr/bin/ffmpeg -vcodec png -i "" . $videofile . "" -ss " . $time . " -vframes 1 -f image2 -");
//header('콘텐츠 유형: image/jpeg');
//exec("/usr/bin/ffmpeg -vcodec mjpeg -i "" . $videofile . "" -ss " . $time . " -vframes 1 -f image2 -");
}
그 외
{
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 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.