This article mainly introduces how to use ffmpeg in PHP to add subtitle display to a video. The example shows how to use ffmpeg in php to add letters to the video, which has some reference value, for more information about how to add subtitles to a video by using ffmpeg in PHP, see the following example. Share it with you for your reference. The specific implementation method is as follows:
The code 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 '. $ out_thumb;
$ Res = shell_exec ($ cmd );
// $ Res is the output of the command
// Transcode video
$ Cmd = 'encoder '. $ in. '-O '. $ out_vid. '-sub '. $ in_sub. '-subfont-text-scale 3.0-subpos 99-af volume = 10-aspect-of avi-noodml-ovc x264-x264encop $
$ Res = shell_exec ($ cmd );
}
?>
I hope this article will help you with php programming.