현대 웹사이트에서는 온라인으로 비디오를 재생하는 것이 일반적인 기능이 되었습니다. 본 글에서는 PHP와 FFmpeg를 활용하여 영화나 비디오를 온라인으로 재생할 수 있는 기본 시스템을 구현하는 방법을 소개하며, 환경 구성부터 비디오 플레이어 임베딩까지 전 과정을 다룬다.
먼저 비디오 처리 및 스트리밍 미디어 변환을 위해 PHP-FFmpeg 라이브러리를 설치해야 합니다. 이 라이브러리는 FFmpeg 도구를 기반으로 하며 형식 변환, 비디오 편집, 스크린샷 및 스트리밍 미디어 출력과 같은 작업을 지원합니다. Composer를 통해 설치할 수 있습니다.
composer require php-ffmpeg/php-ffmpeg
다음으로 재생해야 하는 비디오 소스를 정의합니다. 비디오 소스는 서버의 로컬 파일 경로이거나 원격 비디오의 URL일 수 있습니다.
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open('path/to/video.mp4');
비디오 스트림은 재생 출력, 해상도 조정 등을 제어하는 데 사용됩니다. 다음 코드를 사용하여 비디오 스트림을 설정하고 동기적으로 출력할 수 있습니다.
$stream = $video->filters()
->resize(new FFMpeg\Coordinate\Dimension(640, 480))
->synchronize();
스트림을 생성한 후에는 비디오를 지정된 경로로 출력하거나 브라우저에 직접 푸시해야 합니다. 다음 예에서는 webm 형식 파일을 생성하는 방법을 보여줍니다.
$stream->save('path/to/output.mp4', array(
'webm' => true,
'format' => 'webm',
'audioCodec' => 'libvorbis',
'videoCodec' => 'libvpx'
));
마지막으로 웹페이지에서 HTML5를 사용합니다. 태그를 사용하면 온라인 재생이 가능합니다. 새로 생성된 비디오 파일을 가리키도록 src 속성을 설정하기만 하면 됩니다.
<video width="640" height="480" controls>
<source src="path/to/output.mp4" type="video/webm">
</video>
위의 단계를 통해 PHP에서 온라인 비디오 재생의 핵심 기능을 완성했습니다. 비디오 소스 생성부터 플레이어 삽입까지 전체 프로세스가 유연하고 확장 가능합니다. 트랜스코딩, 해상도 선택, 비디오 커버 및 기타 기능을 추가하여 재생 경험을 향상시킬 수 있습니다.