php中获得视频时间总长度的另一种方法_PHP教程
当时获得视频长度是采用网上的通用的获得flv视频文件长度的方法,但是这个方法只对flv视频支持,其他格式的视频获取到的值就很差了,
下面在介绍一种:利用ffmpeg返回值Duration的方法,原来也想过用,但是没有解决,现在可以了,由于ffmpeg支持很多种格式的视频,所以这个具体一定的通用性。
ffmpeg获得视频时间长度的Duration的linux命令:
ffmpeg -i test.flv 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//
可以获得Duration;看下图
命令分析:
grep命令:匹配查找文件里符合条件的字符串,这里查找Duration字段
cut:以空格为分割符,查询第四个元素,cut是很好的切割命令
下面附几个cut的实例:
#ffmpeg -i test.flv
输入下面信息:
①获得creationdate:文件创建时间
ffmpeg -i test.flv 2>&1 | grep 'creationdate' | cut -d ' ' -f 5-
说明:Cut是文本截取命令:以空格作为分隔符,截取第5位以后的字段,
如果想要截取: 第5个元素和第8个元素,应该这样写:
ffmpeg -i test.flv 2>&1 | grep 'creationdate' | cut -d ' ' -f 5,8
②获得视频尺寸大小
使用cut截取以空格为分隔符的第十个元素也是视频尺寸
ffmpeg -i test.flv 2>&1 | grep 'Video' | cut -d ' ' -f 10 | sed s/,//
sed命令:sed ‘s/要替换的字符串/新字符串/g'
例如:sed s/,//:表示:用空白符替换','号
下面是利用获得视频缩略图和视频总长度时间的代码:
/*
* 获得视频文件的缩略图和视频长度
*需要ffmpeg支持
* @author PHP淮北
* @date 2011-09-14
* @copyright PHP淮北
*/
//获得视频文件的总长度时间和创建时间
function getTime($file){
$vtime = exec("ffmpeg -i ".$file." 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//");//总长度
$ctime = date("Y-m-d H:i:s",filectime($file));//创建时间
//$duration = explode(":",$time);
// $duration_in_seconds = $duration[0]*3600 + $duration[1]*60+ round($duration[2]);//转化为秒
return array('vtime'=>$vtime,
'ctime'=>$ctime
);
}
//获得视频文件的缩略图
function getVideoCover($file,$time) {
if(empty($time))$time = '1';//默认截取第一秒第一帧
$strlen = strlen($file);
$videoCover = substr($file,0,$strlen-4);
$videoCoverName = $videoCover.'.jpg';//缩略图命名
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;
}
//调用方法
$duration = getTime('/usr/local/apache/htdocs/test.flv');
echo $duration['vtime'].'
';//总长度
echo $duration['ctime'].'
';//创建时间
$videoCoverName = getVideoCover('/usr/local/apache/htdocs/test.flv', 6);
echo $videoCoverName;//获得缩略图名称
?>
测试效果:
视频长度是:55秒43
视频创建时间;2011-9-13
视频缩略图:test.jpg
-----------------------------测试完全ok
补充:如果想获得视频文件的大小可以使用:
filesize()
filesize() 函数用于取得文件大小默认单位是:bytes,成功返回文件大小的字节数,否则返回 FALSE 。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.
