Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour ajouter des sous-titres aux vidéos en utilisant ffmpeg

Comment utiliser PHP pour ajouter des sous-titres aux vidéos en utilisant ffmpeg

墨辰丷
墨辰丷original
2018-06-12 16:31:562229parcourir

Cet article présente principalement la méthode d'utilisation de PHP pour ajouter des sous-titres aux vidéos à l'aide de ffmpeg. Il analyse les techniques d'utilisation de PHP pour ajouter des sous-titres aux vidéos à l'aide de ffmpeg. Il a une certaine valeur de référence. 🎜>

L'exemple de cet article décrit comment utiliser ffmpeg pour ajouter des sous-titres aux vidéos en PHP. La méthode de mise en œuvre spécifique est la suivante :

Le code est le suivant :

<?php
$dir = &#39;./&#39;; // set to current folder
if ($handle = opendir($dir)) {
 while(false!== ($file = readdir($handle))) {
 if ( is_file($dir.$file) ){
 if (preg_match("&#39;\.(avi)$&#39;", $file) ){
 $sub_file = str_ireplace(".avi", ".srt", $dir.$file);
 $idx_file = str_ireplace(".avi", ".idx", $dir.$file);
 $thumb_file = str_ireplace(".avi", ".jpg", $dir.$file);
 $out_file = str_ireplace(".avi", ".mp4", $dir.$file);
 flv_convert_get_thumb($dir.$file, $sub_file, $idx_file, $thumb_file, $out_file);
 }
 else{
 continue;
 }
 }
 }
 closedir($handle);
}
//flv_convert_get_thumb(&#39;input.avi&#39;, &#39;input.srt&#39;, &#39;output.jpg&#39;, &#39;output.ogm&#39;);
// code provided and updated by steve of phpsnaps ! thanks
// accepts:
// 1: the input video file
// 2: path to thumb jpg
// 3: path to transcoded mpeg?
function flv_convert_get_thumb($in, $in_sub, $in_idx, $out_thumb, $out_vid){
 // get thumbnail
 $cmd = &#39;ffmpeg -v 0 -y -i &#39;.$in.&#39; -vframes 1 -ss 250 -vcodec mjpeg -f rawvideo -s 286x160 -aspect 16:9 &#39;.$out_thumb;
 $res = shell_exec($cmd);
 // $res is the output of the command
 // transcode video
$cmd = &#39;mencoder &#39;.$in.&#39; -o &#39;.$out_vid.&#39; -sub &#39;.$in_sub.&#39; -subfont-text-scale 3.0 -subpos 99 -af volume=10 -aspect 16:9 -of avi -noodml -ovc x264 -x264encop$
 $res = shell_exec($cmd);
}
?>

Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l’apprentissage de chacun.

Recommandations associées :

PHP implémente la fonction de capture pour les albums en ligne avec des paramètres anti-hotlinking

PHP implémente le filigrane d'image basé sur la couleur Fonction d'ajout dynamique de l'environnement

PHP se connecte à l'effet Baidu via l'appel Ajax pour réaliser la fonction de détection si le site Web est connecté à Internet

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn