PHP는 웹 사이트 개발 및 동적 웹 페이지 생성에 일반적으로 사용되는 스크립트 언어입니다. 그러나 Php를 비디오 변환에도 사용할 수 있습니다. 이 기사에서는 PHP를 사용하여 비디오 파일을 MP4 형식으로 변환하는 방법을 알아봅니다.
먼저 몇 가지 개념을 이해해야 합니다. 비디오 파일은 여러 프레임으로 구성되며, 각 프레임은 비디오 샘플링 순간을 나타냅니다. 이러한 프레임은 특정 순서로 압축되어 특수 형식의 파일에 저장됩니다. 비디오 파일 변환에는 주로 이러한 프레임을 디코딩하고 편집한 다음 새로운 형식으로 다시 인코딩하는 프로세스가 포함됩니다.
비디오 변환을 수행하려면 FFmpeg와 FFprobe라는 두 개의 PHP 라이브러리를 사용해야 합니다. FFmpeg는 오디오 및 비디오 처리를 위한 오픈 소스 라이브러리로 비디오 디코딩, 편집 및 인코딩을 위한 다양한 기능을 제공합니다. FFprobe는 비디오 파일을 감지하고 정보를 추출하는 데 사용되는 도구입니다.
이 두 라이브러리를 사용하려면 서버에 설치해야 합니다. 일반적으로 Linux 시스템의 명령줄 인터페이스를 사용해야 합니다.
sudo apt-get install ffmpeg sudo apt-get install ffprobe
설치가 완료된 후 PHP를 사용하여 이 두 라이브러리를 호출하여 비디오 변환 작업을 수행할 수 있습니다. 다음은 비디오 파일을 MP4 형식으로 변환하는 간단한 PHP 스크립트입니다.
<?php $ffmpeg_command = '/usr/bin/ffmpeg'; $ffprobe_command = '/usr/bin/ffprobe'; $input_file = 'input_video.mp4'; $output_file = 'output_video.mp4'; // 获取视频信息 $cmd = "$ffprobe_command -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $input_file"; exec($cmd, $output, $retval); $duration = floor($output[0]); // 转换视频文件 $cmd = "$ffmpeg_command -i $input_file -vcodec h264 -acodec mp3 -shortest -preset fast -strict experimental -t $duration -f mp4 -y $output_file"; exec($cmd, $output, $retval); ?>
이 스크립트가 어떻게 작동하는지 살펴보겠습니다. 먼저 FFmpeg와 FFprobe의 위치를 지정하기 위해 $ffmpeg_command와 $ffprobe_command라는 두 개의 변수를 정의했습니다. 다음으로 입력 및 출력 파일의 이름과 출력 파일(MP4)의 형식을 지정합니다.
다음 단계에서는 FFprobe를 사용하여 입력 비디오 파일의 지속 시간을 가져옵니다. 시스템 명령을 사용하여 FFprobe를 실행하고 -exec() 함수를 통해 명령을 실행하고 출력을 캡처합니다. FFmpeg에서 얻은 지속 시간 값은 $duration 변수에 저장됩니다.
마지막으로 실제 동영상 변환에는 FFmpeg를 사용합니다. 입력 및 출력 파일의 이름을 지정하고 -h264 인코더와 -mp3 오디오 인코더를 사용했습니다. 길이를 비디오 길이로 설정하고 -fast 사전 설정을 사용하여 변환 속도를 높였습니다. 또한 변환 중에 최신 코덱이 사용되도록 -strict 실험 옵션을 지정했습니다.
이렇게 FFmpeg와 FFprobe를 사용하면 비디오 파일을 거의 모든 형식으로 변환하고 다양한 편집 작업을 수행할 수 있습니다. 이는 PHP를 오디오 및 비디오 편집 및 처리 응용 프로그램을 위한 매우 강력한 플랫폼으로 만듭니다.
위 내용은 PHP를 사용하여 비디오 파일을 MP4 형식으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!