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应用程序来获取Web服务器的状态信息
Oct 09 PHP
使用sockets:从新闻组中获取文章(一)
Oct 09 PHP
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
一个捕获函数输出的函数
Feb 14 PHP
PHP生成网页快照 不用COM不用扩展.
Feb 11 PHP
解析php中如何直接执行SHELL
Jun 28 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
Aug 09 PHP
PHP中把有符号整型转换为无符号整型方法
May 27 PHP
PHP pear安装配置教程
May 14 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
May 30 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
Jun 01 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
1 Tube Radio
2021/03/02 无线电
PHP实现的功能是显示8条基色色带
2006/10/09 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
php实现的生成排列算法示例
2019/07/25 PHP
laravel-admin的图片删除实例
2019/09/30 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
PHP7新增函数
2021/03/09 PHP
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
2015/12/01 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
JS实现颜色动态淡化效果
2017/03/06 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
通过命令行生成vue项目框架的方法
2017/07/12 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
Python实现图片转字符画的示例代码
2017/08/21 Python
通过实例学习Python Excel操作
2020/01/06 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
当文件系统受到破坏时,如何检查和修复系统?
2012/03/09 面试题
测试工程师岗位职责
2013/11/28 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
写给医生的感谢信
2015/01/22 职场文书
千与千寻观后感
2015/06/04 职场文书
Node与Python 双向通信的实现代码
2021/07/16 Javascript