我用Arduino做了一个24x15的LED显示屏,去年我把32KB的图形例程放入内存,这很酷。
但现在我已经升级到了内存为256KB的Arduino Mega,并有了一个带有micro-SD读卡器的“音乐之盾”。
所以我的新计划是播放SD卡上的动画。
我已经编写了一个例程来将缓冲区加载到24x15显示器上。
因此,我希望使用简单的3字节RGB像素将屏幕捕获(或任何)视频动画存储在磁盘上。该算法将采用任何分辨率的插值,选取每个(高度/15和宽度/24)块的平均颜色。因此,24x15动画将是此场景的特殊边缘情况。缩小后的640x480显然看起来很可笑,但我可能会让Mario的角色看起来很不错。
你有什么建议吗?以前有人写过这个吗?我相信肯定有人这么做了。但它真的很难找到。
发布于 2013-12-26 09:46:30
QuickASCII“是一个基于控制台的电影播放器和图片查看器,由Quicktime提供支持”,它说明了如何在支持的平台上利用Quicktime实现这一点。
发布于 2013-12-29 00:03:40
未压缩的AVI是一种很容易在Arduino上读取的格式,并且像素是RGB。因此,您可以使用AVIsynth或任何可以编写AVI的视频工具来转码您的源视频从任何格式和大小,您的工具可以读取24x15AVI未压缩,然后传输到SD卡上的Arduino读取和播放的RGB。你不必编写一个AVI阅读器,它可以读取任何类型的AVI,只需要一个可以读取你的视频工具所写入的特定风格的AVI阅读器(例如,硬编码起始偏移量和字节计数等)。
或者,让视频工具编写.BMP文件的编号“图像序列”,这也很容易阅读(同样,特别是如果您只需要阅读一种风格的文件)。我以前在嵌入式设备上做过类似视频回放的事情。
注意:请确保您的视频工具使用了良好的缩放算法,以便24x15像素表示源像素的累积区域,而不是简单的点采样,这将导致糟糕的锯齿伪影。你也可以尝试在对原始视频进行大规模缩小之前对其应用一些高斯模糊,以防止走样。
参考文献:
AVI文件格式:http://msdn.microsoft.com/en-us/library/windows/desktop/dd318189(v=vs.85).aspx http://yaai.sourceforge.net/yaai/fileformat.html
BMP文件格式:http://en.wikipedia.org/wiki/BMP_file_format
AVI Synth:http://avisynth.nl/index.php/Main_Page
索尼电影工作室白金试用版(用于编码未压缩的AVI文件):http://www.sonycreativesoftware.com/download/trials/moviestudiope
https://stackoverflow.com/questions/20776340
复制相似问题