php使用ffmpeg向视频中添加文字字幕的实现方法


Posted in PHP onMay 23, 2016

这篇文章主要介绍了PHP使用ffmpeg给视频增加字幕显示的方法,实例分析了php操作ffmpeg给视频增加字母的技巧,具有一定参考借鉴价值,需要的朋友可以参考下。

本文实例讲述了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使用ffmpeg向视频中添加文字字幕的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
使用PHP模拟HTTP认证
Oct 09 PHP
15种PHP Encoder的比较
Mar 06 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 PHP
php代码收集表单内容并写入文件的代码
Jan 29 PHP
基于PHP对XML的操作详解
Jun 07 PHP
解析php做推送服务端实现ios消息推送
Jul 01 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
php实现的中文分词类完整实例
Feb 06 PHP
yii2中dropDownList实现二级和三级联动写法
Apr 26 PHP
php获取'/'传参的值简单方法
Jul 13 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 PHP
Smarty模板变量调节器用法分析
May 23 #PHP
基于PHP后台的Android新闻浏览客户端
May 23 #PHP
Smarty保留变量用法分析
May 23 #PHP
php parse_str() 函数的定义和用法
May 23 #PHP
Smarty简单生成表单元素的方法示例
May 23 #PHP
深入剖析PHP中printf()函数格式化使用
May 23 #PHP
深入理解php printf() 输出格式化的字符串
May 23 #PHP
You might like
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
如何分别全角和半角以避免乱码
2006/10/09 PHP
从php核心代码分析require和include的区别
2011/01/02 PHP
PHP获取本周第一天和最后一天示例代码
2014/02/24 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
2015/03/25 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
详解vue父子组件间传值(props)
2017/06/29 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
vue2.0 父组件给子组件传递数据的方法
2018/01/15 Javascript
javascript中call()、apply()的区别
2019/03/21 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
Python做文本按行去重的实现方法
2016/10/19 Python
python程序控制NAO机器人行走
2019/04/29 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
小学生检讨书大全
2014/02/06 职场文书
群众路线教育实践活动心得体会
2014/03/07 职场文书
普通话宣传标语
2014/06/26 职场文书
法人授权委托书范本
2014/09/17 职场文书
教师年度个人总结
2015/02/11 职场文书
决心书格式范文
2015/09/23 职场文书
SQL SERVER中的流程控制语句
2022/05/25 SQL Server