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

5年以前  |  阅读数:1152 次  |  编程语言:PHP 

这篇文章主要介绍了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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
贪吃蛇
文件下载
获取IMEI
双位运算符
发送邮件
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
提取后缀名
年的日历图
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例