Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP|ffmpeg]Tworzenie thumbnails z plików Video
fantek
post 9.05.2014, 22:06:02
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 9.10.2010

Ostrzeżenie: (0%)
-----


Witam. Zainstalowałem na swoim dedyku

  1. ffmpeg version 0.8.10-4:0.8.10-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  2. built on Feb 6 2014 20:56:59 with gcc 4.6.3
  3. *** THIS PROGRAM IS DEPRECATED ***
  4. This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
  5. Hyper fast Audio and Video encoder
  6. usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
  7.  
  8. Use -h to get full help or, even better, run 'man ffmpeg'


Posiadam pliki video i chciał bym za pomocą ffmpeg-php stworzyć z tych plików pliki thumbnails (przypuśćmy że jeden plik jpg w którym co 1 min będzie robić screena i zapisywać do tego jednego jpg) coś w ten deseń:
http://screenshots.de.sftcdn.net/de/scrn/7...ls-maker-22.jpg

W jaki sposób mam teraz wykożystać tego zainstalowanego ffmpeg ?

Go to the top of the page
+Quote Post
Damonsson
post 9.05.2014, 22:16:09
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Wykorzystaj google może najpierw
Go to the top of the page
+Quote Post
fantek
post 9.05.2014, 23:52:58
Post #3





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 9.10.2010

Ostrzeżenie: (0%)
-----


Uwielbiam polskie fora zawsze "użyj Google" albo "gdzieś już to widziałem na forum" .


Jak bym znalazł satysfakcjonujący (czytaj: działający) wynik w google to bym tu kór... nie pisał. Pomogłeś w chu...
Niedziała!!!
  1. $ffmpeg = ‘encoder\ffmpeg’; //put the relative path to the ffmpeg.exe file
  2. $second = 15; //specify the time to get the screen shot at (can easily be randomly generated)
  3. $image = ‘thumbnails/sample.jpg’; //define the output file
  4. //finally assemble the command and execute it
  5. $command = "$ffmpeg -itsoffset -$second -i $video -vcodec mjpeg -vframes 1 -an -f rawvideo -s 150×84 $image";
  6. exec($command);

Niedziała exclamation.gif!
  1. $ffmpeg = 'ffmpeg.exe';
  2.  
  3. //video dir
  4. $video = 'video.flv';
  5.  
  6. //where to save the image
  7. $image = 'image.jpg';
  8.  
  9. //time to take screenshot at
  10. $interval = 5;
  11.  
  12. //screenshot size
  13. $size = '320x240';
  14.  
  15. //ffmpeg command
  16. $cmd = "$ffmpeg -i $video -deinterlace -an -ss $interval -f mjpeg -t 1 -r 1 -y -s $size $image 2>&1";
  17. $return = `$cmd`;


Niedziała wiele innych przykładów w google !.

Ten post edytował fantek 9.05.2014, 23:56:45
Go to the top of the page
+Quote Post
johny_s
post 10.05.2014, 01:45:23
Post #4





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

Ostrzeżenie: (0%)
-----


a to może przynajmniej jakiś błąd łaskawie zwraca?
Go to the top of the page
+Quote Post
fantek
post 10.05.2014, 09:56:37
Post #5





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 9.10.2010

Ostrzeżenie: (0%)
-----


Dobra działa (możliwe że podawałem złą ścieżkę do fmpeg)

Działający kod:
  1. $ffmpeg = '/usr/bin/ffmpeg';
  2.  
  3. //video dir
  4. $video = 'video.mp4';
  5.  
  6. //where to save the image
  7. $image = 'image.jpg';
  8.  
  9. //time to take screenshot at
  10. $interval = 5;
  11.  
  12. //screenshot size
  13. $size = '320x240';
  14.  
  15. //ffmpeg command
  16. $cmd = "$ffmpeg -i $video -deinterlace -an -ss $interval -f mjpeg -t 1 -r 1 -y -s $size $image 2>&1";
  17. shell_exec($cmd);


Jednak to rozwiązanie mnie nie zadowala gdyż ffmpeg robi zrzuty screenów z filmu odzielnie.

Jest jakieś rozwiązanie używając ffmpeg albo imagemagik aby wygenerować taki przykładowy thumbnail http://screenshots.de.sftcdn.net/de/scrn/7...ls-maker-22.jpg ?

Ten post edytował fantek 10.05.2014, 09:57:01
Go to the top of the page
+Quote Post
thek
post 14.05.2014, 22:08:39
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ale takiego thumba nie dostaniesz "out of the box". Za coś takiego odpowiada osobny skrypt, który sprawdzi ile ma filmik, ile chcesz w wierszu i kolumnie klatek (i je zrobi), wyciągnie odpowiednią ilość, poskłada to do kupy z uwzględnieniem jeszcze danych wyciągniętych z samego pliku video. Niei spotkałem się z gotowym rozwiązaniem tego typu. Zapewne będziesz musiał sam napisać lub zlecić to komuś.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 18:50