Re: [問題] 程式啟動流程出錯

作者: sorkayi (尋找奶昔)   2014-11-09 22:56:19
板上各位大大好
目前已經有找到問題發生的可能地點了
目前發現 壓縮成 H.264 那部分是沒有問題的
主要發生原因是在檔案寫入至 硬碟的部分出錯了
但是就是不知道為什麼會出錯
只要在開檔時 open 加入 O_SYNC 就能成功將影格寫入
但由於 IO 動作太慢了 導致擷取的影格漏掉了
不知道有沒有什麼方法可以 提高寫入速度
原本只利用 Linux 原本的快取空間來寫入就會出現破圖問題
不知道 Linux 在登入動作時會有做一些 IO 相關的處理嗎
感謝各位大大 >///<
※ 引述《sorkayi (尋找奶昔)》之銘言:
: 板上大大安安
: 最近我在 TI 的開發板上做了影像擷取轉 H264 再存入硬碟中
: 如果我的所寫的程式是利用手動啟動的(./xxxxxx &)
: 錄影出來的影像就不會破圖
: 但若是透過 init.d/rcS 來開啟程式
: 錄出來的影像就會有一小段出現破圖
: 不知道板上大大有沒有什麼建議 @@
: 能夠自動開啟程式 又不會出現破圖情形
: 感謝各位的閱讀....
作者: askacis (ASKA)   2014-11-09 23:43:00
Linux IO調整的部分可以google dirty ratio可以調整磁碟IO與記憶體cache的運用,比O_SYNC來的溫和又或者你可以把寫入動作開成獨立thread,用兩個buffer輪流切換避免waiting I/O之類的方式看看太即時寫入或是過依賴Cache到最後out of memory都有可能~
作者: carylorrk (carylorrk)   2014-11-10 12:47:00
同時開 thread 的意思是?各開一條 thread ,用 producer consumer 往下傳嗎?

Links booklink

Contact Us: admin [ a t ] ucptt.com