請教:我在用雙執行緒+佇列的方式從HI3559采集H264視頻然后給live555 server 在用VLC觀看 只能播放幾分鐘,客戶端就主動斷開連接了
1.懷疑是和時間戳有關,于是修改時間戳(不知道修改的位置對不對求指教: void setPresentationTime() {
unsigned long _ulTimeStamP_dest_1 = GetH264TimeStamp(); //zy 20181121
//fPresentationTime = fNextPresentationTime;
fPresentationTime.tv_sec =_ulTimeStamP_dest_1 /1000;
fPresentationTime.tv_usec =_ulTimeStamP_dest_1 * 1000;
printf("time==[%d s] [%lld us]\n",fPresentationTime.tv_sec,fPresentationTime.tv_usec);
}這個_ulTimeStamP_dest_1 是我從HI3559采集過來的時間戳ms單位 ,因為我看時間戳計算是在這unsigned H264or5VideoStreamParser::parse() 因為我不知道采集過來的時間戳(_ulTimeStamP_dest_1 )是不是能直接賦值給RTSP 所以我百度看到H264流 RTP計算時間戳需要 *9/10 所以我也這樣用了下 不知道對不對
2.按照步驟一的方法修改了時間戳 但是還是只能看幾分鐘 于是我修改了下幀率 從25FPS改成30了 現在客戶端不主動斷開了 但是 播放很卡 不同步丟幀的問題
請問: 大致可以推測因為采集過來的時間戳or幀率 和RTp 發送的時間戳 和幀率還是 不同步 導致的其他問題吧?
請問哪位遇到過 求分享下 或者給解說下 非常感謝
uj5u.com熱心網友回復:
沒有rtcp互動吧uj5u.com熱心網友回復:
樓主 代碼我能參考下嗎我也正在做這個東西 初學者
現在是每次用vlc播放時,連不到rtsp server
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/78081.html
標籤:多媒體/流媒體開發
