php使用ffmpeg向視頻中添加文字字幕的實(shí)現(xiàn)方法

字號:


    這篇文章主要介紹了PHP使用ffmpeg給視頻增加字幕顯示的方法,實(shí)例分析了php操作ffmpeg給視頻增加字母的技巧,具有一定參考借鑒價值,需要的朋友可以參考下。
    本文實(shí)例講述了PHP使用ffmpeg給視頻增加字幕顯示的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
    <?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向視頻中添加文字字幕的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考