PHP 에서 amr 오디 오 파일 을 mp3 형식 으로 변환 하 는 작업 세부 사항
1.서버 설치 ffmpeg
2.ffmpeg-i 명령 을 사용 하여 amr 를 mp3 형식 으로 변환 합 니 다(이것 은 그때 PHP 코드 에 쓰 고 exec 함수 로 실행 하면 됩 니 다)
3.웹 페이지 에서 HTML 5 의 audio 탭 을 사용 하여 mp3 파일 을 재생 합 니 다.
다음은 조작 세부 사항:
1.서버 설치 ffmpeg 는 centos 를 예 로 들 면
참고:http://my.oschina.NET/ethan09/blog/372435
특히 주의해 야 할 것 은 다음 방법 에서 amrnb 와 amrwb 의 설치 가 make 부분 에 있 으 면 3gp 의 웹 주 소 를 요청 합 니 다.일반적으로 요청 할 수 없습니다.crtl+c 로 프로 세 스 를 취소 할 수 있 고 이 두 개 는 필요 하지 않 아 도 형식 을 바 꿀 수 있 습 니 다.
리 눅 스 환경 에서 amr 를 mp3 로 변환 해 야 한 다 는 요 구 를 받 았 습 니 다.windows 에서 제3자 jar 패키지 로 포 장 된 exe 방법 을 직접 사용 하면 되 지만 리 눅 스 는 지원 되 지 않 습 니 다.인터넷 에 접속 한 자 료 는 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
3.사용법
ffmpeg -i 1.mp3 -ac 1 -ar 8000 1.amr #MP3 AMR
ffmpeg -i 1.amr 1.mp3 #AMR MP3
부록:부록 1.ffmpeg 기본 설치 디 렉 터 리 는"/usr/local/lib"이 고,일부 64 비트 시스템 에서 소프트웨어 디 렉 터 리 는"/usr/lib 64"이 며,컴 파일 과정 에서 나타 날 수 있 습 니 다.
"ffmpeg:error while loading shared libraries:libmp3Lame.so.0:cannot open shared object file:No such file or directory"와 같은 오류 가 발생 했 습 니 다.해결 방법 은 소프트 링크 를 만 드 는 것 입 니 다.
# ln -s /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0
부록 2.다음 과 같은 알림 이 나타 나 면:ffmpeg:error while loading shared libraries:libavdevice.so.54:shared object file 을 열 수 없습니다.
다음 과 같은 방식 으로 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 에 서 는 많은 codec 가 처음부터 개발 되 었 다.그 공식 사이트 주 소 는 다음 과 같다.http://www.ffmpeg.org
마지막 으로 일부 내용 참조http://linux.it .Net .cn/e/Linuxit/2014/0828/3980.html
2.ffmpeg 명령 사용
첫 번 째 단 계 를 마 친 후,ffmpeg-help 를 사용 하여 올 바른 설치 여 부 를 볼 수 있 습 니 다.없 으 면 make install 을 잊 었 는 지 확인 하 십시오.
변환 명령 을 사용 하 는 것 은 ffmpeg-i 1.amr 2.mp3 입 니 다.
1.amr 를 2.mp3 로 변환 합 니 다.
3.phop 를 사용 하여 Liux 명령 ffmpeg 을 실행 합 니 다.
파일 에 대한 변환 은 당연히 자신 이 끊임없이 서버 에 가서 Liux 명령 을 실행 할 수 없 기 때문에 우 리 는 phop 으로 Liux 명령 을 실행 하 는 방법 으로 amr 파일 을 처리 합 니 다.
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);
}
코드 를 자세히 보 세 요.제 쪽 은/usr/local/bin/ffmpeg 으로 실 행 됩 니 다.phop 을 사용 하여 ffmpeg 명령 을 직접 실행 할 수 없 기 때 문 입 니 다.명령 이 이 디 렉 터 리 에 없 으 면 locate 나 find 를 사용 하여 ffmpeg 이 있 는 디 렉 터 리 를 찾 을 수 있 습 니 다.PHP 가 amr 오디 오 파일 을 mp3 형식 으로 변환 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 phop amr 파일 변환 mp3 형식 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.