Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Methode zum Abfangen bestimmter Videobilder in Bilder

PHP-Methode zum Abfangen bestimmter Videobilder in Bilder

墨辰丷
墨辰丷Original
2018-06-02 11:00:222203Durchsuche

In diesem Artikel werden hauptsächlich die relevanten Informationen von PHP zum Abfangen der angegebenen Frames des Videos in Bilder vorgestellt. Freunde, die sie benötigen, können sich auf

Um die angegebenen Frames des Videos in Bilder abzufangen, beziehen Die Erweiterung wurde perfekt implementiert:

rrree

Aufgrund der unterschiedlichen Aufnahmerichtungen von Videos, die mit Smartphones aufgenommen werden, wird das Video gedreht und die Metainformationen werden rotiert, wenn Sie das Bild relativ abfangen Zum Video: Wenn es ein Video mit Drehinformationen gibt, wird auch der Rahmen gedreht, sodass Sie das aufgenommene Bild entsprechend drehen müssen.

Dann kann die PHP-FFMpeg-Erweiterung die Rotationsinformationen nicht abrufen (PHP-FFMpeg-Erweiterungsdokument), sie können jedoch über die ffmpeg-Befehlszeile abgerufen werden:

/usr/local/ffmpeg/ bin/ffprobe test .mp4 -show_streams |. grep rotierenVerwenden Sie PHP, um es einfach wie folgt zu kapseln:

$movie = new ffmpeg_movie($video_filePath);
$ff_frame = $movie->getFrame(1);
$gd_image = $ff_frame->toGDImage();
$img="./test.jpg";
imagejpeg($gd_image, $img);
imagedestroy($gd_image);

Verwenden Sie die Funktion imagerotate(), um den Screenshot zu drehen:

function get_video_orientation($video_path) {
  $cmd = "/usr/local/ffmpeg/bin/ffprobe " . $video_path . " -show_streams 2>/dev/null";
  $result = shell_exec($cmd);
 
  $orientation = 0;
  if(strpos($result, 'TAG:rotate') !== FALSE) {
    $result = explode("\n", $result);
    foreach($result as $line) {
      if(strpos($line, 'TAG:rotate') !== FALSE) {
        $stream_info = explode("=", $line);
        $orientation = $stream_info[1];
      }
    }
  }
  return $orientation;
}

Endlich da ist ein Problem, nicht alle Player und Browser können die Ausrichtung des Videos erkennen und es automatisch drehen. Wenn Sie das Video drehen möchten, können Sie den Befehl ffmpeg verwenden:

/. usr/local/ffmpeg/bin /ffmpeg -i input.mp4 -vf 'transpose=3' -metadata:s:v:0 rotate=0

Zusammenfassung: Das Obige ist das Ich hoffe, dass der gesamte Inhalt dieses Artikels für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

phpEin einfaches Beispiel für die Weitergabe des Hinzufügens von Daten zu XML-Dateien

Basierend auf PHP Beispiel für ein Website-Verzeichnis-Scan-Index-Tool

Analyse der PHP-Blockabfrage-Implementierungsmethode

Das obige ist der detaillierte Inhalt vonPHP-Methode zum Abfangen bestimmter Videobilder in Bilder. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn