日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

七牛云 转码_普通音视频转码(avthumb)

發(fā)布時間:2023/12/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 七牛云 转码_普通音视频转码(avthumb) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

普通音視頻轉(zhuǎn)碼接口方便用戶對音頻、視頻資源進行編碼和格式轉(zhuǎn)換。

接口規(guī)格

注意:接口規(guī)格不含任何空格與換行符,下列內(nèi)容經(jīng)過格式化以便閱讀。

avthumb/

/vcodec/

/avsmart/<0|1>

/smtType/

/smtEnhance/

/smtQuality/

/refine/

/maxrate/

/r/

/hr/

/vb/

/stripmeta/

/crf/

/h264Profile/

/h264Level/

/s/

/aspect/

/autoscale/

/padW/

/padH/

/padVideoX/

/padVideoY/

/gop/

/keyFramePosition/

/rotate/

/flip/

/compressLevel/

/ss/

/t/

/gifHighColor/

/deinterlace/

/wmImage/

/wmGravity/

/wmScale/

/wmScaleType/

/wmConstant/

/wmAlpha/

/wmIgnoreLoop/

/wmText/

/wmGravityText/

/wmFont/

/wmFontColor/

/wmFontSize/

/wmOffsetX/

/wmOffsetY/

/wmPos/

/wmDuration/

/wmShortest/

/mosaic/

/mosaicGravity/

/mosaicOffsetX/

/mosaicOffsetY/

/mosaicSize/

/mosaicStart/

/mosaicDuration/

/stream/

/cut/

/vn/

/sn/

/scodec/

/subtitle/

/stripmeta/

/acodec/

/ab/

/ac/

/ar/

/aq/

/audioProfile/

/volume/

/loudnorm/

/loudnormI/

/loudnormLRA/

/loudnormTP/

/an/

/speex/

/writeXing/<0|1>

/amix/

/amixOffset/

/amixStart/

/amixDuration/

/multiArep/

/multiArepOffset/

/multiArepStart/

/multiArepDuration/

封裝格式

參數(shù)名稱

類別

必填

說明

A/V

Y

封裝格式,具體細節(jié)請參考支持轉(zhuǎn)換的封裝格式。

視頻參數(shù)

參數(shù)名稱

類別

必填

說明

/vcodec/

V

N

視頻編碼格式,具體細節(jié)請參考支持轉(zhuǎn)換的視頻編碼格式。

/avsmart/

V

N

是否啟用視頻瘦身,設(shè)置為 1 時開啟。smtType 1僅支持H.264;smtType 2支持H.264和H.265。默認使用H.264編碼。注意:該參數(shù)會使 vb 失效。使用 avsmart 的計費和 avthumb 有區(qū)別。

/smtType/

V

N

開啟avsmart時生效。視頻瘦身模型,不同的視頻內(nèi)容場景適配不同的的模型,詳情可咨詢客服。整數(shù),取值范圍[1,2],默認值為 1。

/smtQuality/

V

N

開啟avsmart時生效。瘦身時的轉(zhuǎn)碼質(zhì)量等級,值越大,畫質(zhì)越好。smtType 1時,整數(shù),取值范圍[1,5];smtType 2時,整數(shù),取值范圍[-5,5]。

/smtEnhance/

V

N

開啟avsmart時生效。視頻增強開關(guān),僅適用smtType 1。設(shè)置為 "0" 時關(guān)閉,默認開啟。

/refine/

V

N

是否啟用高質(zhì)量轉(zhuǎn)碼,設(shè)置為 1 時開啟。保證在視頻內(nèi)優(yōu)化碼率分配。

/maxrate/

V

N

該參數(shù)必須在使用 /refine/1 時使用,以限制輸出視頻流的峰值碼率。當(dāng)不使用 /vb/ 時,該值不可低于輸入視頻碼率;當(dāng)使用 /vb/ 時,該值不可低于由 /vb/指定的視頻碼率。

/r/

V

N

視頻幀率,每秒顯示的幀數(shù),單位:赫茲(Hz),常用幀率:24,25,30 等。默認等于源視頻幀率,HighFrameRate=0,取值[1,30],超出范圍取25幀;HighFrameRate=1時允許高幀率,取值[1,60],超出范圍取60幀。

/hr/

V

N

視頻高幀率,與FrameRate配合使用,默認為HighFrameRate=0,即常規(guī)幀率;HighFrameRate=1表示保留高幀率。

/vb/

V

N

1、視頻碼率,單位:比特每秒(bit/s),常用視頻碼率:128k,1.25m,5m等。

2、在不改變視頻編碼格式時,若指定碼率大于原視頻碼率,則使用原視頻碼率進行轉(zhuǎn)碼。

3、參數(shù)末尾使用 ! ,可以以強制使用指定碼率轉(zhuǎn)碼, 如 128k!

/crf/

V

N

1、設(shè)置 crf 值,為整數(shù);vcodec 為 libx264 時取值為范圍 [18,28],vcodec 為 libx265 時取值范圍為 [23,33],默認取值為范圍 [18,28];

2、其值越小,輸出視頻質(zhì)量越好,輸出文件可能變大。其不可與 vb 共用

/h264Profile/

V

N

設(shè)置 h264 的 profile等級,支持 baseline、main、high。

/h264Level/

V

N

設(shè)置 h264 的 level 值,合法的值有 3.0、3.1、4.0、4.1、4.2。

/s/

V

N

0、指定目標視頻分辨率,格式為寬 x 高 ,長邊取值范圍[20,3840]的整數(shù),短邊取值范圍[20,2160]的整數(shù)。

1. w、h 都為空時,則和原視頻保持一致。

2. w為空,h不為空,則按h的值對原視頻等比例縮放。

3. w不為空,h為空時,則按w的值對原視頻等比例縮放。

4. w、h都不為空時,則根據(jù)w、h來縮放。

/aspect/

V

N

該參數(shù)為視頻在播放器中顯示的寬高比,格式為:。例如:取值3:4表示視頻在播放器中播放是寬:高=3:4(注:此處取值僅為體現(xiàn)演示效果)。

/autoscale/

V

N

0、配合分辨率參數(shù)使用,0或者不指定會強制縮放到對應(yīng)分辨率,可能造成視頻變形。

1、指定為1時,把視頻按原始比例縮放到分辨率指定的矩形框內(nèi)。

2、指定為2時,把視頻按分辨率中指定的比例添加黑框后,再等比例縮放到分辨率指定到矩形框內(nèi)。

/padW/

V

N

1、用于給視頻添加自定義黑框,不能跟autoscale/2 共用。

2、添加黑框后的視頻的寬,取值范圍[20,3840]且取值大于或等于原視頻寬, 和 padH 同時有效時啟用 pad。

/padH/

V

N

1、用于給視頻添加自定義黑框,不能跟autoscale/2 共用。

2、添加黑框后的視頻高,取值范圍[20,3840]且取值大于或等于原視頻寬, 和 padW 同時有效時啟用 pad。

/padVideoX/

V

N

1、用于給視頻添加自定義黑框,不能跟autoscale/2 共用。

2、當(dāng) padW、padH 有效時生效,添加黑框后的視頻中的橫向偏移, 即原視頻在添加黑框后視頻左上角的 x 坐標, 默認0

/padVideoY/

V

N

1、用于給視頻添加自定義黑框,不能跟autoscale/2 共用。

2、當(dāng) padW、padH 有效時生效,添加黑框后的視頻中的縱向偏移, 即原視頻在添加黑框后視頻左上角的 y 坐標, 默認0

/gop/

V

N

GOP參數(shù),即視頻流關(guān)鍵幀間的間隔幀數(shù),取值[0,3000]的整數(shù),默認為0表示采用指定視頻編碼格式的默認GOP值,例如libx264格式默認GOP值為250。GOP取值過小會影響視頻編碼壓縮率,碼率變大,過大會使圖像群組的時長跨度過大,影響播放隨機性,故一般建議采用默認值。

/keyFramePosition/

V

N

設(shè)置多個關(guān)鍵幀出現(xiàn)的時間點,以.分隔,個數(shù)范圍[1,5],單位:秒,時間范圍[1,10],且時間采用增長趨勢,例如:keyFramePosition/1.3.5.8.10

/rotate/

V

N

指定順時針旋轉(zhuǎn)的度數(shù),可取值為90、180、270、auto,默認為 auto。

/flip/

V

N

視頻翻轉(zhuǎn), 水平翻轉(zhuǎn) horizontal, 垂直翻轉(zhuǎn) vertical

/compressLevel/

V

N

視頻編碼時壓縮的等級,選項為1,1.5,2,4,等級越高壓縮效果越好,更耗CPU。

/ss/

A/V

N

指定音視頻截取的開始時間,單位:秒,支持精確到毫秒,例如3.345s。用于視頻截取,從一段視頻中截取一段視頻。

/t/

A/V

N

指定音視頻截取的長度,單位:秒,支持精確到毫秒,例如1.500s。用于視頻截取,從一段視頻中截取一段視頻。

/gifHighColor/

V

N

輸出為 gif 時,值為 1 表示選擇輸出高畫質(zhì)的 gif 文件,默認值為 0。只支持與以下參數(shù)共用:、、、、。輸出 gif 的幀數(shù)最多為 4500。

/deinterlace/

V

N

是否啟用去交錯功能。

1. 默認值為 1,表示開啟,即將視頻從隔行掃描調(diào)整為逐行掃描。

2. 值為 0 則表示關(guān)閉,即保持原有模式,保留視頻為隔行掃描模式。

3. 不支持將視頻從逐行掃描調(diào)整為隔行掃描。

/mosaic/

V

N

是否啟用馬賽克,固定為 1,且后續(xù)馬賽克參數(shù)必須連續(xù)

/mosaicGravity/

V

N

馬賽克的位置,參考錨點參數(shù)表,默認值為NorthEast(右上角)

/mosaicOffsetX/

V

N

馬賽克位置的相對橫向偏移量 ,正數(shù)則向右偏移,負數(shù)向左偏移,當(dāng)mosaic/1時必填

/mosaicOffsetY/

V

N

馬賽克位置的相對縱向偏移量 ,正數(shù)則向下偏移,負數(shù)向上偏移,當(dāng)mosaic/1時必填

/mosaicSize/

V

N

馬賽克區(qū)域大小,即指定馬賽克的寬和高,例如:100x200, 當(dāng)mosaic/1時必填

/mosaicStart/

V

N

馬賽克起始時間 默認為0 e.g. 12.3

/mosaicDuration/

V

N

馬賽克持續(xù)時間 默認直到片尾 e.g. 21.3

/stream/

A/V

N

從輸入源中選擇要保留的或者要去除的媒體流,假設(shè)輸入源有 n 個流(編號從 0 開始,n > 2),則保留媒體流的合法參數(shù)有 0、(n-1)、0..2、0..0、0,1,2 等,去除媒體流的合法參數(shù)有 -0、-(n-1)、-0..(n-2)、-1..1、-1,2 等,其中形如 a..b 表示保留編號為 [a,b] 流,a,b,c 表示保留編號為 a、b 和 c 的流,-a..b 表示去除編號為 [a,b] 流,-a,b,c 表示去除編號為 a、b 或 c 的流。流的編號可以通過 avinfo 來查看。

/cut/

A/V

N

從輸入源中選擇要去除的時間段。每個要去除的時間段由起止絕對時間表示,單位為 s,精確到 ms。例如,0.5,1.0 表示去除時間范圍為 [0.5,1.0] 上的音視頻; 0.5,1.0;1.5,2.0 表示去除時間范圍為 [0.5,1.0]、[1.5,2.0] 上的音視頻。注意,其中時間范圍不可有重疊,且需按起始點的位置順序組織。參數(shù)值需要經(jīng)過 urlsafe_base64_encode,例如 cut/MC41LDEuMDsxLjUsMi4w 是合法的。

V

N

是否去除視頻流,0為保留,1為去除。

默認值為0。

V

N

是否去除字幕,0為保留,1為去除。默認值為0。

/scodec/

V

N

字幕編碼方案,支持方案:mov_text。該參數(shù)僅用于修改帶字幕視頻的字幕編碼。

/subtitle/

S

N

1、添加字幕,支持 srt 格式字幕(uft-8 編碼和和 utf-8 BOM編碼)、帶有字幕的 mkv 文件、embed(將原視頻的字幕流嵌入目標視頻)。

2、目前支持公網(wǎng)資源,及 kodo 資源。公網(wǎng)資源由 url 表示,kodo 資源可由 kodo:/// 表示(此時 bucketname 需要與輸入源在同一區(qū)域),需要經(jīng)過 urlsafe_base64_encode

/stripmeta/

A/V

N

是否清除文件的metadata,1為清除,0為保留。

視頻水印參數(shù)

參數(shù)名稱

類別

必填

說明

/wmImage/

V

N

圖片水印的源路徑,目前支持公網(wǎng)資源,及 kodo 資源。公網(wǎng)資源由 url 表示,kodo 資源可由 kodo:/// 表示(此時 bucketname 需要與輸入源在同一區(qū)域),均需要經(jīng)過 urlsafe_base64_encode。水印具體介紹見視頻水印。

/wmGravity/

V

N

圖片水印位置。存在/wmImage/時生效。

/wmScale/

V

N

指定圖片水印的短邊、長邊、寬、高與輸入視頻之間的比例,取值為(0,1],存在/wmImage/時生效,默認值時不進行自適應(yīng)縮放水印圖。

/wmScaleType/

V

N

選擇圖片水印自適應(yīng)縮放的方式,取值0、1、2、3分別表示為自適應(yīng)原圖的短邊、長邊、寬、高。存在/wmImage/時生效,默認值為0。

/wmConstant/

V

N

用于設(shè)置圖片水印是否隨源視頻 DAR(display aspect ratio)變化而產(chǎn)生形變。為 0 時,圖片水印會隨源視頻 DAR 變化而產(chǎn)生形變;為 1 時,圖片水印保持原有寬高比。存在/wmImage/時生效,默認值為 0。

/wmIgnoreLoop/

V

N

是否忽略水印gif圖的循環(huán)屬性,可取值 0(使用)`1(忽略)`,默認為1。

/wmText/

V

N

水印文本內(nèi)容,需要經(jīng)過urlsafe_base64_encode。

/wmGravityText/

V

N

文本位置,存在/wmText/時生效,默認 NorthEast。

/wmAlpha/

V

N

文字水印透明度。范圍 (0.0,1.0],越小越透明。默認值為1.0,即不透明。

/wmFont/

V

N

文本字體,需要經(jīng)過urlsafe_base64_encode。存在/wmText/時生效,默認為黑體,注意:中文水印必須指定中文字體。

/wmFontColor/

V

N

水印文字顏色,需要經(jīng)過urlsafe_base64_encode,RGB格式,可以是顏色名稱(例如紅色)或十六進制(例如#FF0000),參考RGB顏色編碼表。存在/wmText/時生效,默認為黑色。

/wmFontSize

V

N

水印文字大小,單位: 緹,等于1/20磅。存在/wmText/時生效,默認值為16 緹。

/wmOffsetX/

V

N

設(shè)置圖片或文字水印位置的相對橫向偏移量,當(dāng)值為正數(shù)時則向右偏移,反之向左。位置里包含West時,默認有+10的固定偏移,位置里包含East時,默認有-10的固定偏移,中間位置則固定偏移為0。

/wmOffsetY/

V

N

設(shè)置圖片或文字水印位置的相對縱向偏移量,當(dāng)值為正數(shù)時則向下偏移,反之向上。位置里包含North時,默認有+10的固定偏移,位置里包含South時,默認有-10的固定偏移,中間位置則固定偏移為0。

/wmPos/

V

N

指定圖片或文字水印顯示的起始時間,單位:秒,不填表示全時長。支持魔法變量$(end)表示視頻結(jié)束時間點,注:需要和wmDuration同時存在。

/wmDuration/

V

N

指定圖片或文字水印顯示的持續(xù)時間,單位:秒,正數(shù)表示時間增長方向,負數(shù)表示時間遞減方向。不填表示全時長。支持魔法變量$(lte)(小于wmPos的區(qū)間)、$(gte)(大于wmPos的區(qū)間)。注:需要和wmPos同時存在。

/wmShortest/

V

N

wmPos在視頻duration內(nèi),在添加wmDuration后超出視頻duration后是否自動調(diào)整wmDuration大小,1 調(diào)整到視頻duration內(nèi),0 不處理, 默認為0。

音頻參數(shù)

參數(shù)名稱

類別

必填

說明

/acodec/

A

N

音頻編碼格式,具體細節(jié)請參考支持轉(zhuǎn)換的音頻編碼格式。

/ab/

A

N

1、音頻碼率,單位:比特每秒(bit/s),常用碼率:64k,128k,192k,256k,320k等。

2、在不改變音頻編碼格式時,若指定碼率大于原音頻碼率,則使用原音頻碼率進行轉(zhuǎn)碼。

3、參數(shù)末尾使用 !, 可以以強制使用指定碼率轉(zhuǎn)碼, 如 64k!

/ac/

A

N

音頻聲道數(shù)量,單位:整數(shù)值,不大于輸入源的聲道數(shù)量。目前 acodec 為 libfdk_aac 時,支持的聲道數(shù)量為 1、2、4、5、6、8;為 aac 時,支持的聲道數(shù)量為 1、2、3、4、5、6、7、8;為 libmp3lame 時,支持的聲道數(shù)量為 1、2。其他數(shù)值不合法。

/ar/

A

N

音頻采樣頻率,單位:赫茲(Hz),常用音頻采樣頻率有 8000, 11025、12000、16000、22050、24000、32000、44056、44100、47250、48000、50000、64000、88200、96000 等。其它特定限制請參考注意項。

/aq/

A

N

音頻質(zhì)量,取值范圍為0-9(mp3),10-500(aac),僅支持mp3和aac,值越小越高。不能與上述碼率參數(shù)共用。

/audioProfile/

A

N

設(shè)置音頻的profile等級,支持:aac_he。注:需配合 libfdk_aac 編碼方案使用,如 avthumb/m4a/acodec/libfdk_aac/audioProfile/aac_he。

/volume/

A

N

調(diào)整音頻音量為原音頻音量的倍數(shù), 精確到小數(shù)點后2位 ,默認值為 1.0, 范圍 [0.01, 3], 不可與 loudnorm 共用。

/loudnorm/

A

N

是否使用音頻響度標準化調(diào)整,0為不使用,1為使用。默認值為0

/loudnormI/

A

N

音頻整體響度值,當(dāng) loudnorm 為1時有效,取值范圍 [-70.0, -5.0], 默認為 -24.0

/loudnormLRA/

A

N

音頻響度范圍,當(dāng) loudnorm 為1時有效, 取值范圍 [1.0, 20.0], 默認為 7.0

/loudnormTP/

A

N

音頻最高峰值,當(dāng) loudnorm 為1時有效, 取值范圍 [-9.0, 0.0], 默認為 -2.0

A

N

是否去除音頻流,0為保留,1為去除。

默認值為0。

/speex/

A

N

取值為1時,把源音頻文件作為微信版speex處理,版本為1.2rc1,其他類別音視頻文件處理均會失敗。默認取值為0。

A

N

轉(zhuǎn)碼成mp3時是否寫入xing header,默認1寫入,寫入會導(dǎo)致 file,afinfo 等命令識別出錯誤的碼率。好處是在需要音頻時長、幀數(shù)的時候只需要獲取header。 值為 0 表示不寫入 xing header。

/amix/

A

N

1、期望混音的音視頻文件,目前支持公網(wǎng)資源及 kodo 資源。

2、公網(wǎng)資源由 url 表示;kodo 資源可由 kodo:/// 表示(此時 bucketname 需要與輸入源在同一區(qū)域),需要經(jīng)過 urlsafe_base64_encode。

3、源音視頻、混音輸入音視頻都僅支持單音軌;混音的兩個音頻的channel數(shù)必須一致。

/amixOffset/

A

N

混音效果起始位置,相對于混音后視頻起始位置計算,單位為秒,精確到毫秒,默認取0,即混音后音視頻從起始位置起有混音效果

/amixStart/

A

N

目標混音文件截取的開始時間,單位為秒,精確到毫秒,默認取0,即目標混音文件從起始開始混入源音視頻

/amixDuration/

A

N

目標混音文件截取的時長,單位為秒,精確到毫秒,默認為目標混音文件音軌原始長度,即全部混入源音視頻

/multiArep/

A

N

1、用于替換原視頻中音頻的目標音頻文件。

2、目前支持公網(wǎng)資源及 kodo 資源,公網(wǎng)資源由 url 表示;kodo 資源可由 kodo:/// 表示(此時 bucketname 需要與輸入源在同一區(qū)域),需要經(jīng)過 urlsafe_base64_encode。

3、多個文件以英文逗號分隔。

/multiArepOffset/

A

N

目標音頻相對于原視頻的起始位置,相對于原視頻視頻起始位置計算,單位為秒,精確到毫秒,默認取0,從結(jié)果視頻的起始位置起有指定音頻,多個文件以參數(shù)指定使用英文逗號分隔,且必須與multiArep文件順序?qū)?yīng)

/multiArepStart/

A

N

目標音頻文件截取的開始時間,單位為秒,精確到毫秒,默認取0,即目標音頻文件從起始開始添加到原視頻中,多個文件以參數(shù)指定使用英文逗號分隔,且必須與multiArep文件順序?qū)?yīng)

/multiArepDuration /

A

N

目標音頻文件截取的時長,單位為秒,精確到毫秒,默認為目標音頻文件音軌原始長度,即全部目標音頻替換原視頻音頻,多個文件以參數(shù)指定使用英文逗號分隔,且必須與multiArep文件順序?qū)?yīng)

加密參數(shù)

對視頻內(nèi)容進行私有加密,只能通過七牛云播放器解碼播放。關(guān)于輸出視頻解密以及播放的要求可參考 qplayer 說明。

視頻私有加密單獨計費。如果只希望對視頻加密而不進行轉(zhuǎn)碼操作,則需要將和值同時指定為copy。

當(dāng)值不為copy且 值不同時為copy且指定了加密參數(shù)時,服務(wù)價格 = 視頻轉(zhuǎn)碼價格 + 視頻加密價格

當(dāng)和值同時為copy 并且指定了加密參數(shù)時,服務(wù)價格 = 視頻加密價格

視頻加密服務(wù)計費方式為按時(分鐘)計費。服務(wù)價格為:0.018 元/分鐘。

參數(shù)名稱

類別

必填

說明

/drmComKey/

V

N

QPlayer 中使用的用于區(qū)別用戶的秘鑰,由長度為[1,8]的字符串表示,需要經(jīng)過urlsafe_base64_encode,需要與 DrmFileKey同時使用。目前僅支持輸出為 mp4。

/drmFileKey/

V

N

QPlayer 中使用的進行視頻文件加密的秘鑰,由長度為[1,8]的字符串表示,需要經(jīng)過urlsafe_base64_encode,需要與 DrmCompanyKey 同時使用。目前支持輸出格式 mp4。

接口備注

轉(zhuǎn)碼操作若未指定音視頻碼率,轉(zhuǎn)碼結(jié)果的碼率會小于等于原音視頻碼率,若指定碼率大于原音視頻碼率,轉(zhuǎn)碼操作會使用原視頻碼率進行轉(zhuǎn)碼。

avthumb轉(zhuǎn)碼的結(jié)果會保存在原文件的空間中,但是文件名按照默認規(guī)則生成,為了方便獲取轉(zhuǎn)碼后資源鏈接,建議自定義處理結(jié)果資源的名稱,請參考處理結(jié)果另存 (saveas)。

當(dāng)和值同時為copy,即不進行音視頻編解碼操作時以音視頻轉(zhuǎn)封裝計費。

視頻轉(zhuǎn)碼時,當(dāng)視頻實際處理幀率在(30, 60]時,按視頻高幀率轉(zhuǎn)碼計費。

我們?yōu)橐恍╊A(yù)設(shè)集設(shè)置了默認參數(shù),如果用戶覺得某些參數(shù)不適合自己的業(yè)務(wù)場景可以在后面加參數(shù)覆蓋。如: avthumb/mp3/ab/64k 會把默認碼率128k調(diào)整為64k。

不同格式的默認轉(zhuǎn)碼參數(shù)列表:

格式

視頻編碼器

視頻碼率

音頻編碼器

音頻碼率

音頻采樣率

flash

flv

512k

libmp3lame

64k

44100

webm

libvpx

700k

libvorbis

128k

48k

mp3

-

-

libmp3lame

128k

44100

amr

-

-

amr_nb

12.20k

8000

為 mp4 且 為 libmp3lame 時, 的值不可小于 16000;另外,特定音頻編碼方案 可使用的音頻采樣頻率 如下表所示:

音頻編碼方案

可使用的音頻采樣頻率

libfdk_aac

96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000

libmp3lame

48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025

libspeex

32000, 16000, 8000

libopencore_amrnb

8000

使用avsmart參數(shù)時,為避免轉(zhuǎn)碼處理超時,目前對于視頻時長有一些限制。不同規(guī)格的視頻時長限制如下:

規(guī)格

時長限制(s)

720p

9000

1080p

5400

2K

1800

4K

600

支持對視頻加多個不同類型的水印。以預(yù)轉(zhuǎn)持久化形式,將視頻轉(zhuǎn)換成mp4格式,對視頻資源加2個圖片水印和2個文字水印,示例如下:

{

"scope": "test:sample.mp4",

"deadline": 1608652800,

"persistentOps":

"avthumb/mp4/

/wmImage/aHR0cDovL3Rlc3QtMi5xaW5pdWRuLmNvbS9sb2dvLnBuZw/wmGravity/NorthWest==

/wmImage/aHR0cDovLzd4bHY0Ny5jb20wLnowLmdsYi5jbG91ZGRuLmNvbS_kuoznu7TnoIEucG5n==

/wmText/d2Vsb3ZlcWluaXU=/wmFontColor/cmVk/wmFontSize/60/wmGravityText/North==

/wmText/d2Vsb3ZlcWluaXU=/wmFontColor/cmVk/wmFontSize/20/wmGravityText/South

|saveas/dGVzdDpzYW1wbGVfdGFyZ2V0Lm1wNA==",

"persistentPipeline": "newtest",

"persistentNotifyUrl": "http://fake.com/qiniu/notify"

}水印錨點參數(shù)表

NorthWest | North | NorthEast

| |

| |

--------------+----------------+--------------

| |

West | Center | East

| |

--------------+----------------+--------------

| |

| |

SouthWest | South | SouthEast

參數(shù)設(shè)置舉例

以預(yù)轉(zhuǎn)持久化形式,將wav音頻轉(zhuǎn)換為mp3格式:

{

"scope": "qiniu-ts-demo:sample.wav",

"deadline": 1390528576,

"persistentOps": "avthumb/mp3",

"persistentNotifyUrl": "http://fake.com/qiniu/notify"

}以預(yù)轉(zhuǎn)持久化形式,將wav音頻轉(zhuǎn)換為mp3格式,比特率為192k:

{

"scope": "qiniu-ts-demo:sample.wav",

"deadline": 1390528576,

"persistentOps": "avthumb/mp3/ab/192k",

"persistentNotifyUrl": "http://fake.com/qiniu/notify"

}以預(yù)轉(zhuǎn)持久化形式,將mp4視頻轉(zhuǎn)換為flv格式,幀率為24,使用x264進行視頻編碼:

{

"scope": "qiniu-ts-demo:thinking-in-go.mp4",

"deadline": 1390528576,

"persistentOps": "avthumb/flv/r/24/vcodec/libx264",

"persistentNotifyUrl": "http://fake.com/qiniu/notify"

}以預(yù)轉(zhuǎn)持久化]形式,將mp4視頻轉(zhuǎn)換為avi格式,使用mp3進行音頻編碼,且音頻比特率為64k:

{

"scope": "qiniu-ts-demo:thinking-in-go.mp4",

"deadline": 1390528576,

"persistentOps": "avthumb/avi/ab/64k/acodec/libmp3lame",

"persistentNotifyUrl": "http://fake.com/qiniu/notify"

}以持久化數(shù)據(jù)處理(即觸發(fā)持久化)形式,將wav音頻轉(zhuǎn)換為mp3格式,VBR參數(shù)為3,采樣頻率為44100:

POST /pfop/ HTTP/1.1

Host: api.qiniu.com

Content-Type: application/x-www-form-urlencoded

Authorization: QBox

bucket=qiniu-tsdemo

&key=sample.wav

&fops=avthumb%2Fmp3%2Far%2F44100%2Faq%2F3

&notifyURL=http%3A%2F%2Ffake.com%2Fqiniu%2Fnotify以持久化數(shù)據(jù)處理(即觸發(fā)持久化)形式,將mp4視頻進行銳智轉(zhuǎn)碼(即視頻瘦身),設(shè)置視頻編碼格式為x264,分辨率為480x260,默認開啟視頻增強:

POST /pfop/ HTTP/1.1

Host: api.qiniu.com

Content-Type: application/x-www-form-urlencoded

Authorization: QBox

bucket=qiniu-ts-demo

&key=thinking-in-go.mp4

&fops=avthumb%2Fmp4%2Fvcodec%2Flibx264%2Fs%2F480x360%2Favsmart%2F1

&notifyURL=http%3A%2F%2Ffake.com%2Fqiniu%2Fnotify以持久化數(shù)據(jù)處理(即觸發(fā)持久化)形式,將mp4視頻轉(zhuǎn)換為flv格式,幀率為30,視頻比特率為256k,使用x264進行視頻編碼,音頻采樣頻率為22050,音頻比特率為64k,使用mp3進行音頻編碼:

POST /pfop/ HTTP/1.1

Host: api.qiniu.com

Content-Type: application/x-www-form-urlencoded

Authorization: QBox

bucket=qiniu-ts-demo

&key=thinking-in-go.mp4

&fops=avthumb%2Fflv%2Fr%2F30%2Fvb%2F256k%2Fvcodec%2Flibx264%2Far%2F22050%2Fab%2F64k%2Facodec%2Flibmp3lame

&notifyURL=http%3A%2F%2Ffake.com%2Fqiniu%2Fnotify以持久化數(shù)據(jù)處理(即觸發(fā)持久化)形式,將mp4視頻轉(zhuǎn)換為ogv格式,幀率為30,視頻比特率為1800k,使用libtheora進行視頻編碼,音頻采樣頻率為44100,音頻比特率為128k,使用libvorbis進行音頻編碼:

POST /pfop/ HTTP/1.1

Host: api.qiniu.com

Content-Type: application/x-www-form-urlencoded

Authorization: QBox

bucket=qiniu-ts-demo

&key=thinking-in-go.mp4

&fops=avthumb%2Fogv%2Fr%2F30%2Fvb%2F1800k%2Fvcodec%2Flibtheora%2Far%2F44100%2Fab%2F128k%2Facodec%2Flibvorbis

&notifyURL=http%3A%2F%2Ffake.com%2Fqiniu%2Fnotify以持久化數(shù)據(jù)處理(即觸發(fā)持久化)形式,為指定視頻資源打上圖片水印http://78re52.com1.z0.glb.clouddn.com/resource%2Flogo.jpg, 位置是右上角;同時給視頻打上文字水印weloveqiniu,顏色為紅色,大小為3磅(60緹),字體為黑體,位置為正上方;生成文件名為為sample_target.mp4的新mp4視頻資源:

POST /pfop/ HTTP/1.1

Host: api.qiniu.com

Content-Type: application/x-www-form-urlencoded

Authorization: QBox

bucket=test&key=sample.mp4&fops=avthumb%2fmp4%2fwmImage%2faHR0cDovL3Rlc3QtMi5xaW5pdWRuLmNvbS9sb2dvLnBuZw==%2fwmText%2fd2Vsb3ZlcWluaXU=%2fwmFontColor%2fcmVk%2fwmFontSize%2f60%2fwmGravityText%2fNorth%2csaveas%2fdGVzdDpzYW1wbGVfdGFyZ2V0Lm1wNA==&notifyURL=http%3A%2F%2Ffake.com%2Fqiniu%2Fnotify

注意:要在Authorization頭部的前添加QBox和半角空格。

以 Python Sdk 為例,需要在音視頻轉(zhuǎn)碼的示例的基礎(chǔ)修改數(shù)據(jù)處理命令 fops ,將其修改為:

fops = avthumb/mp4/wmImage/aHR0cDovL3Rlc3QtMi5xaW5pdWRuLmNvbS9sb2dvLnBuZw==/wmText/d2Vsb3ZlcWluaXU=/wmFontColor/cmVk/wmFontSize/60/wmGravityText/North

示例

觸發(fā)持久化

以Python Sdk為例,本例將空間名為bucket_name中的視頻 key轉(zhuǎn)碼為MP4的視頻文件,并且保存到目標Bucket_Name,且文件名為自定義文件key。

注意:

其他語言 SDK 可在官方 SDK下載,可以通過查看 SDK 使用指南中觸發(fā)持久化使用。

from qiniu import Auth, PersistentFop, build_op, op_save, urlsafe_base64_encode

# 對已經(jīng)上傳到七牛的視頻發(fā)起異步轉(zhuǎn)碼操作

# access_key,secret_key在個人面板的密鑰管理處獲得,非個人賬號密碼

access_key = '...'

secret_key = '...'

q = Auth(access_key, secret_key)

# 要轉(zhuǎn)碼的文件所在的空間和文件名。

bucket_name = '...'

key = '...'

# 是使用的隊列名稱,不設(shè)置代表不使用私有隊列,使用公有隊列。

pipeline = 'your_pipeline'

# 要進行轉(zhuǎn)碼的轉(zhuǎn)碼操作。

fops = 'avthumb/mp4/s/640x360/vb/1.25m'

# 可以對轉(zhuǎn)碼后的文件進行使用saveas參數(shù)自定義命名,當(dāng)然也可以不指定文件會默認命名并保存在當(dāng)前空間

saveas_key = urlsafe_base64_encode('目標Bucket_Name:自定義文件key')

fops = fops+'|saveas/'+saveas_key

pfop = PersistentFop(q, bucket_name, pipeline)

ops = []

ops.append(fops)

ret, info = pfop.execute(key, ops, 1)

print(info)

assert ret['persistentId'] is not None

預(yù)轉(zhuǎn)持久化

以Python Sdk為例,本例中將上傳的視頻轉(zhuǎn)碼為MP4的視頻文件,保存到目標Bucket_Name,且文件名為自定義文件key,原上傳視頻保存到bucket_name空間,且文件名為key。

注意:

其他語言 Sdk 可在官方 Sdks下載,可以通過查看 Sdk 使用指南中預(yù)轉(zhuǎn)持久化使用。

from qiniu import Auth, put_file, etag, urlsafe_base64_encode

import qiniu.config

# access_key,secret_key在個人面板的密鑰管理處獲得,非個人賬號密碼

access_key = '...'

secret_key = '...'

# 初始化Auth狀態(tài)

q = Auth(access_key, secret_key)

# 你要測試的空間, 并且這個key在你空間中存在

bucket_name = '...'

key = '...'

# 是使用的隊列名稱,不設(shè)置代表不使用私有隊列,使用公有隊列。

pipeline = 'your_pipeline'

# 設(shè)置轉(zhuǎn)碼參數(shù)

fops = 'avthumb/mp4/vcodec/libx264'

# 通過添加'|saveas'參數(shù),指定處理后的文件保存的bucket和key,不指定默認保存在當(dāng)前空間,bucket_saved為目標bucket,bucket_saved為目標key

saveas_key = urlsafe_base64_encode('bucket_saved:bucket_saved')

fops = fops+'|saveas/'+saveas_key

# 在上傳策略中指定fobs和pipeline

policy={

'persistentOps':fops,

'persistentPipeline':pipeline

}

token = q.upload_token(bucket_name, key, 3600, policy)

# 視頻所在的本地路徑

localfile = './python_video.flv'

ret, info = put_file(token, key, localfile)

print(info)

assert ret['key'] == key

assert ret['hash'] == etag(localfile)

總結(jié)

以上是生活随笔為你收集整理的七牛云 转码_普通音视频转码(avthumb)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。