您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
tiktok卡頓怎么辦(抖音看直播關不了怎么辦看別人直播,返回了還在直播,關不了,一直有聲音?)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-08 05:28:12【】8人已围观
简介電腦抖音直播卡頓怎么解決?2、電腦本身問題:電腦CPU性能不行直播的話,起碼4核CPU主頻34起步如果要1K的分辨率需要更高的CPU性能怎樣在切入切出虛擬攝像頭時營造卡頓效果背景介紹:本人原先是and
電腦抖音直播卡頓怎么解決?
2、電腦本身問題:電腦CPU性能不行
直播的話,起碼4核CPU 主頻3
4起步
如果要1K的分辨率 需要更高的CPU性能
怎樣在切入切出虛擬攝像頭時營造卡頓效果
背景介紹:本人原先是android逆向工程師,后來因為工作變動,離開了協議分析這類的崗位,目前在做直播機與第三方應用兼容性分析相關分析,所以就有了這篇兼容性分析文章。
問題:tiktok在我們推流設備直播時,經過幾個特定步驟后切換前后置攝像頭會出現卡住的問題。
現象:直播畫面卡住不動了。
解決思路:找到點擊切換按鈕后的點擊事件回調,找到切換攝像頭的核心邏輯,來找到卡住原因。
1、如果了解ART虛擬機的同學會知道,jni函數和java函數都會調用到art虛擬機ArtMethod的Invoke函數。

輸出日志:
find target method: android.view.View.performClick
ArtMethod Invoke【22955】: ; lr:0x4af78c; libart.so: android.view.View.performClick
ArtMethod Invoke【22955】: ; lr:0x2e2800; libart.so: java.lang.Enum.toString
ArtMethod Invoke【22955】: ; lr:0x2e2800; libart.so: X.Ggh.LIZ
ArtMethod Invoke【22955】: ; lr:0x2e2800; libart.so: java.util.LinkedHashMap.<init>
ArtMethod Invoke【22955】: ; lr:0x2e2800; libart.so: java.util.HashMap.putAll
ArtMethod Invoke【22955】: ; lr:0x2e2800; libart.so: java.util.HashMap.put
ArtMethod Invoke【22955】: ; lr:0x2e2800; libart.so: X.DED.LIZ
ArtMethod Invoke【22955】: ; lr:0x2e2800; libart.so: X.D5k.onClick
通過frida hook libart.so的ArtMethod的Invoke函數,我們找到了點擊事件的回調類X.D5k.

找到這個類對應的onClick函數后,我對整個流程做個簡單的研讀,感覺發現了核心代碼在注釋直播流處理。

跟著核心代碼一路往下找到LiveCore這應該就是直播的核心代碼,其實現類為LiveCoreImpl,ILiveStream的實現類為LiveStream。


發現此處只是做了日志信息的合成和應用鏡像之類的代碼,但是又找到一個核心的類LiveStreamVideoCapture。

追蹤到這里發現鏈路斷了,又湊巧通過frida打開tiktok卡死在啟動頁上,那么接下來使用Xposed繼續理流程。
上面的代碼雖然沒有追中到切換攝像頭的核心邏輯,但是我們找到了兩個核心邏輯的類LiveStreamVideoCapture和LiveCoreImpl,分別和直播視頻流控制直播核心流程控制相關,所以Xposed繼續走的時候以這兩個類為重點,那么此處就開始放大招了,hook這兩個類的所有函數,貼上代碼。注意這里使用的classloader是application的classloader。


日志太多了,這里通過shell命令setprop做了個日志控制。



然后找到CameraVideoCapturer類的tryDeliverFrame,這里是處理相機的視頻幀,感覺越來越接近真相了,繼續hook這個方法,然后發現相機切換卡住以后,這個方法也停止調用了,那么沒辦法,繼續往上找堆棧中run方法的調用調用處。

繼續hook。


找到這個類。

至此,熟悉相機開發的同學應該知道,這就是SurfaceTexture.setOnFrameAvailableListener后,相機的可用幀會回調到這個函數,切換相機后卡頓,可用幀也同時不回調。
接下來hook原生相機。



調用的是android.hardware.Camera,也就是camera1相關的api,切換卡頓的時候并沒有調用Camera.open函數。


首次開直播的時候調用了這兩個函數,點擊切換相機的時候并沒有調用,在X.HCF這個類里找到switchCamera函數,那么猜測首次開相機,和切換前后相機走的并不是同一個流程,因為這個bug只有在切換相機時才會出現,所以我們就不關注首次開相機的流程。


果然,切換相機的時候走了這個流程,這是又發現了LiveStreamVideoCapture這個核心類,那么簡單進去看看SwitchCaptureRunnable這個有沒有被創建。


經過測試,發現這個類只會被創建一次,而run方法每次切換都會被調用,而且卡住的情況下也會被調用,那么結合上面Camera.open卡住時沒有調用,可以大膽的猜測中間過程某個條件不滿足被return了。根據堆棧信息繼續往下找幾個關鍵點。


發現CameraVideoCapture里也有切換相機的流程,切一步步往下走,能調用到上面我們hook過的X.HCF的switchCamera,那么我們就看看這里的switchCamera有沒有調用吧。
•情況一:先滑動直播界面,再按home鍵,然后回到tiktok,再切換相機,此時status()函數返回1,走了后續Camera.open流程。


•情況二:先滑動界面,再切換相機,然后按home鍵,接著回到tiktok,最后切換相機,此時status()函數返回2,沒走后續Camera.open流程。

從日志看switchCamera兩種情況都走了,再結合switchCamera的源碼看,源碼里的status()函數的返回值決定了是否繼續往下調用切換相機的流程,很遺憾的是,兩種情況都出現了,而且都會卡住(為什么兩個status值會不一樣呢,這里先留個坑,最后來填)。這可把我難住了!
就在這時腦子突然開竅,既然畫面卡住,那么必然有錯誤信息回調,果然一搜索CameraVideoCapture這個核心類有onError函數,毫不猶豫hook它,發現每次出錯時,這個函數的錯誤碼都會報-421錯誤(截圖省略-421錯誤碼的測試過程)。


錯誤信息非常明確的告訴我們是因為相機不支持縮放,導致的打開相機失敗,那么至此相機卡住的直接原因找到了,但是還沒找到為什么特殊的操作流程后會卡住,而正常的操作不會。于是乎繼續跟著堆棧信息往上找。

發現走進了這里的流程,導致的相機進縮放流程,為了驗證猜想,我決定在這個函數調用前,把message里的what字段改成2,讓它不走這個流程,來看看是不是就不會導致界面卡住,于是就有了下面這段代碼。

經過這一番篡改,果真隨便怎么折騰,直播界面都不會卡住了。那么我只要找到那里給handler發送的這個message就應該離真想很近了。


然后找這個handler的sendMessage相關切message的what字段賦值為1的函數。

然后我找到了它,這個函數還和縮放相關,那就八九不離十了。


按之前的堆棧繼續hook,發現卡住的時候這些方法確實都走了,而正常的時候是不走的,那么在X.Dvc的LIZ繼續用拋堆棧大法。
得到如下兩種堆棧:
•X.DCM接收到了touch事件,然后交由X.DCc這個類進行手勢判斷,發現是需要執行縮放的手勢,于是執行了相機的縮放功能(由于我們業務原因需要隱藏底部NavigationBar,在Window底部上劃會顯示NavigationBar,上劃的手勢同時觸發了控件的以為需要執行相機縮放),但是我們的虛擬攝像頭又不支持縮放,導致打開相機失敗,畫面就卡在了之前相機拿到的最后一幀。

X.DCc類

X.DCO的invoke方法

•點擊tiktok的切換相機Button,觸發進入相機的縮放,這里就和我們之前的點擊事件聯系上了,紅框部分就是補上了之前沒關注但是最重要的相機縮放功能判斷部分。


至此,我們已經把相機卡住的直接原因和根本原因都找到了,先手勢再點擊切換相機觸發了進入相機縮放功能判斷流程,由于我們的虛擬相機不支持縮放,導致打開相機失敗,卡在相機的最后一幀(也可能是黑屏)。所以只要交付給framework組開發人員,讓他們支持相機縮放相關功能就可以了。
接下來來填前面留下的坑,為什么退到后臺會導致status函數的返回值不一樣?
我們回到CameraVideoCapturer類,看看這個status()函數到底是個什么鬼!

發現他是父類ExternalVideoCapturer的函數,而且就是返回個字段,那再看看他那里進行了賦值。

通過AndroidStudio自帶的字段讀寫索引功能,很容易找到父類里的start、stop和release函數,以及自身的onErrorOnHandler函數里(也就是我們之前拋-421錯誤堆棧的函數)。如果熟悉相機開發的同學應該知道,一般我們界面退到后臺會釋放相機,然后回到前臺重新打開。那么接下來我們把這幾個函數都hook一下,來驗證猜想。

這里我多hook了一個onCaptureStarted函數,這個函數會調用父類的onStart函數,想看看是否會有調了onCaptureStarted但是沒調父類的onStart的情況。然后還hook了CameraVideoCapturer自身重寫的onStart和父類ExternalVideoCapturer的onStart函數。
下面是剛打開直播時的日志,此時status=1。

•情況一:先滑動直播界面,再按home鍵,然后回到tiktok,再切換相機,此時status()函數返回1,走了后續Camera.open流程。
這是直播退到后臺時的調用,說明確實釋放掉了,但是又調用了父類的onStart函數,那么此時的應該為2的status又變回了1。

接下來回到前臺,此時一切正常status還是為1,而且重走了自身的onStart函數,相當于相機整個流程完全重開。

再接著切換相機第一次,這時的status還是為1,相機正常,緊接著我們發現了-421錯誤,發現又重走了父類的onStart函數,那么此時status還是1。

接下來切換相機畫面卡住了,但還是走了父類的onStart。


以上就是第一種情況,由于每次切換相機都會拋完-421錯誤后,再調用父類ExternalVideoCapturer的start函數來重置status,也就造成了能調用Camera.open但是畫面卡住的情況。
•情況二:先滑動界面,再切換相機,然后按home鍵,接著回到tiktok,最后切換相機,此時status()函數返回2,沒走后續Camera.open流程。
前面流程就不貼了,直接開后面的流程記錄。
退到后臺 status=1

回到前臺status=1

切換相機第一次,畫面正常status=1

切換相機第二次,在調用switchCamera之前先拋了一次-421的錯誤,導致status=2,然后switchCamera函數里判斷status為2就被return,沒有調用Camera.open函數,接下來也沒有更多函數來重置status的狀態,所以無論怎么切換相機,都無法執行到Camera.open(),除非tiktok退到后臺,再回到前臺。


以上就是第二鐘情況。
抖音看直播關不了怎么辦看別人直播,返回了還在直播,關不了,一直有聲音?
音看不了直播怎么回事,下面與大家分享抖音的直播怎么都看不了的教程。
觀看直播是抖音的一項基本功能,如果無法觀看直播,可能是手機當前的網絡有問題,可以更換一個網絡嘗試。
也有可能是軟件出了問題,可以將抖音完全關閉后再重啟嘗試。
或者是手機系統出錯造成卡頓,嘗試重啟手機再打開抖音。
還可能是抖音的服務器出現了問題,這種情況只能等待官方將其修復。
音直播怎么看不了?抖音直播加載不出來怎么辦?
1.確定一下自己的網絡是否正常,建議更換wifi或者關掉重新進入;
2.確定主播正在直播哦,因為抖音直播是不支持回放的;
3.提示“離開一會兒,請耐心等候”,是因為主播暫時離開了房間;
4.提示“被主播踢出了房間”,那么請放棄進入吧,順便想想自己是否違反了什么規則!
1、網絡是否正常:
首先要確定自己的網絡是不是正常,一般情況下抖音直播是都可以看的,主播違反了規則是有可能禁止直播的,但是一般是不會禁止用戶看直播的。
2、主播是不是在直播:
你要明確你想看直播的主播是不是現在正在做直播,畢竟現在抖音直播是沒有回放功能的。
3、確定主播是不是離開了房間:
提示“離開一會兒,請耐心等候”,是因為主播暫時離開了房間;
4、是不是被踢出去了:
4.提示“被主播踢出了房間”,那么請放棄進入吧,順便想想自己是否違反了什么規則!
關于抖音怎么不能看直播了,大家是不是知道了呢?如果大家
抖音修改內容暫時不可用是怎么回事詳情
抖音顯示當前音頻不可用原因是1,音頻文件的格式不對,或者文件不完整2,軟件的解碼器部分損壞或者病毒導致;這個吧,說明你不能修改你的個人簽名,可能是網絡問題,也可能是抖音鎖定了,你再看看。
有權限抖音備注名不可用請修改后重試有權限,每個月是有上限的達到上限之后就無法進行修改了或者是你當前的網絡不好,抖音只能修改自己關注的人的備注,或者是你當前的網絡不好抖音備注名,有可能是你輸入的備注不;抖音改不了資料可能是您的賬號有違規情況,導致無法正常更改昵稱也可能是賬號ID有問題,無法通過或者修改下簽名,簽名里不能有敏感詞匯建議到抖音設置里找到幫助與反饋聯系抖音客服幫助解除限定 抖音TikTok是由今。
內容不符合要求導致的出現了抖音修改內容暫時不可用,請重新更改的提示,其實這就是我們的內容不符合要求導致的。
那就是官方在升級,應該會有公告,升級結束后就可以用了望采納謝謝;會幫助我們更好判斷,加速審核完成哦~預計審核時間5個工作日現在抖音游戲直播只對部分人開放權限,大多數人還是要申請的其實申請游戲直播權限沒那么難,但是播游戲需要用電腦和OBS直播,希望可以幫到你,不懂可以找我。
1抖音修改資料被鎖定24小時能改23若是抖音用戶在修改資料的時候提示用戶資料修改暫時被鎖定,請在鎖定時間結束后重試,最快的話鎖定時間也是24小時,而且每個用戶的等待時間也是不同的,部分用戶的鎖定時間可能會更;抖音修改不了資料的原因操作方法問題,方法如下準備材料抖音短視頻APP智能手機 1打開抖音后,點擊首頁右下角的我選項2在我頁面,點擊進入編輯資料選項3進入編輯個人資料頁面中,點擊簡介選項4編輯上。
改個時間再試試看,可能是系統太忙反應不過來以前不會這樣子呀;這是為了保證信息統計的及時準確,抖音會定期關閉數據更新避免用戶頻繁更改。
1該聲音沒有版權,沒有版權的聲音是無法使用的2該聲音文件的格式不對,或者文件不完整,作者可重新編輯聲音嘗試3抖音該聲音不可用的原因主要就是用戶視頻的聲音因為版權等原因不能使用。
很赞哦!(72248)
相关文章
- 01 youtube vanced github apk download(miuivancedyoutube閃退)
- 01 youtube to mp3 microsoft edge(edge看不了油管8k)
- 01 youtube to mp3 買粉絲 download 買粉絲中文意思(P2P買粉絲怎么加速)
- 01 youtube to mp3 downloader pc windows windows(C#的側邊欄技術。答好了加分。)
- 01 youtube to mp3 買粉絲 download 買粉絲中文設置(P2P是什么意?)
- 01 youtube to mp3 買粉絲 online 買粉絲nverter 買粉絲下載器(如何安裝Free Video to Flash Converter)
- 01 youtube to mp3 買粉絲 download hindi songs download masstamilan 2020(Marie.Digby.-.[Unfold].專輯 給個地址,最好無損,其次ogg,最次MP3 320k)
- 01 youtube to mp3 買粉絲 買粉絲nverter software windows 10磁盤管理(求買粉絲make 買粉絲 買粉絲nverter破解版)
- 01 youtube to mp3 online downloader(如何使用《FileZilla Server》架設FTP伺服器)
- 01 youtube uk official website uk(求吸血鬼日記主要人物分析,要英文的,詳細點,有深度的。)
热门文章
站长推荐
01 youtube to mp3 shark 買粉絲nverter mp4 買粉絲nverter ss(音頻轉換軟件的熱門軟件)
01 youtube url(怎么用URL下載)
01 youtube to mp3 買粉絲 買粉絲nverter 買粉絲 mp3 music files(Marie.Digby.-.[Unfold].專輯 給個地址,最好無損,其次ogg,最次MP3 320k)
01 youtube to mp3 player 買粉絲nverter 買粉絲 online games play下載(高分懸賞!求一首英文流行歌曲)
01 youtube to mp3 買粉絲 software是什么可以聯系(P2P是什么意思??)
01 youtube to mp3 python script(python是個什么東西)
01 youtube to mp3 買粉絲 download 320kbps youtube to mp3(想要《咖啡王子一號店》的所有歌曲)
01 youtube to mp3 買粉絲 app安卓手機嗎(怎么把視頻里的音樂提取成mp3)