PHP使用ffmpeg给视频增加字幕显示的方法


Posted in PHP onMarch 12, 2015

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
php的list()的一步操作给一组变量进行赋值的使用
May 18 PHP
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
Mar 27 PHP
php将字符串转换成16进制的方法
Mar 17 PHP
详解PHP中的状态模式编程
Aug 11 PHP
PHP类相关知识点实例总结
Sep 28 PHP
Nginx环境下PHP flush失效的解决方法
Oct 19 PHP
PHP递归获取目录内所有文件的实现方法
Nov 01 PHP
php简单构造json多维数组的方法示例
Jun 08 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
浅谈laravel数据库查询返回的数据形式
Oct 21 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 PHP
PHP实现rar解压读取扩展包小结
Jun 03 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 #PHP
PHP简单获取视频预览图的方法
Mar 12 #PHP
php使用memcoder将视频转成mp4格式的方法
Mar 12 #PHP
PHP实现将视频转成MP4并获取视频预览图的方法
Mar 12 #PHP
PHP实现从远程下载文件的方法
Mar 12 #PHP
PHP判断网络文件是否存在的方法
Mar 12 #PHP
php实现过滤UBB代码的类
Mar 12 #PHP
You might like
第九节 绑定 [9]
2006/10/09 PHP
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
[对联广告] JS脚本类
2006/08/27 Javascript
原型方法的不同写法居然会影响调试的解决方法
2007/03/08 Javascript
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
浅谈node.js中async异步编程
2015/10/22 Javascript
jQueryUI Sortable 应用Demo(分享)
2017/09/07 jQuery
关于vue-router的beforeEach无限循环的问题解决
2017/09/09 Javascript
vue移动UI框架滑动加载数据的方法
2018/03/12 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python base64编码解码实例
2015/06/21 Python
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
Python面向对象类的继承实例详解
2018/06/27 Python
Python3并发写文件与Python对比
2019/11/20 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
How TDD works
2012/09/30 面试题
学习党章思想汇报
2014/01/07 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
golang判断key是否在map中的代码
2021/04/24 Golang
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers