2014-07-22 10 views
0

ffmpeg를 사용하고 있지만 php가 아닌 javascript를 사용하고 있습니다. wav 파일을 pcm.the로 변환하려는 경우 pcm.the mp3 또는 wma로 변환하는 것이 좋지만 pcm이 아님 ? 적어도 하나 개의 입력이 여기에 오류가 무엇을 선택해야 함을 말해 것은 내 코드 (단지 명령 줄)입니다 :ffmpeg javacript를 사용하여 wav 오디오 파일을 pcm 오디오 파일로 변환

var arguments = []; 
    arguments.push("-y"); 
    arguments.push("-vn"); 
    arguments.push("-i"); 
    arguments.push(fileName); 

    arguments.push("-b:a"); 
    arguments.push(getBitrate()); 

    switch (getOutFormat()) { 
    case "mp3": 
     arguments.push("-acodec"); 
     arguments.push("libmp3lame"); 
     arguments.push("out.mp3"); 
     break; 
    case "wma": 
     arguments.push("-acodec"); 
     arguments.push("wmav1"); 
     arguments.push("out.asf"); 
     break; 
    case "pcm": 
     //arguments.push("s16le"); 
     arguments.push("-ac"); 
     arguments.push("1"); 
     arguments.push("-f"); 

     //arguments.push("pcm_s16le"); 
     arguments.push("out.pcm"); 
    } 
+0

ffmpeg를 사용하지 않고도 간단한 자바 스크립트 변환을 수행 할 수 있습니다. – lama

답변

0

MP3 및 WMA 파일 형식 (또는 래퍼)이고, PCM은 코덱입니다. ffmpeg는 pcm을 출력 코덱으로 지원하지만 출력 형식으로 pcm을 지원하지 않는다고 생각합니다. 목표는 무엇입니까?

편집 : 지원되는 형식 및 코덱에 대한 추가 정보를 원하시면

$ ffmpeg -formats 

$ ffmpeg -codecs 

을 확인합니다. stackoverflow.com/questions/4854513/can-ffmpeg-convert-audio-to-raw-pcm-if-so-how

의 도움으로 편집 인수 당신 수도있는 원시 PCM 출력을 얻을 :

case "pcm": 
     arguments.push("-f"); 
     arguments.push("s16le"); 
     arguments.push("-acodec"); 
     arguments.push("pcm_s16le"); 
     arguments.push("-ac"); 
     arguments.push("1"); 
     arguments.push("out.pcm"); 

당신이 생산하는 제품은 일반적으로 파일이라고하며 샘플링 주파수, 양자화, 채널 수, endianess를 지정하여 읽을 수 있어야합니다.

+0

'-f' 옵션에 인수가 필요하지 않습니까? 그것은 출력 형식으로되어 있습니다. 여기서는 ffmpeg가 출력 파일 이름을 (알 수없는) 출력 형식으로 해석합니다. – SirDarius

+0

하나 이상의 출력 파일을 지정해야합니다 .still이 error.if를 제공합니다. -f가 출력/out.pcm이 잘못되었습니다. argument.what가 잘못되어 가고 있음을 나타냅니다. – lama

관련 문제