最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

問個額外的問題,jpg序列組合成一個視頻有什么好方法?

問個額外的問題,jpg序列組合成一個視頻有什么好方法?

iOS
四季花海 2023-05-02 14:10:11
小生最近做個產(chǎn)品 socket通信,對這塊了解甚少,同樣對C也了解甚少。把需要的功能實現(xiàn)了,但是異常方面總覺得應(yīng)該做些什么,但不了解有什么地方需要實現(xiàn)。服務(wù)器過來的是逐楨圖片,大概的實現(xiàn)流程,使用的AsyncSocket,服務(wù)器發(fā)送數(shù)據(jù)量,先放入NSMutableData *totalData中,每過來一個數(shù)據(jù)就appendData,加入到totalData里面,然后到數(shù)據(jù)模塊里面對16進(jìn)制數(shù)據(jù)進(jìn)行處理,得到一張完整的圖片后將其從toatlData中使用subdataWithRange將其remove.因為測試環(huán)境也是我自個搭建的,不知道正常使用下會有多少異常,我有幾個疑惑的地方: 1,我沒實現(xiàn)ringbuffer,直接通過NSMutableData來處理,這個會有影響不? 2,對于數(shù)據(jù)的接受方面,直接append會不會有數(shù)據(jù)錯位的情況,對于數(shù)據(jù)的部分丟失一般是直接remove掉還是保留? 3,每接受到一次數(shù)據(jù)才處理一次。也就是說每響應(yīng)一次socket的delegate才處理一次數(shù)據(jù)會不會太慢?- (void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
查看完整描述

2 回答

?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗 獲得超10個贊

1,關(guān)于接收數(shù)據(jù)那塊,didReadData的delegate中用一個NSMutableData即可,接收到數(shù)據(jù)后先判斷,看是否需要使用appendData加入進(jìn)來,如果剛好讀取完一個完整的數(shù)據(jù),先copy出來去操作,并將NSMutableData設(shè)置為nil,下一個數(shù)據(jù)進(jìn)來重新初始化并添加。這樣保證內(nèi)存中最多只有一個完整的數(shù)據(jù)。 而且處理完就得繼續(xù)readData。

2,關(guān)于數(shù)據(jù)的容錯,是否完整這個就得根據(jù)文件楨頭來進(jìn)行判斷,客戶端自己決定如何丟棄。

3,實際上接收的速度是和服務(wù)器發(fā)送的速度相關(guān)的,服務(wù)器控制發(fā)送時間間隔即可??蛻舳司偷貌粩嗟淖x取,操作。

最后如何組合圖片序列為視頻 使用AVAssetWriter即可,可以控制每秒多少張,包括儲存的格式,沒必要去使用ffmpeg或者自己寫數(shù)據(jù)頭。


查看完整回答
反對 回復(fù) 2023-05-05
?
翻閱古今

TA貢獻(xiàn)1780條經(jīng)驗 獲得超5個贊

你發(fā)送端就要序列化數(shù)據(jù),接收端就不會錯位的。一般情況下是不會產(chǎn)生錯位的。每次接收數(shù)據(jù)你可以計算NSData的大小的,不需要使用什么subdataWithRange,最好的好就是使用append。delegate這個是接收到一定的長度或者小于這個長度就會delegate。如果數(shù)據(jù)量很大的話,會產(chǎn)生分成很多個數(shù)據(jù)包傳輸。所以一次delegate有可能不是一個完整的數(shù)據(jù)

查看完整回答
反對 回復(fù) 2023-05-05
  • 2 回答
  • 0 關(guān)注
  • 399 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號