Ayumi123 发表于 2011-1-23 00:01:35

Bad Apple & 12864 制作

对在12864上播放Bad Apple神往己久,今天终于抽了一天的时间完成了这个心愿^_^,在制作的过程中还是遇到了些问题,现与大家分享一下。在12864上实现Bad Apple的播放重点不是在如何实现,而是在如何将Bad Apple如avi,mp4,mkv格式转换成单片机可以接受的数据。这一部分我会着重详细的说明。
硬件:
1、单片机:STC12C5A60S2
2、12864:由ST7920控制(质量MS不怎么样)
3、存储介质: TF+SD卡套
主要思路:由于单片机代码区的限制,不可能将视频简单的放在单片机里,于是我们必须使用外部存贮器,这里我们用SD卡。这里的SD卡文件系统为FAT16,使用可移植的Petit FasFs,读取数据十分的方便。单片机只要负责从SD卡读数据并写入12864中就没什么其它事了。最重要的是Bin文件的获得。下面来分析一下如何获得我们所需要的BIN文件
首先,声明,本文参考了网上的多篇文章
1、http://www.yleee.net/viewthread.php?tid=3145
2、http://kongjian.baidu.com/%D4%C6%CA%C7%B9%E9%CD%BE/blog/item/c25d05a7a181a5fa9052eeaf.html
3、http://www.ourdev.cn/bbs/bbs_content.jspbbs_sn=4250597&bbs_page_no=1&search_mode=3&search_text=zxttgg&bbs_id=9999
本人并无侵权的意识,如有问题可以联系我。
首先先在论坛搜索之后发现一个很好的工具SVI Tool 30b.rar,但是这个工具死活不能在我的电脑工具,采集出来的数据全部是一样的,经过多次尝试,最终决定放弃,并想利用网上己经制作好的BIN文件,如链接1,可是发现他采集数据的使用方式和ST7920有很大的不同,它是竖着写的,这样根本没有办法利用他制作好的BIN文件,于是又放弃了。最后,还是决定采用链接2的方式来实现,这也是我一开始的想法。对于截图工具,真的是很无语了,从mplayer ww到power DVD,再用Fraps再到神马video snapshot genius都不好用,后来硬着头皮使用了gomplayer,虽然gomplayer并不算得上一个很好的截图工具。它的使用方法是先打开gomplayer右键->preferences->General->Keyboard中添加一个Shortcut Key即CAPTURE_Save,然后就可以打开视频文件,要想截图的话,按住CTRL+E三分钟吧。。。截下来的图在我的文档中,如D:\My Documents\GomPlayer\Capture文件夹中。接下来就可以用SignPics这个小巧的工具进行转换,当然像链接2一样先改视频大小也是可以的。在获取得了上千张的截图之后(我的电脑因为配置太差,在截图过程中巨卡无比,高画质中就没有完整截下整个视频。对于图片转换到BIN文件,我们可以使用image2LCD 3.2,一定要是3.2版的,因为它才带批量转换功能,要不。。。你懂的。
http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_612925D3NRET.jpg
signpics (原文件名:signpics.jpg)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_612926FKR5XO.jpg
gomplayer快捷键设置(原文件名:gompaHimem.jpg)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_612927NHZHCN.jpg
image2LCD设置(原文件名:IMAGE2LCD.jpg)
给出链接地址:
Image2Lcd_32.rar:http://dl-sh-ocn-1.pchome.net/0b/l6/Image2Lcd_32.rar
Image2Lcd_KeyGen.rar:http://cachefile19.rayfile.com/zh-cn/download/fd9bc645070cda9fc4a7788154de4fa8/Image2Lcd_KeyGen.rar,关于转换的方式,由你算法决定吧,我的选择是输出数据类型:二进制,扫描模式:水平扫描,输出灰度 :单色,并钩去了包含图像头数据。这样经过转换后我们会得到很多的BIN文件,此时我们可以打开CMD,切换到你bin文件所在的目录,执行copy *.bin xx.bin 这条命令。
这样,就可以把这N条的BIN文件合成为一个单一的文件。好了,现在可以把这个XX.bin放到你己经格式化好了的SD卡中~
由于个人对12864没有什么研究,只会一些极其基本的指令,这里就不贴上代码了,如果有需要的可以聊系我的邮箱dqgcs1990@gmail.com
一个是注_册版的image2LCD,一个是未注_册的,效果不大好,液晶屏闪得历害,引结死了
http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_612928KUQPC4.jpg
(原文件名:20110122.jpg)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_612929Y0HKGV.jpg
(原文件名:20110122(001).jpg)

ghostxdy 发表于 2011-1-23 15:09:43

可以说你技术宅么?
求视频播放效果

armwolf 发表于 2011-1-23 18:16:34

lz录个视屏看看效果呐...

Ayumi123 发表于 2011-1-24 12:51:15

回复【1楼】ghostxdy情迷单片机
-----------------------------------------------------------------------

效果不大好,不好意思放上来,很闪

Ayumi123 发表于 2011-1-24 12:52:54

回复【2楼】armwolf
-----------------------------------------------------------------------

我的12864感觉就是很慢,反白的速度都非常慢。没有什么更好的方法来增加截图的数量,如果可以的话可能会好些吧

hefanghua 发表于 2011-2-13 22:37:40

链接2里的读图片读成每秒3帧那个样子真的很无语,汇编可以帮助他提高显示速度。我用51可以达到每秒至少10帧的速度(从ROM读数据显示)。

回LZ“对于截图工具,真的是很无语了,”: 推荐使用KMPLAYER3.0,可以直接打开各种格式视频(包括flash),按下CTRL+G开启自动截图功能,“要捕获的数量”选连续,直接选保存的分辨率和bmp格式,就可以一帧不漏一帧不多的自动保存了。

我最近看了烂苹果视频后估计也中毒了。。。

刚才瞎猫碰到死老鼠,给我找到了image2LCD 3.2的sn. 但是批量转换这一按钮是灰的,要打开捕获目录里的任一截图才可使用,另外批量转了几十张后程序假死(仍可转完)。这软件支持JPG的,不需要用SignPics软件了吧?

zxttgg 发表于 2011-2-14 02:07:58

播放效果:
http://v.youku.com/v_show/id_XMjAzODcwNTk2.html      
http://v.youku.com/v_show/id_XMjAzODkwNzc2.html      
http://v.youku.com/v_show/id_XMjAzODg3MDc2.html      [全金属]


http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4250597&bbs_page_no=1&search_mode=3&search_text=zxttgg&bbs_id=9999

hhdslb 发表于 2011-2-14 08:38:17

mark

rigol_fan 发表于 2011-2-14 09:04:17

Ayumi123 发表于 2011-2-16 17:39:06

回复【5楼】hefanghua
-----------------------------------------------------------------------

回复【5楼】hefanghua
链接2里的读图片读成每秒3帧那个样子真的很无语,汇编可以帮助他提高显示速度。我用51可以达到每秒至少10帧的速度(从rom读数据显示)。
回lz“对于截图工具,真的是很无语了,”: 推荐使用kmplayer3.0,可以直接打开各种格式视频(包括flash),按下ctrl+g开启自动截图功能,“要捕获的数量”选连续,直接选保存的分辨率和bmp格式,就可以一帧不漏一帧不多的自动保存了。
我最近看了烂苹果视频后估计也中毒了。。。
刚才瞎猫碰到死老鼠,给我找到了image2lcd 3.2的sn. 但是批量转换这一按钮是灰的,要打开捕获目录里的任一截图才可使用,另外批量转了几十张后程序假死(仍可转完)。这软件支持jpg的,不需要用signpics软件了吧?
-----------------------------------------------------------------------

要说写12864的话C语言的速度太快了,我在驱动上加了大量的延时才能正确的读写12864的数据&命令。BIN放在SD卡中,速度太慢(带文件系统),自己做的一个MP3只能播放到96kbps,用ch375则可以到192kbps。
本来觉得神器mplayer就可以截图的。结果发现不行,有点气晕脑子了。km不喜欢,一直都没用。
image2lcd3.2我不是有发了一个keygen吗?直接就可以用了,呵呵~噢呵呵呵呵,我用signpics是用来转换分辨率的。

Ayumi123 发表于 2011-2-16 17:41:26

回复【6楼】zxttgg
播放效果:
http://v.youku.com/v_show/id_xmjazodcwntk2.html      
http://v.youku.com/v_show/id_xmjazodkwnzc2.html      
http://v.youku.com/v_show/id_xmjazodg3mdc2.html      [全金属]
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4250597&bbs_page_no=1&search_mode=3&search_text=zxttgg&bbs_id=9999
-----------------------------------------------------------------------

都看过了!zxttgg 太强大了!原创看得让人热血沸腾,Orz~~~~
我51都是业余玩的,学的不是很好,呵呵

Ayumi123 发表于 2011-2-16 17:44:55

回复【6楼】zxttgg
播放效果:
http://v.youku.com/v_show/id_xmjazodcwntk2.html      
http://v.youku.com/v_show/id_xmjazodkwnzc2.html      
http://v.youku.com/v_show/id_xmjazodg3mdc2.html      [全金属]
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4250597&bbs_page_no=1&search_mode=3&search_text=zxttgg&bbs_id=9999
-----------------------------------------------------------------------
zxttgg的svi tool在我的XP上都跑不起来,不知道怎么回事。。。

hefanghua 发表于 2011-2-16 18:21:30

kmplayer是我用过最好的播放器,暴风影音倒是最烂的(从V5开始都发现挂马),mplayer以前用过,播放的时候屏幕比例经常不对,要求电脑性能不高也可以流畅,功能太少。LZ为什么不喜欢KMP呢?

svi tool软件是不是要.net framwork?WIN7上正常工作,只是界面太肉。

Ayumi123 发表于 2011-2-17 09:45:08

回复【12楼】hefanghua
kmplayer是我用过最好的播放器,暴风影音倒是最烂的(从v5开始都发现挂马),mplayer以前用过,播放的时候屏幕比例经常不对,要求电脑性能不高也可以流畅,功能太少。lz为什么不喜欢kmp呢?
svi tool软件是不是要.net framwork?win7上正常工作,只是界面太肉。

-----------------------------------------------------------------------

不喜欢KMP和喜欢mplayer都是因为带点个人感情_色彩 :D, 暴风影音真是很让人失望,不关注。
svi tool.....- -!!! 杯了个具,要能用的话不用那么麻烦了,我来试试

Ayumi123 发表于 2011-2-18 13:50:22

回复【12楼】hefanghua
-----------------------------------------------------------------------

.net frameword 4 也更并把了wmp11,svi tool还是不能用,可能需要vista|7了

litchiate 发表于 2011-2-18 14:39:00

原来还可以用cmd来合并文件了?

我还学了几天delhi编了个程序了.

SD读取速度慢就不要用文件系统了. 直接读扇区.读一个扇区填半个屏幕.

我之前用了PFF文件系统,越读越慢.

前天试的一块 7565控制芯片的12864,串行模式也能刷 30hz, 只不过液晶反应没那么快.

Ayumi123 发表于 2011-2-18 16:16:40

回复【15楼】litchiate草真多
-----------------------------------------------------------------------

嗯,CMD就可以做到了~~
那块液晶真是要气死我了,严重怀疑我那块12864的质量!非常闪,感觉刷新很慢,还用的是并口。--!
PFF的话,单片机的速度不够,STC加32.768M的晶振处理FS可能会好些。不想直接把BIN写入U盘,用起来不方便。

zxttgg 发表于 2011-2-24 01:37:12

可以把错误提示发给我吗?目前在xp电脑上运行正常

tmlee 发表于 2011-2-24 01:49:20

mark

Ayumi123 发表于 2011-2-26 23:04:48

回复【17楼】zxttgg
-----------------------------------------------------------------------

WMP不能播放,直接卡在了右上角,似乎没有什么错误提示

zxttgg 发表于 2011-2-27 08:38:26

回复【19楼】Ayumi123
-----------------------------------------------------------------------

那个demo影像也不能放吗? 必需要存在同目录下

huangdog 发表于 2011-2-27 11:13:29

jihao

up101 发表于 2011-2-27 11:45:42

好东西,我用word做过,嘿嘿,期待LZ上视频

Ayumi123 发表于 2011-3-4 08:52:30

回复【20楼】zxttgg
-----------------------------------------------------------------------

我再试下,

Ayumi123 发表于 2011-3-4 08:53:35

回复【22楼】up101
-----------------------------------------------------------------------

WORD,EXCEL之类在YOUKU上有看过类似的,满有意思的

zxttgg 发表于 2011-3-4 09:17:12

回复【24楼】Ayumi123
-----------------------------------------------------------------------

忘记看你文章了,如果采出来是黑屏,就关掉显卡的硬件加速即可

hj45103 发表于 2011-8-17 03:02:08

lz 用cmd命令合并BIN文件会不会有损
我1000多个文件和起来大小只有原来一半 播放不了

wsyangyang34 发表于 2011-8-27 15:44:43

mei kan dong

lucya 发表于 2011-9-14 21:48:42

mark

77695 发表于 2012-4-14 15:52:55

那sd卡是3v的吗?是的话是怎么处理的哈?

kira王子 发表于 2012-5-2 23:42:04

我的也做好了,感谢楼主!每秒7.8帧左右。地址在新浪博客上
多多捧场。欢迎加我微博 kira王子 交流

Volftooth 发表于 2012-5-2 23:43:39

这个我做过、
地址在这、、
http://v.youku.com/v_show/id_XMjc4ODc2NjY0.html

Volftooth 发表于 2012-5-2 23:45:33

实际效果还可以、手机录的效果就差点了、

ccw5ds 发表于 2012-5-21 10:10:14

直接copy * bin xx.bin图片会损坏,在copy后加/b就好了,谢谢楼主

ayumi8 发表于 2012-5-21 10:47:10

我的 12864 控制器是 ST7565的 串口通信方式不知道能不能做一直想做搞不定唉~~~~

ayumi8 发表于 2012-5-21 10:55:17

http://v.youku.com/v_show/id_XMTU0NTY5NzIw.html


.这个不错杀了很多苹果~~bad apple~没用到单片机哦

yezhiyan1121 发表于 2012-5-21 18:22:02

学习学习!

简翟 发表于 2012-6-3 13:43:24

好强大!!!

red_pig 发表于 2012-6-3 14:42:38

刚好前不久我也做了个,用的是KMPLAYER截取帧+MATLAB取模,stm32控制 http://www.ourdev.cn/thread-5478895-1-1.html

Syth 发表于 2013-2-18 15:08:09

MARK                {:handshake:}

sunocean 发表于 2013-11-26 15:57:33

hefanghua 发表于 2011-2-13 22:37
链接2里的读图片读成每秒3帧那个样子真的很无语,汇编可以帮助他提高显示速度。我用51可以达到每秒至少10帧 ...

MARK.............
页: [1]
查看完整版本: Bad Apple & 12864 制作