2016-07-04 23 views
-1

Hallo an alle,FFMPEG spielen eine Overlay-Video

ich Stunden bin kämpfen, um ein Bild über ein Video (Overlay) auf Platzierung und die Ausgabe direkt im Web-Browser zu spielen (ich habe FFMPEG auf dem Server installiert ist). Hier ist, was ich habe:

$output = shell_exec($command);     
$image = '/image.png';   
$video = '/videoin.mp4';  
$saved_video_path= "";  
$i = "'";  
$command = '/usr/local/bin/ffmpeg -i ' . $video . ' -i ' . $image . ' -filter_complex "[0:v][1:v] overlay=10:10:enable=' . $i . 'between(t,5,10)' . $i . '" '.$saved_video_path;    
echo "$output";  

Ich würde wirklich Ihre Hilfe zu schätzen wissen!

Chris

+0

Video-Tags zur Seite, produziert dieser Code eine spielbare Datei? (zB: wenn Sie die '$ Ausgabe 'auf Server oder Festplatte setzen) –

+0

Irgendwelche Fortschritte ...? –

+1

Danke nochmal VC.One. Funktioniert gut – Chris

Antwort

0

ich FFmpeg auf meinem Server nicht installiert haben, so dass ich diese Lösung nicht bestätigen kann, funktioniert.
(Es funktioniert für PHP-basierte img oder video Tags, aber nicht mit FFmpeg getestet).

echo '<video width="640" height="480" controls><source src="'.$output.'" type="video/mp4"></video>'; 

Also mit Ihrem Code sollte wie folgt aussehen:

$output = shell_exec($command); 
$image = '/image.png'; 
$video = '/videoin.mp4'; 
$saved_video_path= ""; 
$i = "'"; 
$command = '/usr/local/bin/ffmpeg -i ' . $video . ' -i ' . $image . ' -filter_complex "[0:v][1:v] overlay=10:10:enable=' . $i . 'between(t,5,10)' . $i . '" '.$saved_video_path; 

//echo "$output"; 
echo '<video width="640" height="480" controls><source src="'.$output.'" type="video/mp4"></video>'; 

Einige der Noten:

  • Versuchen Sie es mit: $output = shell_exec('.$command.');

  • Sie sollten Flucht Ihre filter_complex doppelte Anführungszeichen:

Beispiel ...

$command = '/usr/local/bin/ffmpeg -i ' . $video . ' -i ' . $image . ' -filter_complex \"[0:v][1:v] overlay=10:10:enable=' . $i . 'between(t,5,10)' . $i . '\"' . $saved_video_path; 
  • Versuchen Sie doppelte Anführungszeichen auf dem ffmpeg Pfad nur $command = '"/usr/local/bin/ffmpeg" -i usw.
+0

Hallo VC One, danke viel, Es funktioniert gut. – Chris