PHP使用ffmpeg給視頻增加字幕顯示的方法

字號(hào):


    這篇文章主要介紹了PHP使用ffmpeg給視頻增加字幕顯示的方法,實(shí)例分析了php操作ffmpeg給視頻增加字母的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    本文實(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);
    }
    ?>
    希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。