Détecter FFmpeg installation et la Version
Je suis en train d'écrire un script PHP qui convertit téléchargé des fichiers vidéo FLV à la volée, mais je ne le veux exécuter la partie du script, si l'utilisateur a FFmpeg installé sur le serveur.
Y aurait-il un moyen de détecter à l'avance? Je pourrais peut-être exécuter un FFmpeg le commandement et le test de savoir si il s'agit de retour de la commande "n'est pas trouvée?"
OriginalL'auteur Aaron | 2009-05-06
Vous devez vous connecter pour publier un commentaire.
Essayer:
Si il revient vide ffmpeg n'est pas disponible, sinon il va contenir le chemin d'accès absolu vers le fichier exécutable que vous pouvez utiliser dans le ffmpeg appel:
OriginalL'auteur Alix Axel
Le troisième paramètre de la
exec()
de la fonction est la valeur de retour du programme exécuté. L'utiliser comme ceci:Cela fonctionne sur mon Ubuntu boîte.
OriginalL'auteur Peter Stuifzand
Vous avez répondu à votre propre question, vous pouvez exécuter la commande et si il est négatif, vous savez qu'il n'est pas installé, ou vous pouvez vérifier les chemins d'accès par défaut l'utilisateur a défini pour possible ffmpeg fichiers binaires.
Exemple: if (strpos(
ffmpeg --help
, 'ffmpeg') > -1) echo 'Installé!';À moins que cela tourne à l'affichage d'un message similaire à Le paquet ffmpeg n'est pas installé, vous pouvez l'installer en exécutant.... Aussi,
strpos
ne fonctionne pas comme le Javascript équivalent, vous avez à tester contre!== false
.OriginalL'auteur X-Istence
Vous pourriez donner à ceci un essai:
Réutilisable pour d'autres fonctions - pas certaines des questions de sécurité.
Assez juste, c'était la première idée qui m'est venu à l'esprit et a travaillé sur le serveur que je l'ai testé sur, pensé que je voudrais voir si cela a fonctionné pour les OP.
OriginalL'auteur StudioKraft
salut, je recherche pour ce problème, et j'pouvez obtenir la version de ffmpeg par ce code:
echo(shell_exec('/usr/bin/ffmpeg -version'));
OriginalL'auteur Ahmad Balavipour