>백엔드 개발 >PHP 문제 >PHP에서 amr을 mp3로 변환하는 방법

PHP에서 amr을 mp3로 변환하는 방법

藏色散人
藏色散人원래의
2023-02-09 09:36:014508검색

php에서 amr을 mp3로 변환하는 방법: 1. 서버에 ffmpeg를 설치합니다. 2. "ffmpeg -i" 명령을 사용하여 amr을 mp3 형식으로 변환합니다. 3. 웹페이지에서 HTML5 오디오 태그를 사용하여 재생합니다. mp3 파일 .

PHP에서 amr을 mp3로 변환하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, PHP 버전 8.1, DELL G3 컴퓨터

php를 사용하여 amr을 mp3로 변환하는 방법은 무엇입니까?

PHP amr 오디오 파일을 mp3 형식으로 변환

  • 전반적인 아이디어에 대해 이야기해 봅시다

1 서버에 ffmpeg를 설치하세요

2. ffmpeg -i 명령을 사용하여 amr을 mp3 형식으로 변환하세요. (나중에 발생합니다.) PHP 코드로 작성하고 exec 함수를 사용하여 실행합니다.

3. HTML5 오디오 태그를 사용하여 웹 페이지에서 mp3 파일을 재생합니다.

작업 세부 사항은 다음과 같습니다.

1 . cenos를 예로 들어 서버에 ffmpeg를 설치하세요

참조: http://my.oschina.NET/ethan09/blog/372435

다음 방법에서는 amrnb를 설치한다는 점에 유의해야 합니다. amrwb를 make 링크에 추가하면 일반적으로 요청할 수 없습니다. crtl+c를 사용하여 프로세스를 취소할 수 있으며, 이 두 가지가 필요하지 않으면 형식을 변환할 수 있습니다. Linux 환경에서 amr을 mp3로 변환하라는 요청을 받아 Windows에서 직접 첫 번째 것을 사용하십시오. 타사 jar 패키지를 캡슐화하는 exe 방법으로는 충분하지만 온라인에서 크롤링한 후에는 Linux를 지원하지 않는다고 합니다. ffmpeg 및 amr 플러그인을 사용하여 달성했습니다.

1. 먼저 시스템 컴파일 환경을 설치합니다.

yum install -y automake autoconf libtool gcc gcc-c++  #CentOS

2. 필요한 소스 코드 패키지
#yasm:汇编器,新版本的ffmpeg增加了汇编代码

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

tar -xzvf yasm-1.3.0.tar.gz

cd yasm-1.3.0

./configure

make

make install



#lame:Mp3音频解码

wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz

tar -xzvf lame-3.99.5.tar.gz

cd lame-3.99.5

./configure

make

make install



#amr支持

wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz

tar -xzvf opencore-amr-0.1.3.tar.gz

cd opencore-amr-0.1.3

./configure

make

make install



#amrnb支持

wget http://www.penguin.cz/~utx/ftp/amr/amrnb-11.0.0.0.tar.bz2

tar -xjvf amrnb-11.0.0.0.tar.bz2

cd amrnb-11.0.0.0

./configure

make

make install



#amrwb支持

wget http://www.penguin.cz/~utx/ftp/amr/amrwb-11.0.0.0.tar.bz2

tar -xjvf amrwb-11.0.0.0.tar.bz2

cd amrwb-11.0.0.0

./configure

make

make install



#ffmpeg

wget http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2

tar -xjvf ffmpeg-2.5.3.tar.bz2

cd ffmpeg-2.5.3

./configure --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-shared

make

make install



#加载配置

#最后写入config后,终端运行ffmpeg命令,出现success和已安装的扩展,则运行成功。

ldconfig
를 컴파일합니다. use

ffmpeg -i 1.mp3 -ac 1 -ar 8000 1.amr  #MP3转换AMR
ffmpeg -i 1.amr 1.mp3                 #AMR转换MP3

Appendix:
Appendix 1. ffmpeg의 기본 설치 디렉터리는 "/usr/local/lib"이고 일부 64비트 시스템의 소프트웨어 디렉터리는 "/usr/lib64"입니다. 다음과 같은 유사한 오류가 발생합니다. "ffmpeg: 공유 라이브러리를 로드하는 중 오류가 발생했습니다. libmp3lame.so.0: 공유 개체 파일을 열 수 없습니다. 해당 파일이나 디렉터리가 없습니다"가 컴파일 프로세스 중에 발생할 수 있습니다. 해결 방법은 소프트 링크를 설정하는 것입니다.
# ln -s /usr /local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0


부록 2. 다음 프롬프트가 나타나는 경우: ffmpeg: 공유 라이브러리를 로드하는 동안 오류가 발생했습니다: libavdevice. 개체 파일: 해당 파일 또는 디렉터리 없음
다음 방법으로 찾을 수 없는 ffmpeg의 동적 링크 라이브러리를 확인할 수 있습니다.

ldd `which ffmpeg`

        libavdevice.so.54 => not found

        libavfilter.so.3 => not found

        libavformat.so.54 => not found

        libavcodec.so.54 => not found

        libswresample.so.0 => not found

        libswscale.so.2 => not found

        libavutil.so.51 => not found

        libm.so.6 => /lib64/libm.so.6 (0x00002ab7c0eb6000)

        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ab7c100b000)

        libc.so.6 => /lib64/libc.so.6 (0x00002ab7c1125000)

        /lib64/ld-linux-x86-64.so.2 (0x00002ab7c0d9a000)

#如果类似于上面的输出内容,查找以上类库,会发现全部在/usr/local/lib/下

find /usr/local/lib/ | grep -E "libavdevice.so.54|libavfilter.so.3|libavcodec.so.54"

/usr/local/lib/libavfilter.so.3.17.100

/usr/local/lib/libavcodec.so.54.59.100

/usr/local/lib/libavdevice.so.54

/usr/local/lib/libavcodec.so.54

/usr/local/lib/libavfilter.so.3

/usr/local/lib/libavdevice.so.54.2.101



#查看链接库配置文件

more  /etc/ld.so.conf | grep /usr/local/lib

#如果不包含的话,需要编辑此文添加:

vi /etc/ld.so.conf

/usr/local/lib

/usr/local/lib64

#运行配置命令

ldconfig

ffmpeg 정보:


FFmpeg는 오픈 소스 무료 크로스 플랫폼 비디오 및 오디오입니다. 스트리밍 솔루션은 다음과 같습니다. LGPL 또는 GPL에 따라 라이센스가 부여된 무료 소프트웨어(선택한 구성 요소에 따라 다름) 오디오 및 비디오 녹음, 변환 및 스트리밍을 위한 완벽한 솔루션을 제공합니다. 여기에는 매우 진보된 오디오/비디오 코덱 라이브러리인 libavcodec이 포함되어 있습니다. 높은 이식성과 코덱 품질을 보장하기 위해 libavcodec의 많은 코덱이 처음부터 개발되었습니다. 공식 웹사이트는 다음과 같습니다: http://www.ffmpeg.org

마지막으로 내용의 일부는 http://linux.it.Net.cn/e/Linuxit/2014/0828/3980.html

에서 찾을 수 있습니다.

2. ffmpeg 명령 사용

첫 번째 단계를 완료한 후 ffmpeg --help를 사용하여 올바르게 설치되었는지 확인할 수 있습니다. 설치를 잊었는지 확인하세요변환 명령은 ffmpeg -입니다. i 1. amr 2.mp3

은 1.amr을 2.mp3

3으로 변환합니다. php를 사용하여 Linux 명령 ffmpeg

을 실행하면 파일을 변환할 수 없습니다. 그래서 우리는 amr 파일을 처리하기 위해 Linux 명령을 실행하기 위해 php를 사용합니다exec 함수를 사용하여 실행

$amr = './'.$vo['voice'];
$mp3 = $amr.'.mp3';

if(file_exists($mp3) == true){
    // exit('无需转换');
}else{
    $command = "/usr/local/bin/ffmpeg -i $amr $mp3";
    exec($command,$error);
}

코드를 주의 깊게 살펴보세요. 저는 php를 사용하기 때문에 /usr/local/bin/ffmpeg를 사용하여 실행합니다. ffmpeg 명령을 직접 실행할 수 없습니다. 명령이 이 디렉터리에 없으면, 찾기 또는 찾기를 사용하여 ffmpeg가 있는 디렉터리를 찾을 수 있습니다

권장 학습: "

PHP 비디오 튜토리얼

"

위 내용은 PHP에서 amr을 mp3로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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