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 相关文章推荐
图形数字验证代码
Oct 09 PHP
奇怪的PHP引用效率问题分析
Mar 23 PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 PHP
ThinkPHP分组下自定义标签库实例
Nov 01 PHP
PHP中的socket_read和socket_recv区别详解
Feb 09 PHP
php简单操作mysql数据库的类
Apr 16 PHP
php从数据库中读取特定的行(实例)
Jun 02 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
PHP实现的超长文本分页显示功能示例
Jun 04 PHP
php实现在线考试系统【附源码】
Sep 18 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 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分页显示制作详细讲解
2008/11/19 PHP
PHP 登录完成后如何跳转上一访问页面
2014/01/14 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
php socket通信简单实现
2016/11/18 PHP
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
JavaScript实现简单的数字倒计时
2015/05/15 Javascript
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
深入理解redux之compose的具体应用
2020/01/12 Javascript
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
Python3多线程操作简单示例
2018/05/22 Python
django ajax json的实例代码
2018/05/29 Python
对python 自定义协议的方法详解
2019/02/13 Python
python实现多线程端口扫描
2019/08/31 Python
python 循环数据赋值实例
2019/12/02 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
提高python代码运行效率的一些建议
2020/09/29 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
学生不讲诚信检讨书
2014/09/29 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers
Python OpenGL基本配置方式
2022/05/20 Python