在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

LiveVideoStack ? 來源:未知 ? 作者:工程師郭婷 ? 2018-07-28 09:10 ? 次閱讀

1、什么是FFmpeg

FFmpeg誕生于十幾年前,最初是作為一個MPlayer播放器的一個子項目出現(xiàn)。因為當(dāng)時的播放器有需要支持各種各樣解碼的需求, 其中有一位Mplayer的開發(fā)者看到了這樣的需求,于是編寫了FFmpeg。

它作為迄今為止最流行的一個開源多媒體框架之一,F(xiàn)Fmpeg有兩種基本使用方式——作為庫或者作為工具,其中后者的使用場景更多,同時它也被稱為多媒體開發(fā)的“瑞士軍刀”。FFmpeg庫中90%的代碼以上使用C,同時也有一些匯編語言上的優(yōu)化,還有一些基于GPU的優(yōu)化。對于匯編優(yōu)化而言,由于YASM對最新的CPU指令支持效果不好,F(xiàn)Fmpeg的匯編現(xiàn)在正在向NASM轉(zhuǎn)變。FFmpeg本身有一些基本的開發(fā)策略,希望所有的Codec集成在內(nèi)部庫中隨時調(diào)用;當(dāng)然它也在必要時可以依賴一些外部第三方庫,例如像眾所周知的X.264。(X.264作為一個Encoder來說已經(jīng)足夠優(yōu)秀,我們可以看到大部分的商業(yè)產(chǎn)品都以X.264為對標(biāo),常會看到某某Codec宣稱比X.264好多少,似乎X.264已經(jīng)成為業(yè)內(nèi)一個基本對標(biāo)點(diǎn))。FFmpeg同樣也是一個跨平臺的產(chǎn)品,主要的License是GNU GPLv2,或GNU LGPLv2.1+的,講到這里我想說的是,希望大部分的使用者也能夠在項目通過聲明使用了FFmpeg這一點(diǎn)為開源社區(qū)帶來正面的反饋。

1.1 FFmpeg的發(fā)展歷史

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

這里需要說明的是FFmpeg與Libav之間的關(guān)系, 2011年FFmpeg社區(qū)中的一部分開發(fā)者因為某些原因脫離了FFmpeg社區(qū)并創(chuàng)立了Libav社區(qū),而后來使用Libav的大部分的發(fā)行版本又慢慢遷移回了FFmpeg。但是,直到現(xiàn)在仍有幾位脫離FFmpeg社區(qū)的主要開發(fā)者堅守在Libav,而大部分的開發(fā)者與資源都重新遷回了FFmpeg社區(qū)。現(xiàn)在FFmpeg的最新穩(wěn)定版本為2018年4月更新的v4.0.0,從v3.4.2 到最新的v4.0.0,其中最大的改進(jìn)之一便是硬件加速。

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

1.2使用場景

FFmpeg有很多使用場景,其中較為典型的有播放器、媒體編輯器、云轉(zhuǎn)碼等等。據(jù)我所知有上圖中左側(cè)的這些公司在以上場景中使用FFmpeg,而右側(cè)的公司則是將FFmpeg作為第三方Codec使用。

2、FFmpeg組件

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

關(guān)于FFmpeg組件,大家可以在網(wǎng)上查到使用FFmpeg的API編寫播放器的教程文章。FFmpeg組件中應(yīng)用最多的是FFmpeg,它被用于進(jìn)行轉(zhuǎn)碼,而FFprobe則被用于進(jìn)行碼流分析(這些都是基于命令行的工具);而FFserver的代碼庫已經(jīng)被刪除,其最主要的原因是FFmpeg Server的維護(hù)狀態(tài)并不好,出現(xiàn)很多問題。最近社區(qū)又有人在重寫FFmpeg Server,估計不久之后代碼庫會得以恢復(fù)。但這時的FFserver的實現(xiàn)方式跟之前已經(jīng)基本沒什么關(guān)系了。在上圖中我們可以看到其中的Libavdevice主要使用硬件Capture或者進(jìn)行SDI (流化),Libavformat是一些常見容器格式例如Mux或Demux等。我個人的大部分工作是在Libavcodec與Libavfilter,在Libavcodec上進(jìn)行一些基于英特爾平臺的優(yōu)化,而Libavfilter主要是針對圖像的后處理。我認(rèn)為在AI盛行的時代Libavfilter會出現(xiàn)非常大的改動,加入更多新功能而非僅僅基于傳統(tǒng)信號處理方式的圖像處理。最近實際上已經(jīng)有人嘗試在其中集成Super Resolution,但在性能優(yōu)化上仍有待改進(jìn),預(yù)計還需要持續(xù)一段時間才能真正做到實時與離線。除去作為基礎(chǔ)組件的Libavutil,其他像Libavresample、Libswresample、Libpostproc這幾個庫現(xiàn)在都有逐漸被廢棄的趨勢。

2.1 基本介紹

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

為什么FFmpeg會有那么高的使用量? FFmpeg和Gstreamer究竟是什么關(guān)系?我也在反復(fù)思考這些問題,為什么我會用FFmpeg而不用Gstreamer?將這個問題引申來看可能會考慮:FFmpeg適合做哪些?不適合做哪些?我想人們熱衷于使用FFmpeg的原因之一是FFmpeg的API非常簡潔。上圖是一個范例,我們可以看到只需五步就可寫出一個基本的Decoder。這個例子非常容易理解,如果能將這個例子從API到底層逐步研習(xí)其細(xì)節(jié)便可對FFmpeg有更深層的認(rèn)識。

2.1.1 Libavformat

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

Libavformat的主要任務(wù)是Demuxer/Muxer功能。我們可以看到FFmpeg的框架設(shè)計得十分精煉,基本上如果需要實現(xiàn)一個AVFormat或AVCodec以對應(yīng)新的Format/Codec;所以即使一位開發(fā)者不了解FFmpeg框架也可以編寫一個簡單的Format或Codec,需要做的最主要是實現(xiàn)對應(yīng)的AVFormat/AVCodec。

2.1.2 Libavcodec

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

需要提及一下的,有兩種方案實現(xiàn)對應(yīng)的Libavcodec,一種是以Native方式實現(xiàn)在FFmpeg內(nèi)部,另一種是利用集成的第三方庫,我們現(xiàn)在看到的一些Encoder相關(guān)的是以集成的第三方庫為基礎(chǔ)。而對于Decoder ,F(xiàn)Fmpeg社區(qū)的開發(fā)者做得非常快。耐人尋味的是,據(jù)說FFmpeg內(nèi)部VP9 的Decoder速度比Google Libvpx Decoder還要快,我們知道Google是VP9 Codec的創(chuàng)立者,但是Google的表現(xiàn)還不如FFmpeg自身的VP9 的Decoder 。

2.1.3 Libavfilter

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

Libavfilter是FFmpeg內(nèi)部最復(fù)雜的部分之一,其代碼一直在反復(fù)重構(gòu)。Libavfilter的思想可能借鑒了Windows 的DirectX上一些思想,但代碼卻有些復(fù)雜。其構(gòu)成并非像圖片展示的那樣是一個簡單的串行關(guān)系,實際上它可以構(gòu)成一個有向無環(huán)圖,這意味著只要能夠構(gòu)成一個DAG這個LibavFilter就能工作。但是Libavfilter的綜合表現(xiàn)并不是特別好,我一直在想嘗試對其進(jìn)行改進(jìn),但因為這一部分的復(fù)雜度比較高,總是令我感覺不入其門。

2.1.4 FFmpeg Transcoding

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

FFmpeg的應(yīng)用場景之一是Transcoding轉(zhuǎn)碼,涉及Demux/Decoder/Encoder/Muxer,同時我們可以把Demux+Mux的流程看作是它的一個特例。另一應(yīng)用場景是作為Player播放器,上圖展示了Transcoding與Player兩種應(yīng)用場景的流程。

3、FFmpeg開發(fā)

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

FFmpeg中比較重要的API包括如何進(jìn)行Decoder、Postprocess、Encoder等。如果你對此感興趣,我認(rèn)為最好的辦法是去認(rèn)真看一看FFmpeg里一些很好的例子。最近兩年FFmpeg把過去的API進(jìn)行了重構(gòu),如果我以原來的FFmpeg API為基礎(chǔ)進(jìn)行解碼,其做法是輸入一個已經(jīng)壓縮過的Frame數(shù)據(jù)并希望得到一個解碼的Frame,但實際上此過程存在的限制是需要確保輸入的Frame與解碼出的數(shù)據(jù)一一對應(yīng)。后來隨著開發(fā)的深入,特別是H.264提供的MVC這種模式以后,有時我們輸入一個Frame后需要分左右解碼兩個幀,此時它的API便無法支持這種場景。因此最近FFmpeg的API被從輸入一個Frame輸出一個Packet修改為兩個API,這樣便可解除它們之間的耦合。當(dāng)然由于輸入與解碼變成了兩個分離的步驟,導(dǎo)致代碼中需要大量的While循環(huán)來判斷此解碼過程是否結(jié)束。

4、硬件加速

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

我在英特爾負(fù)責(zé)FFmpeg硬件加速的工作,因此更關(guān)注FFmpeg的硬件加速在英特爾GPU上的表現(xiàn)。我們一直在考慮如何更快地將英特爾的硬件加速方案推薦給客戶使用,讓用戶能夠有機(jī)會體驗到硬件加速的強(qiáng)大功能。現(xiàn)在英特爾提出的兩種通過FFmpeg驅(qū)動GPU的硬件加速方案,其中一種方案基于MediaSDK,我想如果你用過英特爾的GPU便應(yīng)該會對其有所了解,已經(jīng)有很多客戶基于MediaSDk進(jìn)行了部署,其中,MediaSDK的VPP部分作為AVFilter也在FFmpeg內(nèi)部;另一種更為直接的方案是VA-API,VA-API類似于Windows上提供的DXV2或是MacOS上提供的Video Toolbox等基于OS層面的底層硬件加速API,我現(xiàn)在的大部分的工作專注于此領(lǐng)域。FFmpeg同樣集成了OpenCL的一些加速,它使得你可以借助GPU進(jìn)行轉(zhuǎn)碼工作并在整套流程中不涉及GPU與CPU的數(shù)據(jù)交換,這個方案方案會帶來明顯的性能提升。我們雖希望從解碼到VPP再到編碼的整條流程都可以在GPU內(nèi)完成,但GPU的一些功能上的缺失需要其他硬件加速功能來彌補(bǔ),此時就可考慮使用OpenCL優(yōu)化。其次是因為OpenCV已經(jīng)進(jìn)行了大量的OpenCL加速,所以當(dāng)面對這種圖像后處理的硬件加速需求時可以考慮把OpenCV集成到FFmpeg中,但在OpenCV發(fā)展到v3.0后其API從C切換到了C++,而FFmpeg自身對C++的API支持并不友好,這也導(dǎo)致了FFmpeg的官方版本中只支持OpenCV到v2.4。如果你對此感興趣,可以嘗試基于在OpenCV v3.0以上的版本做一個新的C Warper,再考慮集成進(jìn)FFmpeg。但如果你對性能要求足夠高,直接使用VA-API和OpenCL去做優(yōu)化,保證整個流程能夠在GPU內(nèi)部完整運(yùn)行,達(dá)到最好的性能表現(xiàn)。

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

上圖是對GFFmpeg硬件加速的流程概覽圖,大部分人可能對英特爾的兩套方案有比較清晰的認(rèn)識,最關(guān)鍵的點(diǎn)在于QSV方案依賴于MediaSDK,而VA-API則可以理解為將整個MediaSDK做的工作完整的放進(jìn)了FFmpeg的內(nèi)部,與FFmpeg融為一體,F(xiàn)Fmpeg開發(fā)者與社區(qū)更推薦后者。現(xiàn)在的OCL方案最近也正不停的在有一些Patch進(jìn)來,這里主要是對AVFilter的處理的過程進(jìn)行硬件加速。需要說明一下,因為社區(qū)曾經(jīng)有嘗試用OpenCL加速X.264使其成為一個更快的Codec,但結(jié)果并不是特別好。所以用OpenCL去硬件加速Encoder,其整體性能提升并不是特別明顯。

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

上圖展示了更多細(xì)節(jié),我們可以看到每種方案支持的Codec與VPP的功能與對應(yīng)的Decoder和Encoder。

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

這兩種方案的差異在于實際上是QSV Call第三方的Library,而VA-API直接基于VA-API 的Interface,使用FFmpeg的Native 實現(xiàn)而并不依賴任何第三方外部庫。

VA-API

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

經(jīng)常會有人提出疑問:VA-API是什么?它的本質(zhì)類似于Microsoft在Windows上提出的DXVA2,也就是希望用一套抽象的接口去隱藏底層硬件細(xì)節(jié),同時又暴露底層硬件的基本能力。VA-API有多個可用后端驅(qū)動,最常見的是原先英特爾OTC提供的VA (i965)的驅(qū)動,現(xiàn)如今在Linux發(fā)行版本中也存在;而Hybird驅(qū)動則更多被用于當(dāng)硬件的一些功能還沒有準(zhǔn)備好的情景,需要先開發(fā)一個仿真驅(qū)動;等硬件部分準(zhǔn)備完成后再使正式驅(qū)動。第三個是iHD/Media driver,這部分驅(qū)動在去年年底時Intel便已經(jīng)開源,這一套驅(qū)動對比i965驅(qū)動其圖像質(zhì)量和性能表現(xiàn)更優(yōu)但穩(wěn)定性較差。現(xiàn)在我一直在此領(lǐng)域工作,希望它能夠更好地支持FFmpeg。Mesa’s State-Trackers主要支持AMD的GPU,但是由于現(xiàn)在只有Decoder而Encoder處在試驗階段一直未開放,所以AMD的GPU在FFmpeg上無法進(jìn)行Encoder加速。

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

上圖是VA-API的一些基本概念,在這里我就不做過多闡述。

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

這是基于VA-API 一個基本流程。FFmpeg的VA-API也是基于此流程做的。

開放問題

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

FFmpeg的QSV硬件加速方案究竟有什么優(yōu)缺點(diǎn)?如果將 FFmpeg與GStreamer比較,什么情況下選擇FFmmpeg什么情況下選擇GStreamer,這是我一直在反反復(fù)復(fù)考慮的內(nèi)容,還有FFmpeg與OpenMAX的差別這些(Android使用了OpenMAX)。對于未來趨勢,我們期待基于FFmpeg與英特爾的GPU構(gòu)建一個全開源的解決方案,將整個開發(fā)流程透明化;在之后我們也考慮OpenCL的加速 ,順帶說一句,作為OpenCL最初的支持者的Apple,在不久前的WWDC上稱要放棄OpenCL,不過從現(xiàn)實來看,如果想在GPU或異構(gòu)上進(jìn)行硬件加速開發(fā),OpenCL仍然是最優(yōu)的選擇。其他方案直到現(xiàn)在還沒有OpenCL的廣泛適應(yīng)度。實際上OpenCL本身的推出并不是特別的成功,在OpenCL過去的十年發(fā)展中并沒有出現(xiàn)殺手級應(yīng)用;另一個趨勢是,Vulkan作為OpenGL的后繼者開始流行,因此業(yè)界也在考慮直接把OpenCL作為Vulkan部分合并在一起。另外,OpenCV有大量的OpenCL優(yōu)化,如果你不愿意重寫OpenCL的優(yōu)化,可以考慮用FFmpeg與 OpenCV一起加速來構(gòu)建整個流程。

上圖展示了你所見的基于各個OS與硬件廠商的硬件加速狀態(tài)。大部分專注于硬件加速的開發(fā)者更關(guān)心播放器的表現(xiàn),在Windows上進(jìn)行硬件編碼的需求并不強(qiáng)。

Q&A

Q1:FFmpeg Server最近的一些大改動是什么?

A:FFmpeg Server的代碼在最新版本的FFmpeg里已經(jīng)不存在了,主要是由于維護(hù)者并不積極。現(xiàn)在又有開發(fā)者正在重寫FFmpeg Server并且已經(jīng)Review到第三輪,我相信最快需要一兩個月它又會回到FFmpeg里面,但和以前的FFmpeg Server完全不一樣。

Q2:FFmpeg 4.0已經(jīng)有VA-API的方案嗎?

A:VA-API的Encoder從3.3.1開始支持,這部分的代碼從2016年到2018年一直在進(jìn)行重構(gòu),在4.0.0時VA-API的Encoder都可以支持。屆時是一個開箱即用的狀態(tài)。

Q3:安卓平臺現(xiàn)在可以硬件加速嗎?

A:VA-API的方案是英特爾的,由于英特爾的產(chǎn)品生態(tài)緣故,安卓的解決方案是基于MediaCodec而非VA-API,其硬件加速就目前而言只有解碼加速沒有編碼加速。

Q4:后臺的多任務(wù)轉(zhuǎn)碼服務(wù)器需要用硬件來編碼,那么可以同時進(jìn)行多少任務(wù)?如果根據(jù)硬件的核心數(shù)量來決定,那么超過性能極限是否會導(dǎo)致創(chuàng)建編碼器失敗?

A:如果是基于CPU的編碼方案,那么編碼的性能與CPU的線程數(shù)有關(guān),而FFmpeg性能并未和CPU的核心數(shù)量構(gòu)成一個線性關(guān)系;如果是基于GPU的編碼方案,包括1對n的轉(zhuǎn)碼,這需要以官方測試為準(zhǔn)。英特爾在官方網(wǎng)站的GPU參數(shù)有相關(guān)數(shù)據(jù),這與硬件平臺有非常大的關(guān)系,具有強(qiáng)大性能的硬件平臺可以保證良好的編解碼運(yùn)算處理能力。

Q5:還有一個跟WebRTC相關(guān)的問題,他說這個在WebRTC 在Chrome里FFmpeg實現(xiàn)硬件加速有哪些,可以替換其他版本的FFmpeg嗎?

A:據(jù)我所知在ChromeOS中只有當(dāng)自身API硬件加速不工作的情況下才會使用FFmpeg,Chrome可以說是把FFmpeg作為一個備選方案,并沒有直接用作硬件加速。

Q6:英特爾 Collabration 的客戶端SDK,支持喂數(shù)據(jù)給WebRTC的,這里硬件編碼是用的WebRTC內(nèi)部,還是自己替換的?

A:英特爾 Collabration的客戶端我不知道這個事情,在Server端采用了三套方案,一套方案是MediaSDK進(jìn)行硬件加速,第二套方案是VPX以支持VP8,VP9 ,其他還有支持另外格式的方案。我無法準(zhǔn)確推斷是否會用FFmpeg進(jìn)行硬件加速與軟件解碼,之前與內(nèi)部有過相關(guān)的的交流,但最終沒有決定。

Q7:還有個問題,F(xiàn)Fmpeg有哪些Filter是使用了硬件加速,有沒有這方面的加速計劃?

A:現(xiàn)在是有這個計劃,以下圖片可以說明

介紹FFmpeg是什么?與關(guān)于FFmpeg的問題回答

現(xiàn)在已經(jīng)有一些基本的硬件加速,主要是一些ColorSpace的轉(zhuǎn)換,有一些Scaling,再就是 Deinterlace,F(xiàn)RC現(xiàn)在考慮OpenCL去做,因為 iHD driver這塊支持應(yīng)當(dāng)沒有了。預(yù)計更多的OpenCL會進(jìn)行加速,我們希望Decoder + Filter + Encoder的整個過程都在GPU內(nèi)部運(yùn)算完成從而減少CPU的性能損耗,同時也希望OpenCL具有一定的靈活度。

Q8:VA-API在Linux下支持哪些型號CPU?

A:這與驅(qū)動有關(guān),總體來說i965支持更多的處理器,iHD支持英特爾Skylake架構(gòu)以后的處理器

Q9:如何提升硬件編解碼的質(zhì)量?

A:這是硬件編解碼方面的老大難問題,每一個做硬件編解碼的人都會提出類似的問題。因特爾曾提出了一個被稱為FEI的解決方案,其原理是僅提供GPU中與硬件加速相關(guān)的最基本功能,而像圖像質(zhì)量等方面的提升則基于搜索算法等非硬件加速功能。這就使得可以讓用戶考慮使用自己的算法,而與計算量相關(guān)的問題則交給GPU處理,但此方案并未出現(xiàn)一個特別成熟的應(yīng)用。

Q10:基于CPU、GPU設(shè)置FFmpeg線程數(shù),線程數(shù)和核心數(shù)有什么對應(yīng)關(guān)系?

A:其實對GPU而言處理速度已經(jīng)足夠快,運(yùn)行多進(jìn)程的轉(zhuǎn)碼對GPU而言基本沒有什么影響。根據(jù)實測來看,例如運(yùn)行4進(jìn)程的轉(zhuǎn)碼,對CPU和GPU的消耗沒有特別大的區(qū)別。但在這種情況下如果是用GPU進(jìn)行,我的建議是用進(jìn)程會更好管理。其次是FFmpeg自身1對n的特性使得在價格上比較敏感,這也是我們一直致力改進(jìn)的重點(diǎn)。相信改進(jìn)之后會為1對n轉(zhuǎn)碼帶來一個比較大的提升,但就目前而言仍處于內(nèi)部設(shè)計的初級階段。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19829

    瀏覽量

    233857
  • 英特爾
    +關(guān)注

    關(guān)注

    61

    文章

    10178

    瀏覽量

    174110

原文標(biāo)題:FFmpeg Maintainer趙軍:FFmpeg關(guān)鍵組件與硬件加速

文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    FX3為什么無法在Windows中使用Gstreamer?

    我正在開發(fā) FX3,我可以在 Linux 和 Windows 中使用 y8 格式的 ffmpeg 流式傳輸相機(jī),在 Linux 中使用 y8 格式的 Gstreamer,但我無法在 Windows 中使用 Gstreamer 設(shè)置 y8 格式。
    發(fā)表于 05-29 06:59

    求助,關(guān)于SE9設(shè)備上編譯出現(xiàn)的問題求解

    下有l(wèi)ibsophon-0.4.9sophon-ffmpeg_1.6.0sophon-opencv_1.6.0這三個主要的文件夾。 但是opencv以及ffmpeg中沒有include目錄,所以我下載了SDK-23.09_LTS_SP2.zip(該壓縮包中的libsoph
    發(fā)表于 04-22 11:51

    test_ff_video_encode編碼報bmvpu_malloc_device_byte_heap failed怎么解決?

    encoder writer.openEnc failed #######VideoEnc_FFMPEG exit 麻煩在看一下yuv再編碼h264,申請內(nèi)存失敗了,用FFmpeg命令同樣的問題.
    發(fā)表于 04-22 11:06

    SE5 ffmpeg例程內(nèi)存不釋放的原因?

    sophon-soc-libsophon-dev : 0.5.1 sophon-mw-soc-sophon-ffmpeg : 0.12.0 sophon-mw-soc-sophon-opencv : 0.12.0 BL2 v2.8
    發(fā)表于 04-22 11:04

    盒子上編譯sophon-sail報錯的原因?

    CXX compile features - done-- WITH_OPENCV: ON-- WITH_FFMPEG: ON-- WITH_BMCV: ON--
    發(fā)表于 04-22 09:28

    ffmpeg可以移植到SMT32H7嗎?

    找不到相關(guān)資料,ffmpeg移植到stm32的資源
    發(fā)表于 03-14 07:44

    無法在Windows Subsystem for Linux 2上使用對象檢測Python演示運(yùn)行YoloV4模型?

    在 WSL2 上運(yùn)行對象檢測 python 演示。 使用 CPU 運(yùn)行 object_detection_demo.py 時遇到錯誤: OpenCV: FFMPEG: tag
    發(fā)表于 03-05 08:43

    使用OpenCV保存從攝像頭捕獲的視頻時更改顏色輸出視頻收到警告怎么解決?

    /plugin_loader.impl.hpp (67) 庫負(fù)載 /opt/intel/openvino/opencv/lib/libopencv_videoio_ffmpeg.so => 失敗
    發(fā)表于 03-05 07:20

    關(guān)于影像儀的常見問題及回答

    影像儀是一種用于測量和檢測物體尺寸、形狀等多種特性的精密儀器。以下是關(guān)于影像儀的常見問題及回答:一、影像儀的工作原理是什么?影像儀主要是利用光學(xué)成像系統(tǒng)將物體的輪廓、表面特征等形成光學(xué)影像,然后通過
    的頭像 發(fā)表于 12-30 14:21 ?587次閱讀
    <b class='flag-5'>關(guān)于</b>影像儀的常見問題及<b class='flag-5'>回答</b>

    關(guān)于閃測儀常見的問題及回答

    閃測儀是一種高精度的光學(xué)測量儀器,以下是一些關(guān)于閃測儀常見的問題及回答:一、閃測儀的工作原理是什么?閃測儀主要基于光學(xué)成像原理。它通過高分辨率的相機(jī)和特殊的光學(xué)系統(tǒng)對目標(biāo)物體進(jìn)行拍照。當(dāng)光線照射到被
    的頭像 發(fā)表于 12-30 14:19 ?607次閱讀
    <b class='flag-5'>關(guān)于</b>閃測儀常見的問題及<b class='flag-5'>回答</b>

    【飛凌嵌入式OK3588J-C開發(fā)板體驗】OK3588J-C開發(fā)板在QT中使用FFmpeg API編程

    在第六篇報告中,我們重新將支持RKMPP的FFmpeg進(jìn)行了編譯,接下來我們就會在QT中使用剛剛編譯好的FFmpeg進(jìn)行API編程。首先我們先新建一個FFmpeg線程類,然后把FFmpeg
    發(fā)表于 12-30 10:09

    【飛凌嵌入式OK3588J-C開發(fā)板體驗】OK3588J-C開發(fā)板的支持RKMPP的FFmpeg移植

    在第4篇和第5篇的內(nèi)容當(dāng)中,QT使用ffmpeg進(jìn)行編碼時,不再像以前一樣使用API進(jìn)行編程,而是采用了外部命令進(jìn)行執(zhí)行,雖然使用外部命令進(jìn)行直播可以做到方便快捷的開發(fā),但是缺點(diǎn)也很明顯,很多
    發(fā)表于 12-30 08:57

    【飛凌嵌入式OK3588J-C開發(fā)板體驗】OK3588J-C開發(fā)板的ffmpeg編解碼、HDMI輸入及編碼

    在上篇報告中,我們燒寫好了開發(fā)板,并且簡單的測試了一下qt、ffmpeg以及板子的芯片、內(nèi)存和存儲。接下來,我們先將板子的軟件源更新一下。 sudo cp /etc/apt/sources.list
    發(fā)表于 12-27 19:26

    【米爾NXP i.MX 93開發(fā)板試用評測】03.在Debian系統(tǒng)中進(jìn)行異構(gòu)通信及總結(jié)

    在官方Y(jié)octo構(gòu)建的Linux中,異構(gòu)通信介紹的比較詳細(xì),那么在Debian下是否也是可以的呢?回答當(dāng)然是肯定的,所以我希望在Debian下可以測試一下異構(gòu)通信,剛好官方為我們提供了測試的程序
    發(fā)表于 08-21 17:24

    【米爾NXP i.MX 93開發(fā)板試用評測】02.使用QT開發(fā)推流器

    編譯FFMPEG庫 在編譯FFMPEG庫前,我們還需要先進(jìn)行編譯x264的庫。 首先需要切換到root用戶下進(jìn)行: sudo -s . /opt/aarch64
    發(fā)表于 08-13 18:02
    主站蜘蛛池模板: 欧美性猛片xxxxⅹ免费 | 国产午夜剧场 | 色婷婷狠狠干 | 国产亚洲新品一区二区 | 国产在线视频你懂得 | 在线观看免费精品国产 | 丁香婷婷视频 | 一区二区三区高清在线 | 深爱综合网| 午夜精品视频在线看 | 中文字幕第11页 | 色老太视频 | 特黄特色大片免费播放器9 特黄特色大片免费视频播放 | 黄色三级视频网站 | 最新中文字幕在线资源 | 日本三级2018亚洲视频 | 午夜剧场一级片 | 轻点灬大ji巴太粗太长了爽文 | 亚洲精品精品一区 | 美女扒开尿口给男人桶爽视频 | 午夜网站在线播放 | 亚洲成人观看 | 米奇精品一区二区三区 | 国产亚洲美女 | 视频在线观看一区二区三区 | 日韩av线观看 | 婷婷涩五月 | 97干97吻| 男女交性高清视频无遮挡 | 午夜三级视频 | 国产精品国产三级国快看 | 免费在线成人网 | 成人黄色一级片 | 久久夜色精品 | 丁香婷婷在线观看 | 日本特黄特色免费大片 | 都市禁忌猎艳风流美妇 | 色婷婷综合在线 | 黄色网页在线观看 | 成视频年人黄网站免费视频 | 久久综合九色综合98一99久久99久 |