这篇文章主要介绍了PHP使用ffmpeg给视频增加字幕显示的方法,实例分析了php操作ffmpeg给视频增加字母的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
			本文实例讲述了PHP使用ffmpeg给视频增加字幕显示的方法。分享给大家供大家参考。具体实现方法如下:
			 
			复制代码代码如下:
			
		<?php
		$dir = './'; // set to current folder
		if ($handle = opendir($dir)) {
		 while(false!== ($file = readdir($handle))) {
		 if ( is_file($dir.$file) ){
		 if (preg_match("'/.(avi)$'", $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('input.avi', 'input.srt', 'output.jpg', 'output.ogm');
		// 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 = 'ffmpeg -v 0 -y -i '.$in.' -vframes 1 -ss 250 -vcodec mjpeg -f rawvideo -s 286x160 -aspect 16:9 '.$out_thumb;
		 $res = shell_exec($cmd);
		 // $res is the output of the command
		 // transcode video
		$cmd = 'mencoder '.$in.' -o '.$out_vid.' -sub '.$in_sub.' -subfont-text-scale 3.0 -subpos 99 -af volume=10 -aspect 16:9 -of avi -noodml -ovc x264 -x264encop$
		 $res = shell_exec($cmd);
		}
		?>
			 
			希望本文所述对大家的php程序设计有所帮助。