현재 위치: > 최신 기사 목록> PHP 비디오 편집 기능에 대한 자세한 설명 : FFMPEG를 사용하여 비디오 편집 방법

PHP 비디오 편집 기능에 대한 자세한 설명 : FFMPEG를 사용하여 비디오 편집 방법

gitbox 2025-06-14

1.1. FFMPEG 소개

1.2. PHP 비디오 처리 기능

PHP는 여러 기능을 통해 비디오를 처리하고 다음은 몇 가지 공통 기능을 나열합니다.

1.2.1. ffmpeg_open ()

ffmpeg_open ()은 비디오 파일을 열고 비디오 핸들을 반환하는 데 사용됩니다. 사용법의 예는 다음과 같습니다.

 
$ffmpeg = ffmpeg_open('video.mp4');
    

1.2.2. ffmpeg_seek ()

ffmpeg_seek () 함수는 비디오 파일의 지정된 위치를 찾는 데 사용됩니다. 예를 들어, 비디오의 재생 포인터를 30 초로 찾으십시오.

 
ffmpeg_seek($ffmpeg, 30); // 비디오 포인터를 이동하십시오30두번째
    

1.2.3. ffmpeg_frame_to_png ()

FFMPEG_FRAME_TO_PNG () 함수는 비디오의 특정 프레임을 PNG 이미지 파일로 저장하는 데 사용됩니다. 샘플 코드는 다음과 같습니다.

 
ffmpeg_frame_to_png($ffmpeg, 'output.png');
    

2. 응용 프로그램 예 : 비디오 대 GIF 애니메이션

PHP를 사용하여 비디오를 GIF 애니메이션으로 트랜스 코딩합니다. 먼저 PHP의 FFPHP 확장을 설치하고 다음 명령을 사용하여 설치해야합니다.

 
sudo pecl install ffphp
    

설치가 완료되면 비디오를 GIF 애니메이션으로 변환하는 완전한 코드는 다음과 같습니다.

 
$ffmpeg = ffmpeg_open('video.mp4');
$frames = 30; // 每두번째生成30액자
$width = 240;  // GIF그림 너비
$height = 180; // GIF그림 높이

$gif = new GifEncoder();

for ($i = 0; $i < $frames; $i++) {
    ffmpeg_seek($ffmpeg, $i * 1 / $frames * $duration); // 计算每一액자对应的时间点
    $tmp_file = tempnam(sys_get_temp_dir(), 'movie_frame');
    ffmpeg_frame_to_png($ffmpeg, $tmp_file); // 获取当前액자并保存为PNG체재

    $im = imagecreatefrompng($tmp_file); // 할 것이다PNG변환GD영상
    imagedestroy($im); // 무료 메모리

    $gif->addFrame($im); // 할 것이다当前액자添加到GIF애니메이션에서
    unlink($tmp_file); // 임시 파일을 삭제합니다
}

$gif->finish(); // 마치다GIF파일 생성
    

위의 코드에서는 GifenCoder 클래스를 통해 비디오 프레임을 GIF 애니메이션으로 변환합니다. GIF 인코더의 순수한 PHP 구현 인 GitHub에서 클래스를 다운로드 할 수 있습니다.

3. 결론

PHP는 비디오 처리를위한 강력한 기능을 제공합니다. 내장 된 FFMPEG 기능을 사용하면 비디오 편집, 트랜스 코딩, 이미지 추출 및 기타 작업을 쉽게 구현할 수 있습니다. 이 기사에서는 비디오 파일을 GIF 애니메이션으로 변환하는 방법을 보여줍니다. 이 예제가 도움이되기를 바랍니다. PHP에서 비디오 편집을 더 잘 수행 할 수 있습니다.