按順序讀取未壓縮圖片序列如何提前緩衝?

软件和网站开发以及相关技术探讨
回复
头像
dukelec
帖子: 410
注册时间: 2010-08-26 22:20
系统: Gentoo
来自: Canton

按順序讀取未壓縮圖片序列如何提前緩衝?

#1

帖子 dukelec » 2011-01-18 19:58

led點陣屏的上位機設計,目前的實現是:

1>預先用 mplayer 將視頻文件解碼成 tga 圖片序列,然後按順序將 tga 圖片一張一張按順序通過 Ethernet 發到控制器。

如何在我讀取 000001.tga 的時候將其後的 000002.tga、000003.tga …… 緩衝到內存,且不搶佔當前的 cpu?


還有想請教的是我的方案是否是最高效的?比較下面那個方案呢?

2>將視頻文件預先解碼成壓縮圖片格式如png,然後順序讀取png文件即可,無須考慮緩衝問題,因爲文件體積小,讀的快。但讀取時解壓png格式會佔用額外的cpu,相比拷貝較大的tga文件到內存哪個更划算?
3>控制mplayer一幀一幀的播放視頻,每播放一幀將播放窗口截屏,然後處理截屏數據。相比前面的方案還要額外的將圖片畫在上位機裏做效果預覽,省多一步。但也存在視頻解壓算法,如何取捨?
头像
dukelec
帖子: 410
注册时间: 2010-08-26 22:20
系统: Gentoo
来自: Canton

Re: 按顺序读取未压缩图片序列如何提前缓冲?

#2

帖子 dukelec » 2011-01-18 20:01

文章主题 : 按顺序读取未压缩图片序列如何提前缓冲?

led点阵屏的上位机设计,目前的实现是:

1>预先用 mplayer 将视频文件解码成 tga 图片序列,然后按顺序将 tga 图片一张一张按顺序通过 Ethernet 发到控制器。

如何在我读取 000001.tga 的时候将其后的 000002.tga、000003.tga …… 缓冲到内存,且不抢占当前的 cpu?


还有想请教的是我的方案是否是最高效的?比较下面那个方案呢?

2>将视频文件预先解码成压缩图片格式如png,然后顺序读取png文件即可,无须考虑缓冲问题,因为文件体积小,读的快。但读取时解压png格式会占用额外的cpu,相比拷贝较大的tga文件到内存哪个更划算?
3>控制mplayer一帧一帧的播放视频,每播放一帧将播放窗口截屏,然后处理截屏数据。相比前面的方案还要额外的将图片画在上位机里做效果预览,省多一步。但也存在视频解压算法,如何取舍?
回复