版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
前對(duì)音進(jìn)行處理,也可以使用它提供的工具,如ffmpeg,ffy,ffprobe,來(lái)FFMPEG庫(kù)的基本結(jié)構(gòu)及其功能,然后詳細(xì)介紹一下我們?cè)谌粘9ぷ髦?,如何使用ffmpeg提供的工具來(lái)處理音文件。FFMPEG及作libavcodec:提供了一系列編的實(shí)現(xiàn)libavformat:實(shí)現(xiàn)在流協(xié)議,容器格式及其本IOlibavutil:包括了hash器,器和各利工具函數(shù)libavfilter:提供了各種音過(guò)濾器libavdevice:提供了捕獲設(shè)備和回放設(shè)備的接口libswresamplelibswscaleFFMPEG基本概在講解FFMPEG命令之前,我們先要介紹一些音格式的基要概念音/稱(chēng)為一路流。如我們小時(shí)候經(jīng)常使用看港片,在里邊可以選擇粵語(yǔ)或國(guó)語(yǔ)聲音,其實(shí)就是 文件中存放了路音頻流,用戶(hù)可以選擇其中一路進(jìn) 我們一般把我們一般把MP4?FLV、MOV等文件格式稱(chēng)之為容器。也就是在這些常用格 文件。以MP4為例,就可以存放一路channelchannel是音頻中的概念,稱(chēng)之為聲道。在一路音頻流中,可以有單聲道,雙FFMPEG命FFMPEG分解/FFMPEG。步描述)。器產(chǎn)生未壓縮的幀(原始/PCM音頻/...),可以通過(guò)濾波進(jìn)一步處理(見(jiàn)下一節(jié))。在過(guò)濾之后,幀被傳遞到編,編并輸出編碼的數(shù)據(jù)包。最后,這些傳遞給復(fù)用器,將編碼的數(shù)據(jù)包寫(xiě)入輸出文件。默認(rèn)情況下,ffmpeg只包含輸入文件中每種類(lèi)型(,音頻,字幕)的一個(gè)流,并將其添加到每個(gè)輸出文件中。它根據(jù)以下標(biāo)準(zhǔn)挑選每一個(gè)的“最佳”:對(duì)于,它是具有最高分辨率的流,對(duì)于音頻,它是具有最多channel的流,您可以通過(guò)使用-vnansndn手動(dòng)控制,請(qǐng)使用-map選項(xiàng),該選項(xiàng)禁用剛描述的默認(rèn)設(shè)置?;拘畔⒉樵?xún)命ffmpeg-ffmpeg-FFMPEGfilter,就可以用
參說(shuō)--顯示可用的格式(包括設(shè)備)-顯示可用的demuxers-顯示可用的muxers--顯示libavcodec已知的所有編器參說(shuō)-顯示可用的器-顯示所有可用的編-顯示可用的比特流filter--libavfilter---顯示channel名稱(chēng)和標(biāo)準(zhǔn)channel-接下來(lái)介紹的是FFMPEG處理音時(shí)使用令格式與參數(shù)命令基本格式及FFMPEGffmpeg通過(guò)-i選項(xiàng)輸任意數(shù)量的輸入“文件”(可以是常規(guī)文件,管道,音頻/字幕/附件/數(shù)據(jù))/個(gè)輸入進(jìn)入到哪個(gè)輸出將自動(dòng)完成或使用-map選項(xiàng)。要選項(xiàng)中的輸入文件,您必須使用它們的索引(從0開(kāi)始)。例如。第01,等等。類(lèi)似地,文件內(nèi)的流被它們的索引。例如。2:3是指第三個(gè)輸入文件中的第四個(gè)流。上面就是FFMPEG處理音的常用命令,下面是一些常用參數(shù)主要參參說(shuō)-ffmt(輸入/輸出強(qiáng)制輸入或輸出文件格式。格式通常是自動(dòng)檢測(cè)輸入文-iurl(輸入-y(全局參數(shù)-n(全局參數(shù)-c:stream_specifier]輸入文件之前使用時(shí))用于一個(gè)或多個(gè)流。codec是器/編的名稱(chēng)或copy(僅輸出)以指示該流不被重新編碼。如:ffmpeg-iINPUT-map0-c:vlibx264-c:acopy-codec[:同-參說(shuō)-tduration(輸入/輸當(dāng)用作輸入選項(xiàng)(在-i之前)時(shí),限制從輸入文件的數(shù)據(jù)的持續(xù)時(shí)間。當(dāng)用作輸出選項(xiàng)時(shí)(在輸出url之前),在-ss位置(輸入/輸出當(dāng)用作輸入選項(xiàng)時(shí)(在-i之前),在這個(gè)輸入文件中尋找位置。請(qǐng)注意,在大多數(shù)格式中,不可能精確搜索,因此ffmpeg將在位置之前尋找最近的搜索點(diǎn)。當(dāng)轉(zhuǎn)碼和-accurate_seek被啟用時(shí)(默認(rèn)),搜索點(diǎn)和位置之間的這個(gè)額外的分段將被和丟棄。當(dāng)進(jìn)行流式或使用-noaccurate_seek時(shí),它將被保留。當(dāng)用作輸出選項(xiàng)(在輸出url之前)時(shí),但丟棄輸入,直到時(shí)間戳到達(dá)位置。-frames[:-filter[:創(chuàng)建由filtergraph指定的過(guò)濾器圖,并使用它來(lái)過(guò)濾流。filtergraph是應(yīng)用的filtergraph的描述,并且必須具有關(guān)filtergraph語(yǔ)法的信息,請(qǐng)參閱ffmpeg-filters手參參說(shuō)-vframesnum(輸出-r:stream_specifier]fps(輸入/設(shè)置幀率(Hz值,分?jǐn)?shù)或縮寫(xiě))。作為輸入選項(xiàng),忽略存流用于-framerate選項(xiàng)不同(它在FFmpeg的舊版本中使用的是相同的)。如果有疑問(wèn),請(qǐng)使用-framerate而不是輸入選參說(shuō)頻fps。設(shè)置窗口大小。作為輸入選項(xiàng),這是_size選項(xiàng)-s大?。ㄝ斎?快捷方式,由某些分幀器識(shí)別,其幀尺寸未被在文中。作為輸出選項(xiàng),這會(huì)將縮放過(guò)濾器插入到相應(yīng)過(guò)流他地方。格式是'wxh'(默認(rèn)-與源相同)-aspect[:stream_specifier]寬高設(shè)置方面指定的顯示寬高比。aspect可以是浮點(diǎn)數(shù)字符串,也可以是num:den形式的字符串,其中num和den“1.7777”是有效的參數(shù)值。如果與-vcodec副本一起使用,則會(huì)影響在容器級(jí)別的寬高比,但不會(huì)影響在編幀中的寬高比(如果存在)-vn(輸出禁用錄制-vcodec編器(設(shè)置編器。這是-codec:v的別名-vffiltergraph(輸出創(chuàng)建由filtergraph音頻參參說(shuō)設(shè)置要輸出的音頻幀的數(shù)量。這是-frames:a的一個(gè)-ar[:stream_specifier](輸入/輸出,每個(gè)流參說(shuō)-ac:stream_specifier](輸入/輸出,每個(gè)流-an(輸出禁用-acodec編器(輸入/輸設(shè)置音頻編器。這是-codec的別名:a-sample_fmt[:stream_specifier]sample_fmt(輸出,每個(gè)流設(shè)置音頻采樣格式。使用-sample_fmts獲取支持的樣-affiltergraph(輸出創(chuàng)建由filtergraph指定的過(guò)濾器圖,并使用它來(lái)過(guò)濾FFMPEG錄首先通過(guò)下面令查看一下mac上都有哪些設(shè)備ffmpegffmpeg-favfoundation-list_devicestrue-i錄ffmpegffmpeg-favfoundation-i1-r30-f指定使用avfoundation數(shù)據(jù)-i指定從哪兒數(shù)據(jù),它是一個(gè)文件索引號(hào)。在我的MAC上,1代表桌 -r指定幀率。按ffmpeg文檔說(shuō)-r與-framerate作用相同,但實(shí)際測(cè)試時(shí)發(fā)現(xiàn)不同。-framerate用于限制輸入,而-r用于限制輸出。錄屏+聲ffmpegffmpeg-favfoundation-i1:0-r29.97-c:vlibx264-crf0-c:alibfdk_aac-profile:aaac_he_v2-b:a32k-i1:0冒號(hào)前面的"1"代表的屏幕索引號(hào)。冒號(hào)后面的"0"代表索相-c:v與參數(shù)-vcodec一樣,表示編。c是codec的縮寫(xiě),v是的縮寫(xiě)。-crf是x2640-c:a與參數(shù)-acodec一樣,表示音頻編-profilefdk_aacaac_he_v2AAC_HEv2壓縮數(shù)-b:abbitrate的縮寫(xiě)aaudio的縮與。ffmpegffmpeg-framerate30-favfoundation-i0-framerate限制幀率。這個(gè)必須要根據(jù)提示要求進(jìn)行設(shè)置,如果-f指定使用avfoundation數(shù)據(jù)-i指定設(shè)備的索引號(hào)+音ffmpegffmpeg-framerate30-favfoundation-i0:0ffmpegffmpeg-favfoundation-i:0錄制音頻數(shù)ffmpegffmpeg-favfoundation-i:0-ar44100-fs16le分解與復(fù)流拷貝是通過(guò)將copy參數(shù)提供給-codec選項(xiàng)來(lái)選擇流的模式。它使得ffmpeg省略了指定流的和編碼步驟,所以它只能進(jìn)行多路分解和多路復(fù)由于沒(méi)有或編碼,速度非???,沒(méi)有質(zhì)量損失。但是,由于許多因素,在抽取音頻ffmpegffmpeg-iinput.mp4-acodeccopy-vnacodec:指定音頻編,copy指明只拷貝,不做編vn:v代表,n代表no也就是無(wú)的意思。 ffmpegffmpeg-iinput.mp4-vcodeccopy-anvcodec:指定編,copy指明只拷貝,不做編an:a代表,n代表no也就是無(wú)音頻的意思。ffmpegffmpeg-iout.mp4-vcodeccopy-acodeccopy上面令表式的是音頻、都直接copy,只是將mp4的封裝格式轉(zhuǎn)成音合ffmpegffmpeg-iout.h264-iout.aac-vcodeccopy-acodeccopy處理原始提取YUV數(shù)ffmpegffmpeg-iinput.mp4-an-c:v y-swxh-c:v 指定將轉(zhuǎn)成原始數(shù)-pixel_formatyuv420p指定轉(zhuǎn)換格式為YUVffmpegffmpeg-f -pix_fmtyuv420p-s320x240-r30-iout.yuv-c:vlibx264-f ffmpegffmpeg-iout.mp4-vn-ar44100-ac2-fs16le y-ar44100-ac2-fs16le-iPCMffmpegffmpeg-fs16be-ar8000-ac2-acodecpcm_s16be-iinput.raw濾在編碼之前,ffmpeglibavfilter庫(kù)中的過(guò)濾器處理原始音頻和ffmpeg區(qū)分兩種類(lèi)型的過(guò)濾器圖簡(jiǎn)單濾中,它們可以通過(guò)在和編碼之間插入一個(gè)額外的步驟來(lái)表示:簡(jiǎn)單的filtergraphs配置了per-stream-filter選項(xiàng)(分別為和音頻使用-vf-af別名)。一個(gè)簡(jiǎn)單的filtergraph可以看起來(lái)像這樣的例子fps過(guò)濾器會(huì)改變幀數(shù),但不會(huì)觸及幀內(nèi)容。另一個(gè)例子是setpts過(guò)濾器,它只復(fù)雜濾復(fù)雜的過(guò)濾器圖是那些不能簡(jiǎn)單描述為應(yīng)用于一個(gè)流的線(xiàn)性處理鏈的過(guò)濾器圖。例如,當(dāng)圖形有多個(gè)輸入和/就是這種情況。他們可以用下圖來(lái)表示: plex選項(xiàng)進(jìn)行配置。請(qǐng)注意,此選項(xiàng)是全局性-lavfi選項(xiàng)等同 plex一個(gè)復(fù)雜的過(guò)濾器圖的一個(gè)簡(jiǎn)單的例子是覆蓋過(guò)濾器,它有兩個(gè)輸入和一個(gè)輸出,包含一個(gè)疊加在另一個(gè)上面。它的音頻對(duì)應(yīng)是amix濾波添加水ffmpegffmpeg-iout.mp4-vf"movie=logo.png,scale=64:48[watermask];[in][watermask]overlay=30:10[out]"-vf中的movielogo位置。scale指定logo大小。overlay指定刪除水先通過(guò)ffy找到要?jiǎng)h除LOGO的位 y-itest.flv-vfdelogo濾鏡刪除ffmpegffmpeg-itest.flv-vfdelogo=x=806:y=20:w=70:h=80縮小一ffmpegffmpeg-iout.mp4-vfscale=iw/2:-1-vfscalescale,iw/2:-1iw指定按整型取的寬度。-1表示高度隨寬度一起變化。裁ffmpegffmpeg-iVR.mov-vfcrop=in_w-200:in_h-200-c:vlibx264-c:acopy _size1280x720cropout_w:輸出的寬度。可以使用in_w表式輸入的寬度out_h:輸出的高度??梢允褂胕n_h表式輸入的高度x:Xy:Y如果x和y設(shè)置為0,說(shuō)明從左上角開(kāi)始裁剪。如果不寫(xiě)是從中心點(diǎn)裁剪。 倍速ffmpegffmpeg-iplex"[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]"-map"[v]"-map plex復(fù)雜濾鏡,[0:v]表示第一個(gè)(0)文件的作為輸入。setpts=0.5*PTS表示每幀的pts時(shí)間戳都乘0.5,也就是差map可用于處理復(fù)雜輸出,如可以將指定的多路流輸出到一個(gè)輸出文件,也可以指定輸出到多個(gè)文件。"[v]"復(fù)雜濾鏡輸出的別名作為輸出文件的一路流。上面map的用法是將復(fù)雜濾鏡輸出的和音頻輸出到指定文件中。對(duì)稱(chēng)ffmpegffmpeg-i hflipffmpeg-iout.mp4ffmpeg-iout.mp4-i 10:y=0[out]"-map"[out]"-movflagsfaststartnew.mp4錄制畫(huà)中ffmpegffmpeg-favfoundation-i"1"-framerate30-favfoundation-i-r30-c:vlibx264-preset-c:alibfdk_aac-profile:aaac_he_v2-ar44100-acplex"[1:v]scale=w=176:h=144: -map"[out]"-movflagsfaststart-map1:a多路拼ffmpeg-favfoundation-i"1"-framerate30-f -i"0:0"-r30-c:vlibx264-preset-c:alibfdk_aac-profile:aaac_he_v2-ar44100-ac "[0:v]scale=320:240[a];[a]pad=640:240[b];[b][1:v]overlay=320:0[out]"-map"[out]"-movflagsfaststartmap1:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 厚街體育館施工組織設(shè)計(jì)
- 歐式古典客廳布藝軟裝設(shè)計(jì)
- 利用機(jī)器學(xué)習(xí)優(yōu)化網(wǎng)絡(luò)數(shù)據(jù)監(jiān)管
- 焊接作業(yè)質(zhì)量檢驗(yàn)與問(wèn)題處理流程
- 高一化學(xué)教案:專(zhuān)題第一單元第三課時(shí)乙烯
- 三明市2024-2025學(xué)年第一學(xué)期高三期末數(shù)學(xué)質(zhì)檢主觀題閱卷情況和教學(xué)建議
- 2024高中地理第四章工業(yè)地域的形成與發(fā)展章末總結(jié)提升練含解析新人教版必修2
- 2024高中生物第6章生態(tài)環(huán)境的保護(hù)第2節(jié)保護(hù)我們共同的家園課堂演練含解析新人教版必修3
- 2024高考地理一輪復(fù)習(xí)第五部分選修地理-重在遷移第42講旅游地理課時(shí)作業(yè)含解析新人教版
- 2024高考化學(xué)一輪復(fù)習(xí)第十一章有機(jī)化學(xué)基礎(chǔ)第一講認(rèn)識(shí)有機(jī)化合物規(guī)范演練含解析新人教版
- 北京市海淀區(qū)2024-2025學(xué)年高一上學(xué)期期末考試歷史試題(含答案)
- 常用口服藥品的正確使用方法
- 2023中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)-注射相關(guān)感染預(yù)防與控制
- 經(jīng)理年終工作總結(jié)述職報(bào)告ppt模板
- 臨時(shí)用電拆除方案
- 詩(shī)經(jīng)研究課程教學(xué)大綱
- 垂體瘤診療規(guī)范內(nèi)科學(xué)診療規(guī)范診療指南2023版
- 三年級(jí)道德與法治教學(xué)工作總結(jié)
- 托卡馬克等離子體約束
- 各級(jí)各類(lèi)護(hù)理人員崗位職責(zé)
- 狂犬病與破傷風(fēng)的同意告知書(shū)
評(píng)論
0/150
提交評(píng)論