国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

NodeJS實現視頻轉碼的示例代碼

2024-05-06 15:24:20
字體:
來源:轉載
供稿:網友

視頻轉碼就是一個先解碼,再編碼的過程,從而將原來的視頻轉換成我們需要的視頻。這種轉換可能包括各式(mp4/avi/flv等)、分辨率、碼率、幀率等。

傳統的視頻轉碼中,很常用的工具是FFmpeg。FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,并能將其轉化為流的開源計算機程序。

在nodejs中,也有FFmpeg,叫做node-fluent-ffmpeg。node-fluent-ffmpeg是一個node上可用的ffmpeg,使用前必須先安裝了ffmpeg。

ffmpeg

FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,并能將其轉化為流的開源計算機程序。采用LGPL或GPL許可證。它提供了錄制、轉換以及流化音視頻的完整解決方案。它包含了非常先進的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質量,libavcodec里很多code都是從頭開發的

下面就為大家介紹一下NodeJS實現視頻轉碼的方法。

一、安裝FFmpeg(MAC下)

在MAC下,可以直接使用brew命令進行安裝:brew install ffmpeg。

安裝成功后,我們就可以在命令行進行,利用ffmpeg的命令進行視頻轉碼了。比如將input.avi轉碼成output.ts并設置視頻碼率640kbps,需要執行的命令如下:

ffmpeg -i input.avi -b:v 640k output.ts

二、node-fluent-ffmpeg模塊基本使用方法

node-fluent-ffmpeg其實本質上就是通過nodejs在終端中執行FFmpeg的命令。node-fluent-ffmpeg的安裝和基本引入和其他npm模塊相同。通過npm安裝后(npm install fluent-ffmpeg),使用require在js文件中引用即可。基本使用如下:

var ffmpeg = require(‘fluent-ffmpeg'); var command = new ffmpeg(這里可以傳入視頻文件路徑,或者流); 

這樣就實例化了一個命令行,需要傳入要轉碼的視頻文件,也支持數據流的形式。

三、使用實例

下面是使用node-fluent-ffmpeg進行視頻轉碼的一個實例:

var ffmpeg = require('../index'); var command = ffmpeg('testvideo-5m.mpg')  // set video bitrate  .videoBitrate(1024)  // set aspect ratio  .aspect('16:9')  // set size in percent  .size('50%')  // set fps  .fps(24)  // set audio bitrate  .audioBitrate('128k')  // set audio codec  .audioCodec('libmp3lame')  // set number of audio channels  .audioChannels(2)  // set custom option  .addOption('-vtag', 'DIVX')  // set output format to force  .format('avi')  // setup event handlers  .on('end', function() {   console.log('file has been converted succesfully');  })  .on('error', function(err) {   console.log('an error happened: ' + err.message);  })  // save to file  .save('outtest.avi'); 

node-fluent-ffmpeg可以進行鏈式調用,上面就在實例化后,鏈式設置了一系列的視頻屬性,最后監聽end事件,表示視頻已經轉碼完成。完成后可調用save()方法將視頻文件存儲到相應的目錄。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 石阡县| 蒙自县| 华宁县| 屏山县| 梅河口市| 江北区| 繁昌县| 敦化市| 平湖市| 泸水县| 浙江省| 京山县| 延津县| 阿克陶县| 遂昌县| 东辽县| 当阳市| 边坝县| 富顺县| 会同县| 汨罗市| 乡宁县| 辽阳市| 滦平县| 阿荣旗| 临高县| 彰武县| 惠州市| 绥江县| 林甸县| 平果县| 环江| 六枝特区| 聊城市| 南召县| 渑池县| 敦煌市| 蓬莱市| 交城县| 万年县| 陇南市|