2011-01-12 5 views
1

Je suis très nouveau sur php. J'ai récemment mis en place php sur mon mac et j'essaye de configurer ffmpeg-php pour convertir de diverses vidéos au format flv ou d'autres formats comme désiré. J'ai utilisé ce tutoriel FFmpeg Mac Installation et j'ai obtenu ffmpeg de travailler en utilisant le terminal, cependant, quand j'essaye d'encoder un film en utilisant php, je reçois une erreur. Dans mon fichier apache error_log, il est indiqué que l'autorisation est refusée à côté du fichier flv (voir ci-dessous).Autorisation ffmpeg-php refusée sur localhost

Version 0.6 FFmpeg, Copyright (c) 2000-2010 les développeurs FFmpeg
construit le 30 décembre 2010 08:36:24 avec gcc 4.2.1 (Apple Inc. construire 5646) (point 1) --prefix =/usr/local libfaac --enable-nonfree

libavutil 50.15. 1/50.15. libavcodec 52,72. 2/ 52,72. 2
libavformat 52,64. 2/52,64. 2
libavdevice 52. 2. 0/52. 2. 0
libswscale 0.11. 0/0,11. 0
Semble la fréquence d'images du codec du flux 1 diffère de taux de trame du conteneur: 1200.00 (1200/1) -> 30.00 (30/1)
Entrée # 0, mov, mp4, m4a, 3gp, 3g2, mj2, à partir de ' /Users/myApple/Sites/AdHere/test.mov ':
Métadonnées:
major_brand: qt
minor_version: 537199360
compatible_brands: qt
Durée: 00: 00: 02,04, commencer: 0,000000, bitrate: 1109 kb/s
Courant n ° 0.0 (fra): Audio: aac, 44100 Hz, stéréo, s16, 97 kb/s
Courant n ° 0.1 (eng): Vidéo: h264, yuv42 0p, 640x480, 1027 kb/s, 30,15 ips, 30 TBR, 600 TBN, 1200 tbc
/Users/myApple/Sites/AdHere/movteststuff.flv: Permission denied

Je ne sais pas ce que le problème est. J'utilise le code php suivant:

<?php 
extension_loaded('ffmpeg') or die('Error in loading ffmpeg'); 

$ffmpegInstance = new ffmpeg_movie('test.AVI'); 
echo "getDuration: " . $ffmpegInstance->getDuration() . 
"<br>getFrameCount: " . $ffmpegInstance->getFrameCount() . 
"<br>getFrameRate: " . $ffmpegInstance->getFrameRate() . 
"<br>getFilename: " . $ffmpegInstance->getFilename() . 
"<br>getComment: " . $ffmpegInstance->getComment() . 
"<br>getTitle: " . $ffmpegInstance->getTitle() . 
"<br>getAuthor: " . $ffmpegInstance->getAuthor() . 
"<br>getCopyright: " . $ffmpegInstance->getCopyright() . 
"<br>getArtist: " . $ffmpegInstance->getArtist() . 
"<br>getGenre: " . $ffmpegInstance->getGenre() . 
"<br>getTrackNumber: " . $ffmpegInstance->getTrackNumber() . 
"<br>getYear: " . $ffmpegInstance->getYear() . 
"<br>getFrameHeight: " . $ffmpegInstance->getFrameHeight() . 
"<br>getFrameWidth: " . $ffmpegInstance->getFrameWidth() . 
"<br>getPixelFormat: " . $ffmpegInstance->getPixelFormat() . 
"<br>getBitRate: " . $ffmpegInstance->getBitRate() . 
"<br>getVideoBitRate: " . $ffmpegInstance->getVideoBitRate() . 
"<br>getAudioBitRate: " . $ffmpegInstance->getAudioBitRate() . 
"<br>getAudioSampleRate: " . $ffmpegInstance->getAudioSampleRate() . 
"<br>getVideoCodec: " . $ffmpegInstance->getVideoCodec() . 
"<br>getAudioCodec: " . $ffmpegInstance->getAudioCodec() . 
"<br>getAudioChannels: " . $ffmpegInstance->getAudioChannels() . 
"<br>hasAudio: " . $ffmpegInstance->hasAudio(); 

exec('ffmpeg -i /Users/myApple/Sites/AdHere/test.mov /Users/myApple/Sites/AdHere/movteststuff.flv'); 



?> 

Je suis en mesure de voir différents paramètres comme nom de fichier, FrameHeight, FrameWidth, ce qui me porte à croire que ffmpeg-php est un peu de travail, mais peut-être que je fais quelque chose faux dans la commande exec(). N'importe qui a des idées. J'ai lutté avec la mise en place de ffmpeg depuis un certain temps maintenant.

Merci!

-Jon

Répondre

0

Très probablement, l'utilisateur que PHP fonctionne comme n'a pas accès en écriture au répertoire en question. Vérifiez l'autorisation du répertoire de destination et assurez-vous qu'il correspond à tout utilisateur qui exécute le script PHP.

+0

Wow, je pense que c'était ça. Tu es incroyable! – user572271

0

Il est juste question des autorisations ...

Faites ffmpeg comme 777 permission.