PHP使用ffmpeg给视频增加字幕显示的方法

 这篇文章主要介绍了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程序设计有所帮助。

时间: 2024-10-12 23:57:45

PHP使用ffmpeg给视频增加字幕显示的方法的相关文章

PHP使用ffmpeg给视频增加字幕显示的方法_php技巧

本文实例讲述了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)$'",

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

这篇文章主要介绍了PHP使用ffmpeg给视频增加字幕显示的方法,实例分析了php操作ffmpeg给视频增加字母的技巧,具有一定参考借鉴价值,需要的朋友可以参考下. 本文实例讲述了PHP使用ffmpeg给视频增加字幕显示的方法.分享给大家供大家参考.具体实现方法如下: <?php $dir = './'; // set to current folder if ($handle = opendir($dir)) { while(false!== ($file = readdir($handle)

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

这篇文章主要介绍了PHP使用ffmpeg给视频增加字幕显示的方法,实例分析了php操作ffmpeg给视频增加字母的技巧,具有一定参考借鉴价值,需要的朋友可以参考下. 本文实例讲述了PHP使用ffmpeg给视频增加字幕显示的方法.分享给大家供大家参考.具体实现方法如下: <?php $dir = './'; // set to current folder if ($handle = opendir($dir)) { while(false!== ($file = readdir($handle)

php使用ffmpeg获取视频信息并截图的实现方法_php技巧

本文实例讲述了php使用ffmpeg获取视频信息并截图的方法.分享给大家供大家参考,具体如下: $movie = new ffmpeg_movie('4.mp4'); $width=$movie->getFrameWidth(); $height=$movie->getFrameHeight(); $count= $movie->getFrameCount(); print $count . ''; $n = round ( $count/16 ); print $n . ''; for

暴风影音播放自带字幕的视频却无法显示字幕的解决办法

  暴风影音播放自带字幕的视频却无法显示字幕的解决办法          1.打开设备管理器(可以通过右击计算机--属性--设备管理器来打开); 2.可以根据显卡配置到官网升级显卡驱动(最稳妥方法),或者通过驱动精灵等软件进行检测,再升级显卡驱即可.

C#的网页中显示ffmpeg转换视频的进度条

问题描述 C#的网页中显示ffmpeg转换视频的进度条 公司的网站中使用了red视频服务器,后台调用ffmpeg做视频转换,现在想在转换的网页中加一个进度条,搜了很多资料都是winform的进度条.请问有人遇到过这个问题么? 该怎么做.我现在已经在后台代码中取到转换的百分比了,怎么在网页中时时展示呢? 求高人指点.

用FFMPEG SDK进行视频转码压缩时解决音视频不同步问题的方法

用FFMPEG SDK进行视频转码压缩的时候,转码成功后去看视频的内容,发现音视频是不同步的.这个的确是一个恼火的事情.我在用FFMPEG SDK做h264格式的FLV文件编码Filter的时候就碰到了这个问题.         经过研究发现,FFMPEG SDK写入视频的时候有两个地方用来控制写入的时间戳,一个是AvPacket, 一个是AvFrame. 在调用avcodec_encode_video的时候需要传入AvFrame的对象指针,也就是传入一帧未压缩的视频进行压缩处理,AvFrame

如何为PPT视频配字幕

  为PPT视频配字幕,可以借助STAMP for PowerPoint这款插件来实现.因为微信不支持外链,为方便大家下载,需要这款插件的朋友,请先关注"办公便签",然后发送消息"STAMP",即可得到具体下载地址了. 第1步:这款STAMP插件支持PowerPoint 2010及以上版本.下载插件后解压,运行其中的安装文件安装即可. 图1 STAMP安装向导 第2步:在PowerPoint中插入视频,将会自动弹出STAMP字幕编辑界面(还有可能弹出视频格式不匹配的

ffmpeg压缩视频文件CPU占用率大

问题描述 ffmpeg压缩视频文件CPU占用率大 ffmpeg压缩视频流(windows下)总是使得CPU达到90%以上,请问有什么别的方法来压缩? 解决方案 压缩视频本身就是非常耗费cpu的工作,你可以改小输出的图像质量减少运算量,或者增加计算机上的cpu的性能,比如使用更强的,有更多内核数的cpu. 对于服务器,可以将压缩任务用队列存起来,放在低峰时段压缩. 解决方案二: 如果是大型网站的话,后台调用ffmpeg压缩视频是不可取的,本人亲自尝试过.一个请求调用ffmpeg,后面的请求就要排队