2017-02-25 9 views
0

다음 코드는 서로 다른 파일을 출력합니다. 왜?ffmpeg 출력 파일이 다릅니다.

나는 그들이 나 또한 'MP3'에서 'OGG'에서 toFormat()의 인수를 변경하려 바이트 (15)에 다른 시작 말한다 diff 명령 cmp 모두를 사용했다. 같은 결과.

ffmpeg('./original/test.mp3') 
    .toFormat('ogg') 
    .on('error', function(error, stdout, stderr) 
    { 
     console.log('Cannot process file: \n' + error); 
    }) 
    .output('./tmp_a/' + filename) 
    .output('./tmp_b/' + filename) 
    .run(); 

내가 잘못했는지 또는 예상되는 동작인지 알 수 없습니다.

답변

2

OGG 형식 muxer는 고유 한 일련 번호 또는 ID 태그를 씁니다. -flags +bitexact을 추가하여 0으로 설정하십시오.

+0

오케이 그렇기 때문에 ffmpeg는 각 output() 호출에 대한 알고리즘을 다시 실행합니다. 'toFormat()'의 바로 전에'inputOptions ('-flags + bitexact')'를 추가하려고 시도했지만 여전히 파일이 다릅니다. 그래도 당신의 설명은 여전히 ​​의미가 있습니다. – Kacy

+0

node.js 구문을 모르지만 입력이 아닌 출력 옵션입니다. – Mulvya

+1

한 번 인코딩하고 여러 파일에 저장하려면 tee muxer를 사용해야합니다. – Mulvya