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 相关文章推荐
AJAX for PHP简单表数据查询实例
Jan 02 PHP
php全局变量和类配合使用深刻理解
Jun 05 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
php rsa加密解密使用详解
Jan 14 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
php判断访问IP的方法
Jun 19 PHP
Smarty环境配置与使用入门教程
May 11 PHP
详解PHP防止盗链防止迅雷下载的方法
Apr 26 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
May 05 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
PHP 爬取网页的主要方法
Jul 13 PHP
用php定义一个数组最简单的方法
Oct 04 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
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
preg_match_all使用心得分享
2014/01/31 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
PHP闭包函数传参及使用外部变量的方法
2016/03/15 PHP
jQuery 名称冲突的解决方法
2011/04/08 Javascript
提高javascript效率 一次判断,而不要次次判断
2012/03/30 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
2013/03/31 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
jquery实现图片按比例缩放示例
2014/07/01 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
vue组件通信传值操作示例
2019/01/08 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Windows下为Python安装Matplotlib模块
2015/11/06 Python
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
Django Rest framework频率原理与限制
2019/07/26 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
三星英国官网:Samsung英国
2018/09/25 全球购物
土木工程毕业生推荐信
2013/10/28 职场文书
市场营销管理制度
2014/01/29 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
生活小常识广播稿
2014/09/16 职场文书
失职检讨书大全
2015/01/26 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书
win10下go mod配置方式
2021/04/25 Golang