![](/img/trans.png)
[英]fluent-ffmpeg: how split stereo mp3 to 2 mono file in node.js?
[英]How to check for corrupted webm video using node.js and fluent-ffmpeg?
我想檢查編碼的webm視頻是否有錯誤。 到目前為止,我已經設法使用以下方法捕獲錯誤:
ffmpeg -v error -i ../broken.webm -f null -
輸出:
[matroska,webm @ 0x7fba5400a200] Read error at pos. 110050 (0x1ade2)
我想使用node.js和fluent-ffmpeg實現相同的輸出,但是我不知道使用js包裝器語法傳遞-v error
和-f null -
。
我的幼稚嘗試看起來像這樣:
// ffmpeg -v error -i ../broken.webm -f null -
ffmpeg("../broken.webm")
.on('error', function(err) {
console.error('An error occurred: ',err.message)
})
.save('-f null -')
.on('end', function() {
console.log('done !')
})
但我立即收到一個錯誤: ffmpeg exited with code 1: Unrecognized option '-f null -'.
關於如何使用fluent-ffmpeg從node.js中調用ffmpeg -v error -i ../broken.webm -f null -
任何想法?
您朝着正確的方向前進,但是還有一些其他條目可添加到ffmpeg行中,以處理所需的選項。 如下所示應該可以滿足您的需求:
var ffmpeg = require('fluent-ffmpeg');
var ff = new ffmpeg();
ff.on('start', function(commandLine) {
// on start, you can verify the command line to be used
console.log('The ffmpeg command line is: ' + commandLine);
})
.on('progress', function(data) {
// do something with progress data if you like
})
.on('end', function() {
// do something when complete
})
.on('error', function(err) {
// handle error conditions
if (err) {
console.log('Error transcoding file');
}
})
.addInput('../broken.webm')
.addInputOption('-v error')
.output('outfile')
.outputOptions('-f null -')
.run();
Fluent-ffmpeg將命令行選項分為addInputOption和outputOptions。 如果您有多個輸出選項,則可以將它們作為設置數組傳遞給outputOptions。
請注意,要使用outputOptions,我認為您需要指定一個輸出文件。 如果不需要它,請將其設置為臨時文件,然后在完成時刪除,或者將其輸出到空設備。 在https://github.com/fluent-ffmpeg/node-fluent-ffmpeg上查看fluent-ffmpeg自述頁面。 它詳細介紹了這些選項和其他選項。
盡管可能會有更好的方法來驗證文件,但希望這可以使您使用fluent-ffmpeg。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.