Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 부트스트랩4 세로 중앙 정렬
- 파라미터 & 오류
- 자바스크립트비밀번호검증
- javascript
- mysql root 비밀번호 변경
- svn 충돌 해결 resolve
- group_concat 구분자
- apache mod rewrite
- bootstrap modal
- mysqldump: Got error: 1045
- 비밀번호정규식
- PHP 정규식 예제
- usb efi 시스템 파티션 삭제
- svn 충돌 해결 resolved
- PHP 구글 OTP 인증
- (using password: YES)" when trying to connect
- 우분투 mysql 비밀번호 없이 로그인 될때
- 아파치 웹 서버의 정보 숨기기
- 세로 중앙 정렬
- wkhtmltopdf 실행 오류
- JQuery checkbox 컨트롤
- modsecurity 설치
- 구글 OTP 인증
- PHP 구글 OTP 연동
- html pdf 변환
- php 특정 문자열 취환
- libxrender1
- bootstrap
- 비밀번호검증정규식
- magic bytes
Archives
- Today
- Total
투덜이 개발자
PHP 동영상 파일 총 재생시간 확인 본문
반응형
PHP에서는 동영상 파일의 총 재생 시간을 알기 위해 FFmpeg 라이브러리를 사용할 수 있습니다.
FFmpeg는 멀티미디어 파일의 메타데이터를 읽고, 변환하며, 파일의 정보(예: 재생 시간)를 추출하는 데 유용합니다.
다음은 PHP에서 FFmpeg를 사용하여 동영상의 총 재생 시간을 가져오는 예제입니다.
1. FFmpeg 설치 확인
먼저 서버에 FFmpeg가 설치되어 있어야 합니다. FFmpeg가 설치되어 있지 않다면, Linux의 경우 다음 명령어로 설치할 수 있습니다:
sudo apt update
sudo apt install ffmpeg
2. PHP 코드 작성
이제 FFmpeg를 사용하여 PHP에서 동영상의 총 재생 시간을 가져오는 방법을 살펴보겠습니다.
<?php
function getVideoDuration($filePath) {
// FFmpeg 명령어를 통해 파일의 정보를 가져옵니다.
$command = "ffmpeg -i " . escapeshellarg($filePath) . " 2>&1";
// 명령어 실행 결과를 출력으로 저장합니다.
$output = shell_exec($command);
// "Duration" 문자열을 검색해 재생 시간을 가져옵니다.
if (preg_match("/Duration: (\d+):(\d+):(\d+\.\d+)/", $output, $matches)) {
$hours = (int)$matches[1];
$minutes = (int)$matches[2];
$seconds = (float)$matches[3];
// 총 초(second) 단위로 변환
$durationInSeconds = $hours * 3600 + $minutes * 60 + $seconds;
return $durationInSeconds;
} else {
return false; // 재생 시간을 찾지 못한 경우
}
}
$filePath = 'path/to/your/video.mp4';
$duration = getVideoDuration($filePath);
if ($duration !== false) {
echo "총 재생 시간: " . gmdate("H:i:s", $duration); // HH:MM:SS 형식으로 표시
} else {
echo "재생 시간을 가져올 수 없습니다.";
}
?>
설명
- FFmpeg 명령어 사용: ffmpeg -i [파일경로] 명령어를 통해 동영상 파일의 메타데이터를 가져옵니다. 2>&1는 오류 출력을 포함하여 모든 출력을 캡처합니다.
- 정규 표현식 사용: Duration: HH:MM:SS.mmm 형식으로 표시된 재생 시간을 정규 표현식을 사용하여 추출합니다.
- 초 단위로 변환: HH:MM:SS 형식을 초 단위로 변환하여 반환합니다.
- 시간 표시: PHP의 gmdate 함수를 사용하여 HH:MM:SS 형식으로 재생 시간을 출력합니다.
이 코드를 사용하면 FFmpeg가 설치된 서버에서 PHP를 통해 동영상의 총 재생 시간을 가져올 수 있습니다.
반응형
'Program Language > PHP' 카테고리의 다른 글
PHP 동영상 파일에서 썸네일 추출하는 방법 (0) | 2024.11.11 |
---|---|
PHP를 사용하여 동영상 인코딩을 수행하는 일반적인 방법 (0) | 2024.11.11 |
우분투 php7.4 설치하기 (0) | 2024.10.29 |
우분투 php 버전 변경 (0) | 2024.09.27 |
우분투 composer 설치 (1) | 2024.09.27 |