这篇文章主要介绍了PHP从FLV文件获取视频预览图的方法,实例分析了php操作flv文件获取截图的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了PHP从FLV文件获取视频预览图的方法。分享给大家供大家参考。具体实现方法如下:
代码如下:
<?php // references http://www.php.cn/ // 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('/\d\d:\d\d:\d\d/', $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"); } ?>
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
3 몇 주 전ByDDD
Windows 11 KB5054979의 새로운 기능 및 업데이트 문제를 해결하는 방법
2 몇 주 전ByDDD
Atomfall에서 크레인 제어 키 카드를 찾을 수 있습니다
3 몇 주 전ByDDD
<s> : 데드 레일 - 모든 도전을 완료하는 방법
4 몇 주 전ByDDD
Atomfall Guide : 항목 위치, 퀘스트 가이드 및 팁
4 몇 주 전ByDDD

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전
