2017-02-25 154 views
0

以下代碼輸出不同的文件。爲什麼?ffmpeg輸出文件不同

我同時使用了diff命令和cmp,這兩個命令說明它們在字節15處開始有所不同。我還嘗試將參數從從'ogg'更改爲'mp3'。相同的結果。

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格式複用器寫入唯一的序列號或ID標籤。添加-flags +bitexact將其設置爲零。

+0

哦好吧,所以ffmpeg只是爲每個output()調用重新執行算法。 我試着在'toFormat()'之前添加'inputOptions('-flags + bitexact')',但是這些文件仍然不同。你的解釋仍然是有道理的。 – Kacy

+0

我不知道node.js語法,但它是一個輸出選項,而不是輸入。 – Mulvya

+1

如果您想對它進行一次編碼並保存在多個文件中,則必須使用三通muxer。 – Mulvya