最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

NodeJS視頻轉(zhuǎn)碼實現(xiàn)方法

來源:懂視網(wǎng) 責編:小OO 時間:2020-11-27 20:05:36
文檔

NodeJS視頻轉(zhuǎn)碼實現(xiàn)方法

視頻轉(zhuǎn)碼就是一個先解碼,再編碼的過程,從而將原來的視頻轉(zhuǎn)換成我們需要的視頻。這種轉(zhuǎn)換可能包括各式(mp4/avi/flv等)、分辨率、碼率、幀率等。傳統(tǒng)的視頻轉(zhuǎn)碼中,很常用的工具是FFmpeg。FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序。在nodejs中,也有FFmpeg,叫做node-fluent-ffmpeg。node-fluent-ffmpeg是一個node上可用的ffmpeg,使用前必須先安裝了ffmpeg。ffmpeg;
推薦度:
導讀視頻轉(zhuǎn)碼就是一個先解碼,再編碼的過程,從而將原來的視頻轉(zhuǎn)換成我們需要的視頻。這種轉(zhuǎn)換可能包括各式(mp4/avi/flv等)、分辨率、碼率、幀率等。傳統(tǒng)的視頻轉(zhuǎn)碼中,很常用的工具是FFmpeg。FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序。在nodejs中,也有FFmpeg,叫做node-fluent-ffmpeg。node-fluent-ffmpeg是一個node上可用的ffmpeg,使用前必須先安裝了ffmpeg。ffmpeg;

本文主要介紹了NodeJS實現(xiàn)視頻轉(zhuǎn)碼的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能幫助到大家。

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

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

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

ffmpeg

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

下面就為大家介紹一下NodeJS實現(xiàn)視頻轉(zhuǎn)碼的方法。

一、安裝FFmpeg(MAC下)

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

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

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

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

node-fluent-ffmpeg其實本質(zhì)上就是通過nodejs在終端中執(zhí)行FFmpeg的命令。node-fluent-ffmpeg的安裝和基本引入和其他npm模塊相同。通過npm安裝后(npm install fluent-ffmpeg),使用require在js文件中引用即可?;臼褂萌缦拢?/p>

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

三、使用實例

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

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

四、node-fluent-ffmpeg可以做什么

node-fluent-ffmpeg可以做ffmpeg能做的任何事情,對視頻進行任何的處理。此外,配合nodejs,node-fluent-ffmpeg還可以做許多其他事情,比如讀取并動態(tài)返回視頻長度、按照需求將視頻轉(zhuǎn)碼成任意格式等。具體的各種方法可以到github上查看,上面有對方法的使用介紹。在使用時只要自取所需就可以很輕松的完成視頻轉(zhuǎn)碼了。

五、視頻轉(zhuǎn)碼的一些要素

上面的各個函數(shù)設(shè)定了視頻的各個屬性,下面簡單為大家介紹一下視頻轉(zhuǎn)碼中比較重要的一些屬性,以及它們對應(yīng)的node-fluent-ffmpeg中的方法。

1.fps:即視頻的幀率,表示1s中畫面刷新多少次。玩游戲的時候都清楚如果fps低的話游戲會很卡,這就是fps的作用。fps在一定范圍內(nèi)越高,則視頻1s刷新的次數(shù)就越高,在人眼中展現(xiàn)的就越流暢。這個屬性對應(yīng)的方法是fps(),傳入想設(shè)定的幀率值即可。

2.分辨率:用于設(shè)定視頻的大小,對應(yīng)的方法是size(),傳入寬度x高度。

3.碼率:在視頻領(lǐng)域中,一般而言碼率指的就是比特率。他表示數(shù)據(jù)傳輸時單位時間傳送的數(shù)據(jù)位數(shù),單位kbps。這個值影響的就是視頻質(zhì)量了,該值越大,視頻的質(zhì)量越高,但與此同時視頻文件的大小就會越大。因此我們在轉(zhuǎn)碼時要合理設(shè)置碼率,保證文件大小不超過限制的情況下質(zhì)量盡可能高。

4.格式:這個就不用多說了,通過format方法可以設(shè)置格式。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

NodeJS視頻轉(zhuǎn)碼實現(xiàn)方法

視頻轉(zhuǎn)碼就是一個先解碼,再編碼的過程,從而將原來的視頻轉(zhuǎn)換成我們需要的視頻。這種轉(zhuǎn)換可能包括各式(mp4/avi/flv等)、分辨率、碼率、幀率等。傳統(tǒng)的視頻轉(zhuǎn)碼中,很常用的工具是FFmpeg。FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機程序。在nodejs中,也有FFmpeg,叫做node-fluent-ffmpeg。node-fluent-ffmpeg是一個node上可用的ffmpeg,使用前必須先安裝了ffmpeg。ffmpeg;
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top