2016-07-14 2 views
1

Salut, nous utilisons ffmpeg pour compresser la vidéo par php script, maintenant ce dont j'ai besoin est que je veux obtenir la taille de la vidéo de l'image compressée, mais obtenir un chemin vidéo si gentiment guider moi comment venir?Comment obtenir la taille de la vidéo compressée par ffmpeg?

est Ci-dessous le code que je l'ai utilisé pour compresser la vidéo

chemin original

$path = "sample.mp4"; 

Commande pour compriment

exec("ffmpeg -i sample.mp4 -vcodec h264 -acodec aac -strict -2 compressed_video.mp4); 

La commande ce que je l'ai utilisé pour obtenir la taille de la vidéo

$compressed_video_information = exec("ls -h1 compressed_video.mp4); 
echo $compressed_video_information; 

Je reçois juste le chemin du fichier instaed d'obtenir la taille du fichier vidéo, alors quelqu'un m'aider à surmonter ce problème?

Répondre

1

Option -h (ex: ls -lh) affiche la taille sous forme lisible par l'homme (KB/MB/GB etc ..)

exec("ls -lh compressed_video.mp4",$out);// pass file path here 
$size=explode(' ',$out[0]); 
print_r($size[4]); 
+0

Merci i J'ai eu la sortie selon ce dont j'avais besoin. –

0

Utilisez la fonction PHP filesize:

<?php 
$filesize_in_bytes = filesize('compressed_video.mp4'); 
+0

cela prendra un peu plus de temps pour mon exécution. –

+0

Il retourne également 0 si la taille du fichier est supérieure à 2 Go. – Saty

+0

@ManiKandan: si le temps est important, utilisez 'du', comme dans' du compressed_video.mp4'. C'est deux fois plus rapide que d'utiliser 'ls -lh'. Cependant, je ne suis pas sûr de savoir comment le temps d'exécution de 'filesize' peut vous empêcher si l'impact sur le temps d'exécution total de votre script sera sans importance; la conversion de la vidéo prendra beaucoup plus de temps. C'est aussi rapide que d'utiliser 'ls'. @Saty: dans la question aucune indication n'est faite sur la taille des fichiers vidéo résultants. Une solution PHP native est également plus robuste, car l'utilisation de 'ls' avec éclatement du résultat dépend de la configuration du système d'exploitation. – Plenka