Home > Backend Development > PHP Tutorial > Another way to get the total length of video in php_PHP tutorial

Another way to get the total length of video in php_PHP tutorial

WBOY
Release: 2016-07-21 15:24:55
Original
908 people have browsed it

At that time, the video length was obtained by using a common method on the Internet to obtain the length of flv video files. However, this method was only supported for flv videos, and the values ​​obtained for videos in other formats were very poor.
Here is a method: use I originally thought about using the ffmpeg return value Duration method, but there was no solution. Now it is possible. Since ffmpeg supports many video formats, this method has certain versatility.
linux command for ffmpeg to get the Duration of video duration:
ffmpeg -i test.flv 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//
Duration can be obtained; see the picture below
wps_clip_image-9458

Command analysis:

grep command: Match strings that meet the conditions in the search file, here look for the Duration field

cut: Use space as the separator to query the fourth element. cut is a good cutting command

A few examples of cut are attached below:

#ffmpeg -i test.flv

Enter the following information:

wps_clip_image-19473

①Get creationdate: File creation time

ffmpeg -i test.flv 2>&1 | grep 'creationdate' | cut -d ' ' -f 5-

Explanation: Cut is a text interception command: use spaces as separators to intercept the fields after the 5th digit,

wps_clip_image-19643

If you want to intercept: the 5th element and the 8th element, you should write like this:

ffmpeg -i test.flv 2>&1 | grep 'creationdate' | cut -d ' ' -f 5,8

②Get video size

Use cut to intercept the tenth element with a space as the delimiter, which is also the video size

ffmpeg -i test.flv 2>&1 | grep 'Video' | cut -d ' ' -f 10 | sed s/,//

wps_clip_image-25127

sed command: sed ‘s/string to be replaced/new string/g’

For example: sed s/,//: means: replace the ',' symbol with a blank character
The following is the code to obtain the video thumbnail and the total length of the video:

Copy the code The code is as follows:

/*
* Get the thumbnail and video length of the video file
*Requires ffmpeg Support
* @author PHP Huaibei
* @date 2011-09-14
* @copyright PHP Huaibei
*/
//Get the total length and creation time of the video file
function getTime($file){
$vtime = exec("ffmpeg -i ".$file." 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,// ");//Total length
$ctime = date("Y-m-d H:i:s",filectime($file));//Creation time
//$duration = explode(":",$ time);
// $duration_in_seconds = $duration[0]*3600 + $duration[1]*60+ round($duration[2]);//Convert to seconds
return array('vtime' =>$vtime,
'ctime'=>$ctime
);
}
//Get the thumbnail of the video file
function getVideoCover($file,$time) {
if(empty($time))$time = '1';//The first frame of the first second is captured by default
$strlen = strlen($file);
$videoCover = substr($file ,0,$strlen-4);
$videoCoverName = $videoCover.'.jpg';//Thumbnail naming
exec("ffmpeg -i ".$file." -y -f mjpeg -ss ".$time." -t 0.001 -s 320x240 ".$videoCoverName."",$out,$status);
if($status == 0)return $videoCoverName;
elseif ($status = = 1)return FALSE;
}
//Call method
$duration = getTime('/usr/local/apache/htdocs/test.flv');
echo $duration['vtime '].'
';//Total length
echo $duration['ctime'].'
';//Creation time
$videoCoverName = getVideoCover(' /usr/local/apache/htdocs/test.flv', 6);
echo $videoCoverName;//Get the thumbnail name
?>

Test effect:

wps_clip_image-21485

The video length is: 55 seconds 43

Video creation time; 2011-9-13

Video thumbnail: test.jpg

-----------------------------The test is completely ok

Additional: If you want to get the size of the video file, you can use:

filesize()

The

filesize() function is used to obtain the file size. The default unit is: bytes. It returns the number of bytes of the file size successfully, otherwise it returns FALSE.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/324235.htmlTechArticleAt that time, the method to obtain the length of the video was a common method on the Internet to obtain the length of the flv video file, but this method only worked for flv Video support, the values ​​obtained for videos in other formats are very poor,...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template