이 기사의 예에서는 ffmpeg를 사용하여 PHP에서 동영상에 자막을 추가하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.
$dir = './'; // 현재 폴더로 설정
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);
}
그렇지 않으면{
계속;
}
}
}
closeir($handle);
}
//flv_convert_get_thumb('input.avi', 'input.srt', 'output.jpg', 'output.ogm');
// phpsnaps의 steve가 제공하고 업데이트한 코드입니다. 감사합니다
// 수락:
// 1: 입력 영상 파일
// 2: 엄지손가락 jpg의 경로
// 3: 트랜스코딩된 mpeg의 경로?
함수 flv_convert_get_thumb($in, $in_sub, $in_idx, $out_thumb, $out_vid){
// 썸네일 가져오기
$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는 명령의 출력입니다
// 비디오 트랜스코딩
$cmd = 'mencoder'.$in.' -sub '.$in_sub.' -subfont-text-scale 3.0 -subpos 99 -aspect 16:9 -avi -noodml -ovc x264 -x264encop$
$res = shell_exec($cmd);
}
?>
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.