youtube

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
Stadem
Δημοσιεύσεις: 198
Εγγραφή: 10 Μαρ 2007 20:45

youtube

Δημοσίευση από Stadem » 23 Μάιος 2008 19:35

Χαιρετώ όλα τα μέλη,
έχω το εξής θέμα, κατά το ανέβασμα ενός flv video θέλω να μου κάνει export από αυτό 2-3 εικόνες.
Κάτι παρόμοιο γίνεται και στο youtube, ανεβάζοντας ένα video φτιάχνει την thumbnail image.
Γνωρίζετε κάτι? ευχαριστώ προκαταβολικά.
web-IQ Interactive Quality
Εικόνα

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

youtube

Δημοσίευση από fafos » 23 Μάιος 2008 20:17

Gia na to petyxeis auto tha prepei o server sou na exei kapoies extra vivliothikes:

h ffmpeg + ffmpeg-php (open source) h thn flash server ths adobe (me plhromh kai panakrivh) kai oposdhpote thn GD (thn exoun sxedon oloi oi servers)

an exeis thn dynatothta authn ston server sou ta ypoloipa einai paneukola.. edo eimaste kai tha sou doso odhgies..

gia na deis an exeis tis ffmpeg+ffmpeg-php pare ton parakato kodika kai sose ton se ena arxeio php (p.x. check.php).. anevase to ston server sou kai "trekse to".. an ta deis ola prasina, exeis tis vivliothikes (ligo spanio na exei kapoios server apo default autes tis vivliothikes)

Κώδικας: Επιλογή όλων

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
</head>
<body>
<center>
<table width="500" cellpadding="5" cellspacing="5">
  <tbody>
    <tr>
      <td align="center" valign="top" style="font-size &#58; 12px;font-family &#58; Verdana;"><b style="font-size &#58; 16px;color &#58; blue;">STEP 1</b><br>
      Check for Libraries...<br>
      This page test if you have the requirements libraries in your server &#40;ffmpeg,
      mencoder and ffmpeg-php&#41;<br>
      If you get &quot;OK&quot; for all libraries go to next step, if you get
      &quot;FAIL&quot; in any of the tests you don't have this library.</td>
    </tr>
    <tr>
      <td align="center" valign="top"><?
error_reporting&#40;0&#41;;

$red = '#FF0000';
$green = '#009933';
$ok = 'OK';
$fail = 'FAIL';
$cmd = "which ffmpeg";
	$ok_fail = $ok;
		$font = $green;

exec&#40;"$cmd 2>&1", $output&#41;;
    foreach &#40;$output as $outputline&#41; &#123;
    &#125;
if &#40;ereg&#40;'which&#58; no', $outputline&#41;&#41; &#123; //check if output has the words "does not exist"
	$ok_fail = $fail;
		$font = $red;

&#125;

if &#40;$outputline ==""&#41; &#123; //check if output is blank
	$ok_fail = $fail;
		$font = $red;
$outputline = "This value could not be checked . Please use SSH to check";		
&#125;
echo '<div align="center">

<table width="300" cellpadding="5" cellspacing="5" style="border-width &#58; 1px 1px 1px 1px;border-style &#58; solid solid solid solid;border-color &#58; silver silver silver silver;">
  <tbody>
    <tr>
      <td align="center" style="font-size &#58; 12px;font-family &#58; Verdana;font-weight &#58; bold;color &#58; navy;">ffmpeg Library</td>
      <td width="50" height="50" align="center"><p align="center"><b><font color="'.$font.'" face="Arial" size="2">'.$ok_fail.'</font></b></p></td>
    </tr>
  </tbody>
</table>

</div><p align="center"></p>';


$cmd = "which mencoder";
	$ok_fail = $ok;
		$font = $green;

exec&#40;"$cmd 2>&1", $output&#41;;
    foreach &#40;$output as $outputline&#41; &#123;
    &#125;
if &#40;ereg&#40;'which&#58; no', $outputline&#41;&#41; &#123; //check if output has the words "does not exist"
	$ok_fail = $fail;
		$font = $red;
&#125;

if &#40;$outputline ==""&#41; &#123; //check if output is blank
	$ok_fail = $fail;
		$font = $red;
$outputline = "This value could not be checked . Please use SSH to check";		
&#125;

echo '<div align="center">
<table width="300" cellpadding="5" cellspacing="5" style="border-width &#58; 1px 1px 1px 1px;border-style &#58; solid solid solid solid;border-color &#58; silver silver silver silver;">
  <tbody>
    <tr>
      <td align="center" style="font-size &#58; 12px;font-family &#58; Verdana;font-weight &#58; bold;color &#58; navy;">Mencoder Library</td>
      <td width="50" height="50" align="center"><p align="center"><b><font color="'.$font.'" face="Arial" size="2">'.$ok_fail.'</font></b></p></td>
    </tr>
  </tbody>
</table>
</div><p align="center"></p>';


//checking ffmpeg-php-----------------------------------------------------------------------------------------------------------------------------

//check mencoder for use in config_inc.php
$cmd = "php --re ffmpeg";

exec&#40;"$cmd 2>&1", $output&#41;;
    foreach &#40;$output as $outputline&#41; &#123;
    &#125;

if &#40;ereg&#40;'does not exist', $outputline&#41;&#41; &#123; //check if output has the words "does not exist"
$ok_fail = $fail;
	$font = $red;

$message = "ffmpeg-php extension could not be found";		
&#125; else &#123;
$ok_fail = $ok;
	$font = $green;
$message = "ffmpeg-php extension was found";
&#125;

echo '<div align="center">
	<table width="300" cellpadding="5" cellspacing="5" style="border-width &#58; 1px 1px 1px 1px;border-style &#58; solid solid solid solid;border-color &#58; silver silver silver silver;">
  <tbody>
    <tr>
      <td align="center" style="font-size &#58; 12px;font-family &#58; Verdana;font-weight &#58; bold;color &#58; navy;">ffmpeg-php Library</td>
      <td width="50" height="50" align="center"><p align="center"><b><font color="'.$font.'" face="Arial" size="2">'.$ok_fail.'</font></b></p></td>
    </tr>
  </tbody>
</table>
</div><p align="center"></p>';









?>
</td>
    </tr>
  </tbody>
</table>
</center>
</body>
</html>

Άβαταρ μέλους
Stadem
Δημοσιεύσεις: 198
Εγγραφή: 10 Μαρ 2007 20:45

youtube

Δημοσίευση από Stadem » 23 Μάιος 2008 21:34

Φίλε μου σε ευχαριστώ για την γρήγορη απάντηση σου, που λες οι απαντήσεις που έλαβα είναι:

STEP 1
Check for Libraries...
This page test if you have the requirements libraries in your server (ffmpeg, mencoder and ffmpeg-php)
If you get "OK" for all libraries go to next step, if you get "FAIL" in any of the tests you don't have this library.
ffmpeg Library

FAIL

Mencoder Library

FAIL

ffmpeg-php Library

FAIL

Όσο αφορά για GD library υποστηρίζει ο server μου.
ευχαριστώ
web-IQ Interactive Quality
Εικόνα

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

youtube

Δημοσίευση από fafos » 23 Μάιος 2008 21:52

Stadem έγραψε:Φίλε μου σε ευχαριστώ για την γρήγορη απάντηση σου, που λες οι απαντήσεις που έλαβα είναι:

STEP 1
Check for Libraries...
This page test if you have the requirements libraries in your server (ffmpeg, mencoder and ffmpeg-php)
If you get "OK" for all libraries go to next step, if you get "FAIL" in any of the tests you don't have this library.
ffmpeg Library

FAIL

Mencoder Library

FAIL

ffmpeg-php Library

FAIL

Όσο αφορά για GD library υποστηρίζει ο server μου.
ευχαριστώ
Dystyxos den exeis tis libraries.. an eisai se shared hosting to vlepo xlomo na sou tis egkatasthsoun.. an eisai se deticated einai poio eukola ta pragmata.. genika prepei na egkatastathoun autes oi vivliothikes:

FFmpeg (http://ffmpeg.mplayerhq.hu)
FFmpeg-PHP (http://ffmpeg-php.sourceforge.net)
Mplayer + Mencoder (http://www.mplayerhq.hu/design7/dload.html)
flv2tool (http://inlet-media.de/flvtool2)
Libogg + Libvorbis (http://www.xiph.org/downloads)
LAME MP3 Encoder (http://lame.sourceforge.net)


(oi Mplayer + Mencoder vasika den xreiazontai gia thn doueia pou thes na kaneis tora alla an einai dynaton as tis egkatasthseis kai autes, mporei na tis xreiasteis sto mellon)

Άβαταρ μέλους
Stadem
Δημοσιεύσεις: 198
Εγγραφή: 10 Μαρ 2007 20:45

youtube

Δημοσίευση από Stadem » 23 Μάιος 2008 22:17

ΟΚ, θα το κοιτάξω να τις εγκαταστήσω και θα σου πω νεότερα. Thanks
web-IQ Interactive Quality
Εικόνα

Άβαταρ μέλους
Stadem
Δημοσιεύσεις: 198
Εγγραφή: 10 Μαρ 2007 20:45

youtube

Δημοσίευση από Stadem » 24 Μάιος 2008 01:19

OK, τώρα είναι ενεργοποιημένες. Πώς μπορώ να ανεβάσω video?


STEP 1
Check for Libraries...
This page test if you have the requirements libraries in your server (ffmpeg, mencoder and ffmpeg-php)
If you get "OK" for all libraries go to next step, if you get "FAIL" in any of the tests you don't have this library.
ffmpeg Library

OK

Mencoder Library

OK

ffmpeg-php Library

OK


------------

έχω κάνει επίσης και :
php_value max_execution_time 36000
php_value memory_limit 40M
php_value post_max_size 40M
php_value upload_max_filesize 100M
Options -Indexes
web-IQ Interactive Quality
Εικόνα

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

youtube

Δημοσίευση από fafos » 24 Μάιος 2008 13:45

Pes mou ton tropo pou theleis na anevazeis ta video arxeia sou.. me ftp h me kapoia forma? tha anevazeis apeutheias flv arxeia h theleis na anevazeis oiandhpote format kai na sta metatrepoun oi libraries se flv? (opos kanei to youtube).

Άβαταρ μέλους
Stadem
Δημοσιεύσεις: 198
Εγγραφή: 10 Μαρ 2007 20:45

youtube

Δημοσίευση από Stadem » 25 Μάιος 2008 15:43

fafos έγραψε:Pes mou ton tropo pou theleis na anevazeis ta video arxeia sou.. me ftp h me kapoia forma? tha anevazeis apeutheias flv arxeia h theleis na anevazeis oiandhpote format kai na sta metatrepoun oi libraries se flv? (opos kanei to youtube).
Το ιδανικό θα ήταν να ανεβάζω από φόρμα και κατά το ανέβασμα να γίνετε αυτόματα η μετατροπή σε flv από mpg, avi ή mov αρχεία.

Ευχαριστώ
web-IQ Interactive Quality
Εικόνα

Άβαταρ μέλους
CyberCr33p
Honorary Member
Δημοσιεύσεις: 3194
Εγγραφή: 06 Νοέμ 1999 01:00
Τοποθεσία: Αθήνα
Επικοινωνία:

youtube

Δημοσίευση από CyberCr33p » 25 Μάιος 2008 15:47

Θα σου πρότεινα να χρησιμοποιήσειες απευθείας το ffmpeg για αυτή τη δουλεία χρησιμοποιόντας την system της php.

Άβαταρ μέλους
Stadem
Δημοσιεύσεις: 198
Εγγραφή: 10 Μαρ 2007 20:45

youtube

Δημοσίευση από Stadem » 25 Μάιος 2008 15:54

CyberCr33p έγραψε:Θα σου πρότεινα να χρησιμοποιήσειες απευθείας το ffmpeg για αυτή τη δουλεία χρησιμοποιόντας την system της php.
Ευχαριστώ για την άμεση απάντηση σου, το πρόβλημα είναι το πώς μπορώ να ανεβάσω video και να μου κάνει "export" τα images.
web-IQ Interactive Quality
Εικόνα

Άβαταρ μέλους
CyberCr33p
Honorary Member
Δημοσιεύσεις: 3194
Εγγραφή: 06 Νοέμ 1999 01:00
Τοποθεσία: Αθήνα
Επικοινωνία:

youtube

Δημοσίευση από CyberCr33p » 25 Μάιος 2008 15:58

Στο θέμα του upload δεν ξέρω ακριβώς να σου πω γιατί δεν το έχω ψάξει. Όσο αφορά τα images με το ffmpeg απ'ότι θυμάμαι μπορείς να του περάσεις παράμετρο για να φτιάξει screenshot από το Χ δευτερόλεπτο του video που ανέβασες.

Άβαταρ μέλους
Stadem
Δημοσιεύσεις: 198
Εγγραφή: 10 Μαρ 2007 20:45

youtube

Δημοσίευση από Stadem » 25 Μάιος 2008 18:00

CyberCr33p έγραψε:Στο θέμα του upload δεν ξέρω ακριβώς να σου πω γιατί δεν το έχω ψάξει. Όσο αφορά τα images με το ffmpeg απ'ότι θυμάμαι μπορείς να του περάσεις παράμετρο για να φτιάξει screenshot από το Χ δευτερόλεπτο του video που ανέβασες.
:) Ναι ετσι δουλεύει αλλά πως γίνεται είναι το θέμα, το τεστάρο και τοπικά χρησιμοποιώντας xampp μήπως βρω καμιά άκρη, βρήκα αυτό το site στο οποίο σου έχει το exe αρχείο
http://www.iepak.com/download/ffmpeg.zip

Το έβαλα στο C:\ffmpeg και προσπαθώ να το τρέξω χρησιμοποιώντας τα

Κώδικας: Επιλογή όλων

<?php
//για να μου φτιάξει εικόνες
exec&#40;"START c&#58;/ffmpeg/ffmpeg -vcodec png -i original_movie.mpg -ss 00&#58;00&#58;00 -vframes frames picname%d.png"&#41;;
//ή για να μου κάνει convert σε flv
exec&#40;"c&#58;/ffmpeg/ffmpeg -i "original_movie.mpg" "output_file.flv""&#41;;
?>
Του έβαλα στο folder που έτρεχα το script το αρχείο original_movie.mpg αλλά δεν είχα κάποιο αποτέλεσμα.
Εδώ έχει επίσης ένα script αλλά δεν έχω καταλάβει πώς ορίζω το path.
http://www.iepak.com/30/topicdetail.aspx
Έχει κανένας καμιά ιδέα?
web-IQ Interactive Quality
Εικόνα

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

youtube

Δημοσίευση από fafos » 25 Μάιος 2008 22:15

H ffmpeg DEN yposthrizei ola ta format. Gi'auton ton logo xrhsimopoume thn mencoder:

Κώδικας: Επιλογή όλων

$fname = substr&#40;date&#40;ynjB&#41;.randomkeys&#40;4&#41;,-15&#41;;//neos titlos arxeiou
@move_uploaded_file&#40;$_FILES&#91;'file'&#93;&#91;"tmp_name"&#93;, "videos/" . $_FILES&#91;'file'&#93;&#91;'name'&#93;&#41;;//anevasma arxeiou
$file_name = $_FILES&#91;'file'&#93;&#91;'name'&#93;;

//class gia convert se flv
class convert
	&#123;

		function convert&#40;$source,$destination&#41;
		&#123;
//vriskoume to path ths mencoder
$cmd = "which mencoder";
	$ok_fail = $ok;
		$font = $green;

exec&#40;"$cmd 2>&1", $output&#41;;
    foreach &#40;$output as $outputline&#41; &#123;
    &#125;
//kanoume to convert
exec&#40;"".$outputline." &#123;$source&#125; -o &#123;$destination&#125; -of lavf -oac mp3lame -lameopts abr&#58;br=56 -ovc lavc -lavcopts vcodec=flv&#58;vbitrate=9600&#58;mbd=2&#58;mv0&#58;trell&#58;v4mv&#58;cbp&#58;last_pred=3 -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -srate 22050"&#41;;

		&#125;
	&#125;
	
 $source="videos/$file_name";//fakellos opou tha anevasoume to original arxeio
 $destination="videos/$fname.flv";//fakellos opou tha sosoume to flv 

kai synexizoume gia na paroume to thumbnail me thn ffmpeg-php:

Κώδικας: Επιλογή όλων

$mov = @new ffmpeg_movie&#40;"videos/$file_name"&#41;;
$photo = "videos/$file_name";
$fileNameParts1 = explode&#40; ".", $photo  &#41;;
$finalDir = "thumbs/";//fakelos apothikeushs thumbnails
$finalFile = str_replace&#40; " ", "", $finalDir . $fname . ".jpg" &#41;;
$frame = "100";// poio frame theloume na kanei thumbnail
$ff_frame = @$mov->getFrame&#40;$frame&#41;;
if &#40;$ff_frame&#41; &#123;
     
    $gd_image = $ff_frame->toGDImage&#40;&#41;;
    if &#40;$gd_image&#41; &#123;
        imagejpeg&#40;$gd_image, $finalFile, 90&#41;;
        imagedestroy&#40;$gd_image&#41;;

$movietime = new ffmpeg_movie&#40;"videos/$fname.flv"&#41;;
$mtime = $movietime->getDuration&#40;&#41;;//deiarkeia se deuterolepta tou video
&#125;
&#125;
@unlink&#40;"videos/$file_name"&#41;;//diagrafh tou arxeiou pou anevasame
se auto to paradeigma pairnoume to frame 100 apo to video.. an thes na pareis perissotera frames epanalamvaneis thn function kai allazeis ton arithmo (p.x. 500, 1000 klp). Prepei na allakseis kai ton titlo tou thumbnail:
p.x.: $finalFile = str_replace( " ", "", $finalDir . $fname . "_a.jpg" ); , $finalFile = str_replace( " ", "", $finalDir . $fname . "_b.jpg" );"; klp

Epishs to $mtime mas dinei thn deiarkeia tou video se deuterolepta.

Shm. Yparxei periptosh h class ths mencoder na mhn sou doulevei (einai analoga thn egkatastash pou exeis kanei ston server) alla yparxoun enalaktikes lyseis.

Άβαταρ μέλους
MaZz
Script Master
Δημοσιεύσεις: 345
Εγγραφή: 20 Ιούλ 2005 19:41
Τοποθεσία: Beyond the dark sun
Επικοινωνία:

youtube

Δημοσίευση από MaZz » 25 Μάιος 2008 22:19

Δοκίμασε να εκτελέσεις πρώτα την εντολή από το command line και όχι μέσα από το script για να δεις αν σου βγάζει σφάλματα.
If nothing in the world can change our children will inherit nothing.

Άβαταρ μέλους
Stadem
Δημοσιεύσεις: 198
Εγγραφή: 10 Μαρ 2007 20:45

youtube

Δημοσίευση από Stadem » 26 Μάιος 2008 04:44

Τοπικά τρέχοντας την εντολή

Κώδικας: Επιλογή όλων

exec&#40;"ffmpeg -i \"original_movie.mpg\" \"output_file.flv\""&#41;;
μου κάνει την δημιουργία του νέου αρχείου flv.

Φίλε fafo δοκιμάζοντας τον παραπάνω κώδικα για να κάνει export την thumbnail image παίρνω το εξής σφάλμα:

Κώδικας: Επιλογή όλων

Class 'ffmpeg_movie' not found
τι μπορεί να φταίει?
web-IQ Interactive Quality
Εικόνα

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες