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 获取一个月第一天与最后一天的代码
May 16 PHP
php array的学习笔记
May 16 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
Feb 16 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
Jul 01 PHP
php中使用array_filter()函数过滤空数组的实现代码
Aug 19 PHP
IIS下PHP的三种配置方式对比
Nov 20 PHP
fckeditor上传文件按日期存放及重命名方法
May 22 PHP
php通过两层过滤获取留言内容的方法
Jul 11 PHP
Android AsyncTack 异步任务实例详解
Nov 02 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
Jul 12 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
安装APACHE
2007/01/15 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
sina的lightbox效果。
2007/01/09 Javascript
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
javascript下判断一个元素是否存在的代码
2010/03/05 Javascript
javascript算法学习(直接插入排序)
2011/04/12 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
JavaScript中文件上传API详解
2016/04/01 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
python使用锁访问共享变量实例解析
2018/02/08 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
对python中list的五种查找方法说明
2020/07/13 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
Python pip install之SSL异常处理操作
2020/09/03 Python
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
报纸媒体创意广告词
2014/03/17 职场文书
先进学校事迹材料
2014/12/30 职场文书
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js