本文实例讲述了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.\' -v s 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程序设计有所帮助。
继续阅读与本文标签相同的文章
上一篇 :
BHD已在GitHub平台实现代码开源
-
情感计算的核心问题:认知如何计算?
2026-05-14栏目: 教程
-
为什么程序员使用电脑时,很少使用鼠标,只需要键盘就能工作?
2026-05-14栏目: 教程
-
麦肯锡研究报告:《医院已死,医院万岁!——塑造下一代医院的创新》
2026-05-14栏目: 教程
-
5G辐射影响健康?专家都来辟谣了
2026-05-14栏目: 教程
-
不为人知的日本公司:隐藏在中国50多年,它每年带走数百亿人民币
2026-05-14栏目: 教程
