2011-01-12 2 views
1

Я очень новичок в php. Я недавно установил php на свой Mac, и я пытаюсь настроить ffmpeg-php для преобразования различных видео в FLV или другие форматы по желанию. Я использовал этот учебник FFmpeg Mac Installation, и я получил ffmpeg для работы с терминалом, однако, когда я пытаюсь кодировать фильм с помощью php, я получаю сообщение об ошибке. В моем файле apache error_log говорится, что разрешение отклонено рядом с файлом flv (показано ниже).ffmpeg-php разрешено на localhost

FFmpeg версия 0.6, Copyright (с) 2000-2010 разработчики FFmpeg
построен 30 Дек 2010 08:36:24 с GCC 4.2.1 (Apple Inc. построить 5646) (точка 1) Конфигурация: --prefix =/usr/local --enable-shared --disable-mmx --enable-libmp3lame --enable-gpl --enable-libfaad --enable-zlib --enable-libvorbis --enable- 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
Кажется, что скорость передачи кадров 1 кодека отличается от с частотой кадров: 1200.00 (1200/1) -> 30.00 (30/1)
Вход № 0, mov, mp4, m4a, 3gp, 3g2, mj2, from ' /Users/myApple/Sites/AdHere/test.mov ':
Метаданные:
major_brand: кварты
minor_version: 537199360
compatible_brands: кварты
Продолжительность: 00: 00: 02,04, старт: 0,000000, битрейт: 1109 kb/s
Stream # 0.0 (eng): Аудио: aac, 44100 Гц, стерео, s16, 97 kb/s
Stream # 0.1 (eng): Видео: h264, yuv42 0p, 640x480, 1027 кб/с, 30,15 кадров в секунду, 30 TBR, 600 ТБН, 1200 TBC
/Users/myApple/Sites/AdHere/movteststuff.flv: Отказано в

Я понятия не имею, что проблема в. Я использую следующий код PHP:

<?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'); 



?> 

Я могу увидеть различные параметры, такие как имя файла, frameheight, framewidth, что приводит меня к мысли, что FFmpeg-PHP вроде работает, но может быть, я просто делаю что-то неправильно в команде exec(). У кого-нибудь есть идеи. Я уже много лет пытаюсь настроить ffmpeg.

Спасибо!

-Jon

ответ

0

Скорее всего, пользователь, который PHP работает как не имеет доступа на запись в каталог в вопросе. Проверьте разрешение каталога назначения и убедитесь, что он соответствует любому пользователю, выполняющему скрипт PHP.

+0

Вау, я думаю, что это было. Ты обалденный! – user572271

0

Это просто разрешения вопрос ...

Сделать FFmpeg в 777 разрешения.

Смежные вопросы