Home >Backend Development >PHP Tutorial >PHP uses ffmpeg to add text subtitles to videos, _PHP tutorial
This article mainly introduces how PHP uses ffmpeg to add subtitles to videos. An example analysis of how PHP operates ffmpeg to add video to videos. The technique of adding letters has certain reference value. Friends in need can refer to it.
The example in this article describes how to use ffmpeg to add subtitles to videos in PHP. Share it with everyone for your reference. The specific implementation method is as follows:
<?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); } ?>
I hope this article will be helpful to everyone’s PHP programming design.
Original address: http://www.manongjc.com/article/839.html
Related reading:
php source code uses FFMPEG to obtain video thumbnails and total video duration
php captures a picture from the video
php ffmpeg intercepts the specified frame of the video into a picture