카메라는 다양한 시나리오에서 널리 사용되었습니다. 라이브 방송 및 사진 촬영 외에도 시간 경과 비디오를 녹음하는 것도 매우 흥미로운 목적입니다. 타임 랩스 비디오는 더 낮은 프레임 속도로 연속 사진을 재생함으로써 타임 셀러 된 시각적 효과를 제시 할 수 있습니다. 이 기사에서는 PHP를 사용하여 카메라를 호출하고 타임 랩스 비디오를 기록하고 생성하는 방법을 자세히 소개합니다.
먼저 카메라가 올바르게 연결되고 구성되어 있는지 확인하십시오. Linux Systems에서는 명령 줄 도구를 통해 카메라 장치를 사용할 수 있는지 확인할 수 있습니다. 다음 명령을 사용하여 시스템에서 사용 가능한 카메라를보십시오.
ls -l /dev /video*
"/dev/video0"과 유사한 장치 이름이 출력에 표시되면 카메라가 성공적으로 연결되었음을 의미합니다. 장치를 찾을 수없는 경우 하드웨어 연결을 확인하여 드라이버가 올바르게 설치되어 있는지 확인하십시오.
PHP로 카메라를 호출하기 전에 FFMPEG 및 FSWEBCAM과 같은 필요한 소프트웨어 패키지를 설치해야합니다. 이 도구는 사진을 캡처하고 비디오로 합성하는 데 도움이됩니다. 다음 명령을 사용하여 설치할 수 있습니다.
sudo apt-get 설치 ffmpeg fswebcam
다음으로 PHP 코드를 작성하여 카메라를 호출하고 타임 랩스 비디오를 녹음합니다. PHP는 Shell_Exec 함수를 통해 명령 줄 작업을 수행하고 사진을 찍고 동영상을 합성합니다. 간단한 코드 예는 다음과 같습니다.
<?php // 시간 간격을 설정하고 총 프레임 수를 기록하십시오. $interval = 1; // 그 밖의 모든1몇 초 만에 사진을 찍으십시오 $total_frames = 60; // 총 슈팅60사진 // 사진을 저장하는 디렉토리를 정의하십시오 $photos_dir = '/path/to/photos'; // 실제 경로로 교체하십시오 // 사진을 저장하기위한 디렉토리를 만듭니다 if (!is_dir($photos_dir)) { mkdir($photos_dir, 0755, true); } // 루프로 사진을 찍습니다 for ($i = 1; $i <= $total_frames; $i++) { $photo_file = $photos_dir . '/photo' . $i . '.jpg'; // 이미지 파일 이름 $command = 'fswebcam -r 640x480 --no-banner ' . $photo_file; // 사진을 찍으려면 카메라에 전화하십시오 shell_exec($command); sleep($interval); // 지정된 시간 간격을 기다립니다 } // 사진을 시간으로 합성하십시오-lapse동영상 $video_file = '/path/to/video.mp4'; // 실제 경로로 교체하십시오 $command = 'ffmpeg -framerate 24 -pattern_type glob -i "' . $photos_dir . '/*.jpg" -c:v libx264 -pix_fmt yuv420p ' . $video_file; shell_exec($command); // 찍은 사진을 삭제하십시오 array_map('unlink', glob($photos_dir . '/*.jpg')); rmdir($photos_dir); ?>
위의 코드에서는 촬영 간격 및 총 프레임 카운트가 먼저 설정됩니다. 그런 다음 FSWEBCAM 명령을 사용하여 사진을 찍고 지정된 폴더에 저장하십시오. 촬영이 완료되면 FFMPEG 명령을 사용하여 사진을 타임 랩스 비디오로 합성하여 지정된 위치에 저장하십시오. 마지막으로, 우리는 임시 생성 된 사진을 정리했습니다.
위의 코드를 PHP 파일로 저장하고 경로를 실제 경로로 바꾸십시오. 그런 다음 브라우저 또는 명령 줄을 통해 PHP 파일을 실행하여 시간 랩스 비디오를 촬영하십시오.
PHP를 통해 타임 랩스 비디오를 녹음하기 위해 카메라를 호출하는 것은 일몰, 구름 또는 식물 성장과 같은 일련의 느리게 변화하는 장면을 쉽게 기록하는 매우 간단하고 효율적인 방법입니다. 이 튜토리얼 이이 기능을 구현하는 데 도움이되기를 바랍니다. 문제가 발생하면 언제든지 관련 정보를 확인하거나 기술 포럼에서 도움을 요청할 수 있습니다.