當前位置:首頁 » 安卓系統 » android硬解碼軟解碼

android硬解碼軟解碼

發布時間: 2022-06-06 03:45:23

⑴ 在android 平台實現硬解的大俠們,你們是怎麼實現硬解碼的

1、視頻尺寸
一般都能支持176X144/352X288這種尺寸,但是大一些的,640X480就有很多機子不行了,至於為什麼,我也不知道。當然,這個尺寸必須和攝像頭預覽的尺寸一致,預覽的尺寸可以枚舉一下。
2、顏色空間
根據ANdroid SDK文檔,確保所有硬體平台都支持的顏色,在攝像頭預覽輸出是YUV12,在編碼器輸入是COLOR_FormatYUV420Planar,也就是前面代碼中設置的那樣。 不過,文檔終究是文檔,否則安卓就不是安卓。
在有的平台上,這兩個顏色格式是一樣的,攝像頭的輸出可以直接作為編碼器的輸入。也有的平台,兩個是不一樣的,前者就是YUV12,後者等於I420,需要把前者的UV分量顛倒一下。
byte[] i420bytes = null;
private byte[] swapYV12toI420(byte[] yv12bytes, int width, int height) {
if (i420bytes == null)
i420bytes = new byte[yv12bytes.length];
for (int i = 0; i < width*height; i++)
i420bytes[i] = yv12bytes[i];
for (int i = width*height; i < width*height + (width/2*height/2); i++)
i420bytes[i] = yv12bytes[i + (width/2*height/2)];
for (int i = width*height + (width/2*height/2); i < width*height + 2*(width/2*height/2); i++)
i420bytes[i] = yv12bytes[i - (width/2*height/2)];
return i420bytes;
}
3、輸入輸出緩沖區的格式
SDK里並沒有規定格式,但是,這種情況H264的格式基本上就是附錄B。但是,也有比較有特色的,它就是不帶那個StartCode,就是那個0x000001,搞得把他編碼器編出來的東西送給他的解碼器。
ByteBuffer outputBuffer = outputBuffers[outputBufferIndex];
byte[] outData = new byte[bufferInfo.size + 3];
outputBuffer.get(outData, 3, bufferInfo.size);
if (frameListener != null) {
if ((outData[3]==0 && outData[4]==0 && outData[5]==1)
|| (outData[3]==0 && outData[4]==0 && outData[5]==0 && outData[6]==1))
{
frameListener.onFrame(outData, 3, outData.length-3, bufferInfo.flags);
}
else
{
outData[0] = 0;
outData[1] = 0;
outData[2] = 1;
frameListener.onFrame(outData, 0, outData.length, bufferInfo.flags);
}
}

安卓手機硬解和軟解哪個更省電

硬體省電,軟解流暢,硬解的時候是專門的核在工作,就像轉化成mp4模式一樣,軟解就是軟體渲染,當你沒有硬體來解碼播放的時候,軟體自己調用處理器通過程序來解碼,所以,你覺得玩mp省電還是手機省電呢?

⑶ 軟解碼和硬解碼有什麼區別呢

XUNWEI硬解碼就是由顯卡核心GPU來對視頻進行解碼,CPU佔用率很低,畫質比軟解碼略差,它的優點就是播放流暢,功耗低,但是也存在著受視頻格式限制、功耗大、畫質沒有軟解碼好的缺點;
軟解碼就是由CPU負責解碼進行播放,它的優點是不受視頻格式限制、畫質略好於硬解,但也存在會佔用過高的資源、對於高清視頻可能沒有硬解碼流暢的缺點,最後一點也取決於CPU的能力。

⑷ 手機的軟解和硬解有什麼區別

硬解就是硬體解碼,指利用GPU來部分代替CPU進行解碼,軟解就是軟體解碼,指利用軟體讓CPU來進行解碼。兩者的具體區別如下所示:

硬體解碼:是將原來全部交由CPU來處理的視頻數據的一部分交由GPU來做,而GPU的並行運算能力要遠遠高於CPU,這樣可以大大的降低對CPU的負載,CPU的佔用率較低了之後就可以同時運行一些其他的程序。

軟解碼:即通過軟體讓CPU來對視頻進行解碼處理,而硬解碼:指不藉助於CPU,而通過專用的子卡設備來獨立完成視頻解碼任務。曾經的VCD/DVD解壓卡、視頻壓縮卡等都隸屬於硬解碼這個范疇。而現如今,要完成高清解碼已經不再需要額外的子卡,因為硬解碼的模塊已經被整合到顯卡GPU的內部,所以目前的主流顯卡(集顯)都能夠支持硬解碼技術。

⑸ 安卓上為什麼視頻軟解比硬解畫質更好為什麼硬解畫面的連貫性又更好些

因為硬解是靠gpu,軟解靠CPU,硬解受硬體限制有很多視頻是不能硬解的,因為硬體支持不了。而軟體就是靠軟體解碼的,可以播放更多格式的視頻,但軟解受性能限制,CPU不強悍就會不流暢了

⑹ 什麼是手機的硬解碼和軟解碼是不是兩部手機擁有相同的CPU,硬解碼的格式范圍就一樣請高手仔細講講。

軟解碼是用軟體的解碼,而不是系統自帶的解碼方式,軟解需要CPU全程參運算,但也因為如此軟解碼會更耗電。
硬解碼使用系統的解碼,相對而言省電些也更穩定,不需要第三方解碼參與,但是適用范圍會少(比如如果系統硬體不支持解rmvb,mkv的話就捉急了...有的第三方播放軟解會智能調配)。
兩者不可兼得。

非要比優勢的話,軟解更好,因為支持的格式多,能播放耗電量大但總比播放不了強~
相同硬體硬解碼當然也一致`

⑺ Android 怎麼知道一個視頻播放的APK,用的是軟解還是硬解

點量 Android視頻直播點播系統APK端是軟解硬解自適應的,也可以手動選擇軟解或者硬解。

⑻ 關於安卓手機就,音樂軟硬體解碼的問題請教高手,1,什麼軟解,什麼是硬解,它們的原理以及流程是什麼

我是來回答問題額

熱點內容
時間輪資料庫 發布:2025-05-19 16:45:20 瀏覽:269
ipad緩存垃圾怎麼清理 發布:2025-05-19 16:44:46 瀏覽:536
視頻加解壓 發布:2025-05-19 16:35:28 瀏覽:6
c語言大學教程第六版 發布:2025-05-19 16:04:21 瀏覽:741
androidvr播放器 發布:2025-05-19 15:55:32 瀏覽:965
我的世界pc如何創建伺服器 發布:2025-05-19 15:51:24 瀏覽:734
搶腳本 發布:2025-05-19 15:47:14 瀏覽:407
ct4哪個配置性價比最高 發布:2025-05-19 15:38:02 瀏覽:954
如何設置強緩存的失效時間 發布:2025-05-19 15:21:28 瀏覽:695
winxp無法訪問 發布:2025-05-19 15:19:48 瀏覽:947