基于ffmpeg+sdl+opencv的windows控制台,字符串播放badapple

代码下载地址https://download.csdn.net/download/jackiewmt/10489386

作者:重大自动化一寸灰

环境为vs2013

最近毕业,搞完毕业设计闲着没事干,偶然在网上看到了有人用控制台字符串播放badapple,感觉很有意思,但是大部分人都在偷工减料的取巧,比如直接用opencv实现延迟播放视频,后期配声音,或者将所有的视频图片转化为字符保存为TXT,再设计好输出间隔之类的,作为一个完美主义者,当然受不了这种做法。好在博主以前了解过一点ffmpeg+sdl实同步视音频的现播放器,于是上网找了找相关代码(只会改,不会写),还真找到了,下载源码读了一下,暴力修改了源码ffmpeg版本过时的问题(真的很暴力),配置opencv到项目中,(博主的代码里直接包含了opencv+ffmpeg+sdl的环境,即使你没装,应该也能编译)。

整体思路就是在ffmpeg+sdl播放器里创建一个线程,根据播放器播放的图片流,用opencv将要显示的图片缩放,二值化,转化为对应的字符串,然后让控制台打印出来,一开始我是将每张图片都做了转化,回来发现不行,打印速度太慢,拖累播放器的视音频同步,后来就改了一下,两张图片转化打印一次,基本没问题了,为了保证在没有配置环境的电脑上也能编译,又改了很久。

下载解压后是这样的,


基于ffmpeg+sdl+opencv的windows控制台,字符串播放badapple_第1张图片ji

源码环境都在007文件夹里,这是第七个版本。

直接运行release下的EXE文件,就可以看到了,注意:如果运行正常,播放器正常,控制台显示不正常,有可能是你的控制台输出的字体太大了,调小一号,(此时把鼠标放在控制台窗口上边框,右键点击,单击属性,就可以看到字体了,这个是你的控制台输出的字体大小,本来我想直接写在代码里的,后来想想算了,一般不会有这个问题,有也很好改,就没添)

运行时会先弹出badapple的基本信息,按任意键继续,

如果一切正常运行结果如下:

基于ffmpeg+sdl+opencv的windows控制台,字符串播放badapple_第2张图片

按任意键继续,效果图如下

基于ffmpeg+sdl+opencv的windows控制台,字符串播放badapple_第3张图片

其实,因为整合了播放器,你可以转化任意视频,将代码改为键入视频名称就可以了,但是记得修改一下字符串种类,badapple本身就是黑白的,我只用了一个字符,对于其他视频,一个字符肯定是不够的,直接转化效果可能很差。

基于ffmpeg+sdl+opencv的windows控制台,字符串播放badapple_第4张图片

你可能感兴趣的:(基于ffmpeg+sdl+opencv的windows控制台,字符串播放badapple)