2015-11-05 225 views
0

我正在尋找OpenCL中的無損視頻壓縮。它必須是無損的,因爲它是一個項目需求。發現了一些用OpenCV和ffmpeg編寫的無損算法,但它們都不支持OpenCL編碼/解碼。我使用的是蘋果電腦,它們配有不支持CUDA的ATI顯卡。OpenCL無損視頻壓縮

任何幫助將不勝感激。

回答

0

您不可能在OpenCL中找到任何已在此無損視頻壓縮任務中實現的內容。最好的辦法是採取一些已經存在的東西,然後嘗試去適應它,但OpenCL的基本方法是將計算任務分成不同的線程,這些線程在小塊內存上運行。你可以看看WebM作爲起點。

1

您可以使用已具有OpenCL支持的x264,並使用CRF 0(無損)。我知道,看起來mpeg4總是有損的,但事實證明它也具有無損模式,大多數時候比其他無損編解碼器更好。

avconv -i input -c:v libx264 -preset slow --opencl -crf 0 -c:a copy outvideo.mp4 

的OpenCL在X264稍高於純CPU快所以它沒有被廣泛使用。編輯:在我的系統中我的libx264不接受--opencl,但我認爲從來沒有版本確實接受該參數。也許你會需要一個二進制可執行文件「x264」,因爲libx264可能不會公開所有的底層功能。

+0

我們的應用程序非常耗費CPU資源,只要我可以將某些處理加載到GPU上,那將會很棒。我會給你的答案嘗試並讓你知道。謝謝 – Arash

+1

噢,在這種情況下,它可以幫助。 x264會負載平衡,因此將x264保留爲單個CPU核心+ GPU可能是一種很好的做法,可以使用大多數GPU設備。 – DarkZeros

+0

我想將png文件轉換爲視頻,ffmpeg具有相同的問題,不接受--opencl與libx264。你知道如何用x264做到這一點嗎? – Arash