Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP] FFMPEG - użycie
Forum PHP.pl > Forum > Przedszkole
artkow00
Witam.

Mam problem z użyciem komend ffmpeg do konwersji uploadowanego na stronę wideo.

Mam film b.MP4 w folderze: uploads/movies/b.MP4
Chcę z niego zrobić .flv

Korzystam z VPS centosa na home.pl i mam zainstalowane wszystko co ma związek z ffmpeg...

Próbuję korzystać z komendy:
  1. <?php
  2. exec('ffmpeg -i uploads/movies/b.mp4 uploads/movies/b.flv');
  3. ?>

Czy robię coś nie tak?
sowiq
Cytat(artkow00 @ 11.12.2013, 17:23:25 ) *
Czy robię coś nie tak?

To zależy jak zachowuje się Twoje rozwiązanie (rzuca błędami, konwertuje niepoprawnie, nie zapisuje wynikowego pliku?). Niestety nie napisałeś z czym związany jest Twój problem.
artkow00
Przepraszam.
Mój problem polega na tym, że wszystko zachowuje się tak, jakby wogóle nie isniał ten exec()..
Nic nie konwertuje, nie rzuca błędami - nic się nie dzieje.
Co może być nie tak??

Nie zapisuje też pliku wyjściowego..
sowiq
Na początek włącz raportowanie i wyświetlanie błędów PHP.

A później zrób tak i zobacz co Ci wyświetli:
  1. var_dump( exec('ffmpeg -i uploads/movies/b.mp4 uploads/movies/b.flv') );
artkow00
Wyświetla:

string(0) ""

sowiq
A jak odpalasz to polecenie przez SSH, to wszystko działa jak powinno?

Spróbuj jeszcze tak i zobacz co dostaniesz w wyniku:
  1. $output = array();
  2. $result = exec('ffmpeg -i uploads/movies/b.mp4 uploads/movies/b.flv', $output);
  3. var_dump($result, $oputput);
artkow00
Daje:

string(0) "" array(0) { }

Próbuję przez ssh zaraz napiszę..

przez konsolę konwertuje na flv ale rozmiar = 0

ok przez konsolę działa, ale z poziomu strony nadal nie/

SOWIQ proszę Cię powiedz co może być nie tak?? Konsola wykonuje mi konwersję a zapytanie w php nie robi nic...
sowiq
Sprawdzaj po kolei, chociażby uprawnienia katalogów. Zapewne polecenie w konsoli uruchamiasz spod innego użytkownika niż skrypty PHP. Możesz też zrobić logowanie wyniku do jakiegoś pliku. No i podawaj pełne ścieżki do plików.

  1. // czy to coś wypluwa?
  2. $output = array();
  3. $result = exec('whoami', $output);
  4. var_dump($result, $oputput);
  5.  
  6. // spróbuj też tak:
  7. $output = array();
  8. $result = exec('ffmpeg -i /pelna/sciezka/do/pliku/uploads/movies/b.mp4 /pelna/sciezka/do/pliku/uploads/movies/b.flv > /pelna/sciezka/do/pliku/z/wynikiem.log 2>&1', $output);
  9. var_dump($result, $oputput);
  10.  
  11. // czy po wykonaniu tego masz plik "/pelna/sciezka/do/pliku/z/wynikiem.log" ? Jeśli tak, to co się w nim zapisało?
artkow00
DLA 'whoami' :

string(6) "apache" array(1) { [0]=> string(6) "apache" }

log nie zapisuje

Dla komendy ffmpeg:

string(0) "" array(0) { }

Dla jasności

film b.MP4 w stosunku do ffmpeg jest w katalogu ../var/www/vhosts/default/htdocs/uploads/movies/b.MP4
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.