ホームページ  >  記事  >  バックエンド開発  >  PHP は ffmpeg を使用してビデオにテキスト字幕を追加します

PHP は ffmpeg を使用してビデオにテキスト字幕を追加します

墨辰丷
墨辰丷オリジナル
2018-06-02 10:24:082663ブラウズ

この記事では主に、ffmpegを使用してPHPを使用してビデオに文字を追加する方法を紹介します。必要な友人は参考にしてください。

詳細は以下の通りです:

<?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); 
} 
?>

概要: 以上がこの記事の全内容です、皆様の学習に少しでもお役に立てれば幸いです。

関連する推奨事項:

PHP7でオペコードを有効にして強力なパフォーマンスを生み出す方法の詳細な説明

PHPの簡単な文字列フィルタリング方法の例の共有

phpエラーログの簡単な設定方法

以上がPHP は ffmpeg を使用してビデオにテキスト字幕を追加しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。