This example describes the way PHP uses FFmpeg to add subtitles to video. Share to everyone for your reference. The implementation methods are as follows:
Copy Code code 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. $out _vid. '-sub '. $in _sub.-subfont-text-scale 3.0-subpos 99-af volume=10-aspect-O F AVI-NOODML-OVC x264-x264encop$
$res = Shell_exec ($cmd);
}
?>
I hope this article will help you with your PHP program design.