>  기사  >  백엔드 개발  >  PHP 및 FFMPEG를 사용하여 오디오 및 비디오를 처리하고 트랜스코딩하는 방법

PHP 및 FFMPEG를 사용하여 오디오 및 비디오를 처리하고 트랜스코딩하는 방법

WBOY
WBOY원래의
2023-06-25 16:46:401733검색

오디오 및 비디오 미디어의 급속한 발전과 함께 우리는 생활과 업무에서 다양한 형식의 오디오 및 비디오 파일에 점점 더 많이 노출되고 있습니다. 그러나 다양한 장치, 다양한 경우 및 다양한 요구 사항에 따라 다양한 인코딩 형식의 오디오 및 비디오 파일이 필요할 수 있습니다. 따라서 오디오 및 비디오 파일의 트랜스코딩은 필수 요구 사항이 되었습니다. 이 기사에서는 PHP와 FFMPEG(오픈 소스 오디오 및 비디오 코덱)를 사용하여 오디오 및 비디오를 처리하고 트랜스코딩하는 방법을 소개합니다.

  1. FFMPEG 설치

먼저 서버에 FFMPEG를 설치해야 합니다. 설치 과정은 비교적 지루하지만 주요 단계는 다음과 같습니다.

1.1 종속성 설치

먼저 FFMPEG가 의존하는 라이브러리를 설치해야 합니다. Ubuntu 시스템에서는 다음 명령을 사용하여 설치할 수 있습니다.

sudo apt-get update
sudo apt-get install autoconf automake build-essential libass-dev libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev

1.2 FFMPEG 다운로드

그런 다음 FFMPEG 소스 코드를 다운로드해야 합니다. 공식 웹사이트(https://www.ffmpeg)에서 최신 버전을 다운로드할 수 있습니다. .org) 또는 다음 명령을 사용하십시오. 다운로드:

wget https://www.ffmpeg.org/releases/ffmpeg-4.4.tar.gz
tar xvf ffmpeg-4.4.tar.gz

1.3 FFMPEG 컴파일 및 설치

다음으로 FFMPEG를 컴파일하고 설치해야 합니다.

cd ffmpeg-4.4
./configure --enable-shared --disable-static --enable-gpl --enable-libfreetype --enable-libvorbis --enable-libx264 --enable-libx265 --enable-nonfree
make -j8
sudo make install

컴파일 및 설치가 완료된 후, 서버에서 FFMPEG를 사용할 수 있습니다.

  1. PHP를 사용하여 오디오 및 비디오 처리를 위해 FFMPEG 호출

FFMPEG 설치 프로세스를 이해한 후에는 PHP를 사용하여 FFMPEG를 호출하여 오디오 및 비디오 파일을 트랜스코딩하고 처리하는 방법을 고려할 수 있습니다.

2.1 exec 함수를 사용하여 FFMPEG 호출

PHP는 시스템 명령줄에서 명령을 실행하는 데 사용할 수 있는 exec 함수를 제공합니다. 따라서 PHP의 exec 함수를 사용하여 오디오 및 비디오 처리를 위해 FFMPEG를 호출할 수 있습니다. 예를 들어, 다음 코드는 mp4 형식의 비디오 파일을 avi 형식으로 변환할 수 있습니다:

$cmd = "ffmpeg -i input.mp4 output.avi";
exec($cmd);

2.2 PHP 확장을 사용하여 FFMPEG 캡슐화

FFMPEG는 exec 함수를 사용하여 편리하게 호출할 수 있지만 분명한 보안 위험이 있으며 모든 명령은 구현되므로 사용하지 않는 것이 좋습니다. 이를 위해 PHP 확장을 사용하여 FFMPEG API를 캡슐화하여 FFMPEG를 보다 편리하게 호출할 수 있습니다. PHP에는 FFMPEG를 캡슐화하는 데 사용할 수 있는 두 가지 주요 확장이 있습니다: FFMPEG 확장(http://ffmpeg-php.sourceforge.net) 및 PHP-FFMpeg(https://github.com/PHP-FFMpeg/PHP- FFMpeg).

2.2.1 FFMPEG 확장 사용

FFMPEG 확장은 PECL 도구를 통해 설치할 수 있으며 다음 명령을 사용하여 설치할 수 있습니다:

sudo pecl install ffmpeg

설치가 완료된 후 확장을 php.ini 파일에 추가해야 합니다.

extension=ffmpeg.so

FFMPEG 확장을 사용하면 오디오 및 비디오 처리를 위해 FFMPEG API를 쉽게 호출할 수 있습니다. 예를 들어 다음 코드는 mp4 형식의 비디오 파일을 avi 형식으로 변환할 수 있습니다.

$movie = new ffmpeg_movie("input.mp4");
$cmd = "ffmpeg -i input.mp4 output.avi";
exec($cmd);

2.2.2 PHP-FFMpeg 확장 사용

PHP-FFMpeg는 오디오 처리를 위한 통합 API를 제공하는 FFMPEG 기반의 PHP 확장입니다. . 다음 명령을 사용하여 설치할 수 있습니다.

composer require php-ffmpeg/php-ffmpeg

설치가 완료된 후 다음 코드를 사용하여 오디오 및 비디오를 처리할 수 있습니다.

$ffmpeg = FFMpegFFMpeg::create();
$video = $ffmpeg->open('video.mp4');
$format = new FFMpegFormatVideoWMV();
$format->setAudioCodec("wmav2")
       ->setVideoCodec("wmv2");
$video->save($format, 'video.wmv');
  1. Conclusion

이 기사에서는 PHP 및 FFMPEG를 사용하여 오디오 및 비디오를 처리하는 방법을 소개합니다. 오디오 및 비디오를 트랜스코딩합니다. 실제 개발에서는 특정 요구 사항에 따라 오디오 및 비디오 처리와 트랜스코딩에 적합한 방법을 선택해야 합니다.

위 내용은 PHP 및 FFMPEG를 사용하여 오디오 및 비디오를 처리하고 트랜스코딩하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.